Irked [EASY🟢]
Dificultad: Fácil
1- Reconocimiento y escaneo
1.1 Ping
1.1 PingPodemos notar que se trata de una maquina Linux, debido al TTL:
1.2 Nmap
1.2 NmapVemos que esta corriendo el puerto 22(OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)) correspondiente a un servidor SSH, el puerto 80(Apache httpd 2.4.10 ((Debian)) correspondiente a un servidor web y vemos que tambien corre un servidor IRC correpsondientes a lso puertos "6697, 8067 y 65534"
Vemos tambien que el sistema operativo Linux que se encuentra corriendo en la maquina objetivo es un Debian
1.3 whatweb
1.3 whatwebPara realizar el escaneo de tecnologías web, vamos a modificar el archivo hosts de la ruta "/etc/hosts" para que apunte al dominio "http://photobomb.htb/":
Editamos y quedaría asi:
De tal manera que cuando entramos al navegador, nos saldrá la siguiente pagina:

Ahora, vamos a realizar el escaneo de tecnologias web con "whatweb":
Vemos tecnologias como:
1.4 Fuzzing
1.4 FuzzingEn este caso el Fuzzing lo vamos a realizar con la herramienta "wfuzz" con el siguiente comando:
Ejecutamos:
Dentro del fuzzing, no encontramos nada relevante
2- Explotación
2.1 UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit Framework)
2.1 UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit Framework)Vamos a irnos a Metasploit Framework:
Y vamos a buscar exploits para el servicio "UnrealIRCd":
En este caso utilizaremos el exploit "exploit/unix/irc/unreal_ircd_3281_backdoor" para obtener un backdoor:
Ahora vamos a configurar los parametros necesarios para la ejecución del exploit:
(Por default el puerto viene definido como el 6667 en el exploit, en este caso la maquina corre el servidor IRC por el puerto 6697)
Ahora vamos utilizar un payload, en mi caso utilizare el payload "payload/cmd/unix/reverse" para obtener una shell reversa:
Y ahora configuraremos los parámetros del payload para su correcta funcionalidad:
(Recordar poner la IP de la VPN que nos asigna Hack The Box en la interfaz de red "tun0")
Ahora vamos a ejecutar el exploit:
Ya tendremos acceso con usuario a la maquina, ahora restaría obtener un prompt con el comando "shell"
(Ejecutar un comando luego de ejecutar el comando "shell")
2.2 Usuario djmardov
2.2 Usuario djmardovPara obtener la flag de usuario y de root, es necesario realizar la escalada de privilegios, de hecho el archivo "user.txt" se encuentra en la ruta "/home/djmardov/user.txt", pero no deja visualizarlo debido a la falta de permisos:
Ahora vamos a irnos al directorio "Documents" del usuario "djmardov":
Y listamos los directorios ocultos:
Vemos un archivo llamado ".backup", vamos a visualizarlo con cat:
Vemos una posible contraseña
2.3 Esteganografía con la contraseña obtenida
2.3 Esteganografía con la contraseña obtenidaAhora vamos a irnos a la pagina web de la maquina, donde podremos ver que hay una imagen, vamos a bajárnosla con el comando WGET, "wget http://irked.htb/irked.jpg":
Ahora vamos a utilizar la herramienta "steghide" para extraer todos los archivos e información que se encuentran dentro de la imagen "irked.jpg", utilizando el siguiente comando:
Esta herramienta no se encuentra instalada en Kali, para instalarla utilizamos el gestor de paquetes aptitude "sudo apt install steghide"
Ejecutamos el comando steghide:
Nos va a pedir que ingresemos una contraseña, que es la contraseña que habiamos obtenido anteriormente dentro del archivo ".backup", "UPupDOWNdownLRlrBAbaSSss", ingresamos la contraseña y listamos que nos extrajo de la imagen:
Nos extrajo un archivo de texto llamado "pass.txt", vamos a visualizarlo:
Nos da una contraseña, ahora vamos a logearnos por SSH con el usuario "djmardov" y la contraseña obtenida de la imagen:
2.4 Obtención de la flag de usuario
2.4 Obtención de la flag de usuarioY ahora podremos obtener la flag de usuario, que se encuentra dentro del mismo directorio personal del usuario "djmardov":
3- Escalado de privilegios
3.1 Archivos con permisos SUID
3.1 Archivos con permisos SUIDPara elevar privilegios, vamos a buscar archivo que contengan permisos SUID, basicamente realizar una busqueda de archivos que podamos ejecutar con el usuario "djmardov" como si fuesemos usuarios root, para eso utilizaremos el comando "find", de la siguiente manera:
(2>/dev/null para redirigir todos los errores al archivo /dev/null)
Ejecutamos:
Podremos ver un archivo raro llamado "/usr/bin/viewuser", vamos a ver los permisos que contiene este ejecutable:
Tenemos permisos de escritura, lectura y ejecución
Vamos a ejecutar el binario "viewuser":
Vemos que al script, le falta el archivo "listusers" dentro del directorio "/tmp", vamos a crearlo y a darle permisos totales(777), en mi caso el comando que le pondre al archivo "listusers" es:
Ahora vamos a crear el archivo "listusers" con el comando "echo" y vamos a visualizarlo:
Y vamos a darle permisos totales con el comando "chmod":
Y ahora vamos a ejecutar el binario de "viewuser" que encontramos con permisos SUID:
Ya somos usuarios root
3.2 Obtención de la flag root
3.2 Obtención de la flag rootLa flag de root se encuentra dentro del directorio /root/root.txt, vamos a visualizarla:
Con esto, concluimos la maquina "Irked" de Hack The Box
Espero te haya sido de ayuda este Write Up :)
Si tuviste alguna dificultad a la hora de resolverlo, no olvides contactarme en mis redes sociales
Última actualización
