STAPLER CTF

Bruuuuuuutal!, estos días he finalizado uno de los CTF’s que más me han gustado, el llamado Stapler de Vulnhub, realizado por el mismísimo G0tmik el creador del utlísimo así como famoso blog de privilege escalation en sistemas Linux. Este CTF es nivel básico y nos irá fenomenal para ir adquiriendo experiencia.. Sin más preludios empezamos la explotación! 😀

Recursos y software utilizado:

Kali Linux

Hydra

VM Stapler Vulnhub

Guía de explotación:

Empezamos con el escaneo típico con Nmap opciones -sV (servicios) y -sC (scripts), observamos detenidamente que puertos y servicios estan en funcionamiento en el sistema. Vemos que en el puerto 138 está corriento el servicio netbios-ssn nos apoyamos en la guía de stealthhackroom y  empezamos a enumerar para ver que nos encontramos.

NMAPescaneo.pngsmbscriptsNMAP.png

Utilizamos el comando smblookup para listar los directorios de los correspondientes usuarios del servicio netbios, observando la carpeta RED(20) que es la que nos interesa:

smblistingusersdirectorys.png

Procedemos a listar tambien las subcarpetas del usuario RED obteniendo estas:

listamosusuarioREDsmbPASSROOT.png

Como podemos ver hay una carpeta de usuario llamada kathy la cual es un poco sospechosa, nos dirigiremos a esta para ver su contenido:

usuariokathyycarpetas.png

Nos dirigimos a amba carpetas y vemos el contenido y posteriormente tambien lo descargamos mediante el comando get.

En la carpeta kathy_stuff hay un archivo llamado todo-list.txt, el cual nos dirige a la carpeta backup dónde encontramos un fichero muy importante que es la configuración del servicio FTP, el cual abriéndolo y leyendo el codigo se puede observar que permite logarse mediante el usuario:anonymous password:anonymous, también vemos que hay un comprimido de WordPress que por el momento no le prestaremos atención.

kathystufftodolisttxt.pngcdbackupgetvdftpconfftpanonymous.pnganonymousftp.PNG

Siguiendo con las pistas recibidas nos dirigiremos al servidor FTP y logaremos con el usuario:anonymous password:anonymous.

conectamosftpanonymousbannerusuarioHarry.png

Vemos que nos recibe con un banner de un usuario llamado Harry y que en el interior encontramos un fichero llamado note.txt el cual nos descargamos mediante el comando get y abrimos en nuestra máquina atacante para ver el contenido.

notetxtftpanonymousUSERELLY.pngcontenidonote.PNG

Leyendo el contenido del artículo se puede deducir que el siguiente paso sería logarnos al servidor FTP de la usuaria kelly de la cual solo tenemos su nombre y nos hace falta el password, aquí la verdad que estuve bastante tiempo para saber la contraseña ya que hice fuerza bruta con Hydra con varias listas y resulta que el password era simplemente invertir el nombre:

hydracrackELLYPASSWORD.png

El siguiente paso será logarnos con la usuaria kelly en su servidor FTP.

ellyFTPconnection.png

Parece ser que el servidor ftp nos dirige a la carpeta raíz de elly y de ella mediante el comando get nos descargaremos el fichero passwd y de el extraeremos todos los usuarios mediante el comando cat | awk y lo guardaremos en el fichero allusers.txt para posteriormente con hydra realizar fuerza bruta y intentar conseguir las contraseñas SSH de los usuarios para intentar obtener acceso:

getpasswdfromELllyFTP.pngsacamossololosusuariosdelficheropasscomando.pngbruteforcewithalluserstxtSSH.png

Encontramos el usuario:Shayslett password:Shayslett por lo cual logaremos mediante SSH y enumeraremos en busca de información para continuar con la explotación. Conectamos al SSH mediante el comando ssh Shayslett@192.168.56.100 y pondremos la contraseña Shayslett.

Una vez logados listaremos en la carpeta /home/ a ver si encontramos algo que nos sirva:

vercarpetausuarios.png

Obtenemos una pista super importante en el usuario Peter un archivo llamado .sudo_as_admin_successful que lo que nos viene a decir es que este usuario puede ejecutar comandos como sudo y nos permitiría abusar de estos permisos para escalar a root, pero primeramente necesitaríamos el password de Peter para logar con el.

carpetainteresantepeter.png

Este tramo fue el que más me costó.. Estuve enumerando todas las carpetas de usuario manualmente y en una de ellas, concretamente en la del usuario Jkanode en el archivo .bash_history, (de obligada visualización si es posible y los permisos nos lo permiten) encontramos el usuario peter junto con su contraseña SSH la cual utilizaremos para logarnos.

carpetaJKanodesshpasssuyoydePETERdespuesdelargabusquedausuarios.png

Conectamos mediante ssh y el usuario Peter:

logamosconpeterysupass.png

Utilizamos el comando sudo -l para ver que comandos podemos ejecutar con el usuario peter:

sudomenosLpuedeejecutarcualquiercomando.png

Vemos que podemos utilizar cualquier comando (ALL : ALL) ALL, por lo tanto mediante el sudo -i logaremos como root.. Para más información sobre privilege escalation en Unix/Linux teneís el blog de g0tm1k.

sudomenosiROOT.png

Nos dirigiremos a su carpeta /root/, listaremos su contenido y abriremos el archivo flag.txt para finalizar con el CTF:

cdrootlistadoarchivosvemoscattxt.png

FLAGTXT.png

 

Con esto ya hemos finalizado otro walkthrought, espero que os haya gustado y recordad de no parar de practicar!, un saludo a tod@s!!

Deja un comentario