System

Fase de reconocimiento
Realizamos un escaneo de nmap para ver ante que puertos abiertos nos enfrentamos, y podemos ver que está el puerto 22 (SSH) y 80 (HTTP) abierto:

Fase de intrusión
Interceptamos la solicitud de su pagina web y vemos que está haciendo una solicitud a "/magic.php" (El único archivo, ya que he hecho un ataque de fuzzing y solo encontré ese), y asà de primera vista es un archivo XML, me sugiere que quizas funcionaria un XXE (XML External Entity Injection):

Vemos que el XXE funciona, asà que le voy a proporcionar una serie de payloads a traves del intruder, es el archivo de LFI de la Seclist, exactamente el "LFI-gracefulsecurity-linux.txt":


Encuentro el archivo de ssh, lo cual me llama la atención ya que podria inciar sesión al ssh si consigo la private key:

Rebuscando un poco por internet, me entero de que la /id_rsa tendra que estar a dentro del usuario, haciendo eso mismo, consigo listar la id_rsa de david, el usuario previamente encontrado mediante el /etc/passwd, peeeero... :

Nos pide contraseña tristemente, probando con otras wordlists, he cambiado a wfuzz porque sino tardarÃa mucho:

Dentro de .viminfo encuentro lo siguiente:

Menudo BOMBON de licor, no? Hago un curl para variar a el archivo que he encontrado que supuestamente tiene la password:

Escalada de privilegios
Usamos el id_rsa de antes con la password obtenida y accedemos a el sistema

Navegando un poco, me voy al directorio "/opt" y encuentro el siguiente script en python. Y al parecer lo que está haciendo es leer la primera lineal de código de cmd.txt (el cual no existe, asà que supongo que lo tendré que crear) y luego escribe un archivo en "/tmp/suid.txt":

Pero no tenemos permisos para ejecutarlo PERO, importe pspy64 abriéndome un server y haciendo un wget y podemos ver que se ejecuta de manera cronológica el script en python previamente enseñada

Nos creamos un archivo en la ruta "/home/david" de nombre cmd.txt, esperamos que se ejecute y en teoria ya tendriamos que poder ejecutar la bash con permisos de root. Pero no funciona, asi que importo linpeas para ver que más podrÃa hacer y me doy cuenta que podriamos editar el os.py, ya que lo ejecuta en el script. Asà que me dispongo a ello:

Me pongo a la escucha con netcat y me espero a que me llegue la solicitud y ya estarÃa, habria obtenido permisos de root:

Last updated