Arpon - Vulnyx

Arpon - Vulnyx

Resolución de la maquina Arpon de Vulnyx

¿Hola?

other funny gifs - http://gifini.com/ | GIF TV | Funny gif, Funny dog  videos, Dog gifs

¿Que si tenemos un CTF?

- Pues claroooo

Boxing Punch GIF - Boxing Box Punch - Discover & Share GIFs | Minion gif,  Minions funny, Minion pictures

Ah pero antes, gracias al creador de esta maquina ManuelGRegal y a la comunidad de Vulnyx por hacer esto posible.

Sistema OperativoLinux 🐧
DificultadFácil
Lanzamiento15/05/2024
CreadorManuelGRegal
Primer Usuariosuraxddq
Primer Rootsuraxddq

Enumeración

Empecemos con un escaneo con nmap

Exploramos el servicio web...

Bueno, creo que esto no nos sirve de mucho.

Así que apliquemos un poco de fuzzing en busca de directorios o archivos.

Y obtenemos 2 rutas interesantes...

Tenemos un phpinfo, esta bien para obtener algo de información, y solo eso.

Mmmm GIFs | GIFDB.com

Continuemos con la otra ruta.

File Upload

Y aquí si tenemos algo mas interesante, intentemos subir un archivo malicioso que nos otorgue una shell reversa.

cp /usr/share/webshells/php/php-reverse-shell.php .

What's your go to meme or gif? - Water Cooler - Spiceworks Community

Ah buenooo, primero verifiquemos si funciona, subiremos un archivo .txt

echo "hola" > hola.txt

En efecto funciona, y por lo tanto no acepta archivos .php

Intentemos subir la shell.php pero con diferentes exenciones, las cuales, sigan interpretando como un código php, por ejemplo .php5 y .phtml son exenciones diferentes a .php, pero que siguen cumpliendo con el mismo objetivo.

Aquí tiene una lista de algunas de estas extensiones.

php
pht
phtm
phtml
phar
phpt
pgif
phps
phtml
php2
php3
php4
php5
php6
php7
php16
inc

Primero debemos interceptar la subida del archivo shell.php con burpsuite y mandarla al intruder, después seleccionamos los caracteres de deseamos intercambiar.

Y cargamos la lista de exenciones como payload.

Iniciamos el ataqueee.

Flaming Elmo Meme - Best GIF for Laughs

Observemos que algunas respuestas nos indican que el archivo se ha subido correctamente.

Por ejemplo que el shell.php5 se subió correctamente y eso es perfecto, pero, tenemos un dilema.

¿Donde se están guardando estos archivos?

Vamos aplicar algo de fuzzing bajo el directorio de /backup/

Visitamos la ruta...

Y en efecto esta vacía la carpeta, pero vamos a buscar un archivo que hallamos subido antes, por ejemplo el hola.txt

Y en efecto, aquí es donde se almacenan los archivos subidos, antes de consultar el archivo shell.php5 vamos a colocarnos en escucha con netcat.

nc -lnvp 1234

Consultamos...

Pero tenemos un error... Intentemos consultar otro archivo con otra extensión.

Por ejemplo el shell.phr

Y funciona 🙂, "ignora el error, este fue de la anterior respuesta del archivo shell.php5".

Meme Gif - IceGif

Escalada de privilegios

Primero enumere los usuarios del sistema.

Después me dispuse a explorar los archivos y directorios de /var/www/html y me tope con esto.

Así que lo consulte desde el navegador y lo descargue.

Descomprimimos el archivo...

Y tiene una contraseña... Pero, al ser un joven informático sabe usar Google, así que se dispone a usarlo.

Encuentra el siguiente articulo y se pone inspeccionarlo: How to Brute Force ZIP File Passwords in Python?

Después de comprender el código, lo toma prestado y lo usa.

import zipfile


def crack_password(password_list, obj):
    # tracking line no. at which password is found
    idx = 0

    # open file in read byte mode only as "rockyou.txt"
    # file contains some special characters and hence
    # UnicodeDecodeError will be generated
    with open(password_list, 'rb') as file:
        for line in file:
            for word in line.split():
                try:
                    idx += 1
                    obj.extractall(pwd=word)
                    print("Password found at line", idx)
                    print("Password is", word.decode())
                    return True
                except:
                    continue
    return False


password_list = "rockyou.txt"

zip_file = "gfg.zip"

# ZipFile object initialised
obj = zipfile.ZipFile(zip_file)

# count of number of words present in file
cnt = len(list(open(password_list, "rb")))

print("There are total", cnt,
    "number of passwords to test")

if crack_password(password_list, obj) == False:
    print("Password not found in this file")

Solo habrá que remplaza las siguientes variables.

password_list = "/usr/share/wordlists/rockyou.txt
zip_file = "backup_id.zip"

Por ultimo ejecuta el script.py

Vemos que la contraseña del archivo es swordfish, así que descomprime el archivo y observa que tiene un par de llaves ssh.

Así que se dispone a usarlas para el usuario calabrote

Y efecto funcionan.

Flaming Elmo Meme - Best GIF for Laughs

Explorando los permisos sudo, obtengo lo siguiente.

Así que me dispuse a buscar el binario en gtfobins.

Y en efecto podemos abusar de este, pero solo para leer archivos.

Me dispuse a intentar un par de cosas hacia al usuario root, pero nada con éxito, hasta que recordé la existía de otro usuario en el sistema, llamado foque

New trending GIF tagged realgm suspicious side eye… | Trending Gifs

¿Ahora, que archivos pueden existir por defecto en un usuario?

  • Llaves ssh

Pero no existe, otro archivo seria el .bash_history

Como puede observar, si podemos leer el archivo, pero no es del todo legible, aun que, si podemos ver que el usuario hizo uso del archivo script_net_backup.sh y que al parecer se encuentra el el directorio home del usuario foque, inspeccionemos...

Ah vemos que este script hace uso de la llave ssh del usuario foque, vamos a leer esa llave.

Excelente, ahora solo quitamos lo que no nos interesa.

cat id_rsa_foque | grep -v -e arp -e host | tr -d '>>' | sed 's/^[ \t]*//' | sed '$d'

El resultado del anterior output, lo guardamos y le damos permisos 600, y por su puesto hacemos uso de esta llave.

I Feel Fine The Beatles GIFs - Find & Share on GIPHY

Observando los grupos de este usuario me topo con esto.

Así que busco la manera de abusar de esto, con gtfobins.

Ah excelente probemos...

Eso fue todo, fue un placer y lo seguirá siendo. ¡Hasta luego!

Pin by Nancy on WHEN WE WAS FAB...... | Paul mccartney, Beatles photos, The  beatles


Referencias

  1. Arpon Walkthrough - Vulnyx

  2. File Upload - HackTricks

  3. Linux Privilege Escalation - johnermac

Did you find this article valuable?

Support BlackPist0l's Blog by becoming a sponsor. Any amount is appreciated!