portada

Hola a todos, para el artículo de esta semana os tengo preparada la guía de una máquina disponible en vulnhub, Nully Cybersecurity CTF. En esta máquina veremos gran parte del procedimiento de pentesting, lo que os permitirá ir practicando en estos ámbitos de la ciberseguridad. Lo primero es localizar a nuestro objetivo en la red. 

A continuación, comprobar los servicios que están funcionando en la máquina con un análisis de puertos y fingerprinting.

Después, explorar los servicios de forma manual para contemplar su contenido es algo bastante sencillo.

  Las reglas son sencillas, primero. Ignorar los puertos 80, 8000 y 9000. Contamos con unas credenciales para poder iniciar sesión en el servidor de correo y poder comenzar el reto de capture the flag (CTF)

Ya tenemos el primer reto, tenemos que obtener la contraseña de usuario de Bob, teniendo en cuenta el contenido de su contraseña es probable que su contraseña se contemple en algún diccionario.

Obtenidas las credenciales ahora se pueden utilizar en diferentes tipos de servicios online (SSH en el puerto 2222, POP3 en el 110…)

Bien, se dispone de acceso al servidor de correo electrónico con la cuenta de usuario bob, haciendo recopilación de información sobre el sistema se puede observar que algo no cuadra.

La dirección IP no se corresponde con el rango con el que se trabaja, un buen indicio de que se trata de un contenedor virtual.

Pero lo más indispensable es primero escalar privilegios en dicho contenedor. Con suerte el procedimiento es sencillo gracias a una configuración del fichero sudoers del sistema Linux.

La ruta del fichero además dispone de permisos de escritura para el usuario bob, lo que permite modificar el funcionamiento legitimo e incrustar código malicioso.

Simplemente ejecutando sudo para ejecutar el script con dicho usuario abre una conexión remota con dichas credenciales en nuestra máquina de pentesting, y por ende pasamos de bob a my2user.

Y de nuevo, la mala política y gestión de sudoers con binarios que contienen la posibilidad de ejecutar comandos en la máquina, en este caso, zip.

El binario de Linux zip contiene un parámetro que permite la ejecución de comandos, lo que permitiría escalar por fin a privilegios de usuario root.

​ En el mismo proceso de comprensión del fichero algo.txt al fichero 1.zip se ejecuta un intérprete de comandos de Linux y por fin se obtiene acceso al usuario root.

Ahora se necesita acceder al servidor de aplicaciones web, afortunadamente, el servidor de correo electrónico dispone de la instalación de nmap, lo que permite escanear el rango de red con el que trabaja, además de los puertos y servicios que operan. La cuenta de usuario actual de root permite trabajar sin restricciones con nmap.

Al parecer la única que carga una aplicación web diferente a la vista en el primer punto es la que dispone de la dirección IP 172.17.0.2

Por lo tanto, simplemente se intentará crear un port forwarding para abordar dicho servicio HTTP de forma más directa. Como la máquina no dispone de iptables para la función se lanza Metasploit para poder obtener una sesión remota y usar su herramienta de portfwd que realiza esa tarea de port forwarding.

Simplemente ejecutando dicho comando en la sesión actual de root se puede crear una sesión remota de meterpreter.

Creado dicho port forwarding ahora se puede acceder a la aplicación web que funciona en la dirección IP 172.17.0.2.

De esta forma se puede seguir auditando el servidor de la aplicación web tras haber completado el servidor de correo. Pero esto lo veremos en el próximo post, no os lo perdáis.

¡Un saludo!