Nuestros profesores universitarios nos han dado un desafío y aumentarán cada grado de los estudiantes en 2 puntos si incluso uno de nosotros tiene éxito.
El desafío : han construido un sitio web utilizando tecnologías modernas (HTML5 / JavaScript) y "todo lo que tenemos que hacer es acceder a la base de datos que está detrás y recuperar un archivo en ella". .
Aquí está cómo empecé :
- Analizó el código fuente de cada página web accesible del sitio
- Se buscaron directorios comunes interesantes (/ admin, / phpmyadmin, / mysql ...) y se descubrió que solo "/ admin" no redirigía a una página 404.
- Probé las combinaciones usuales de nombre de usuario / contraseña en "/ admin" pero no funcionó.
- Se intentó inyectar SQL haciendo
test' or 1=1 --
y aparece el siguiente mensaje de error
Tienes un error en tu sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de 'test \' o 1 = 1 - 'en la línea 13
- Notó un comentario HTML de un comando PHP como este en la página de inicio una vez que se conectó:
<?php $_hidden = ['/administrator', '/action.php', '/upload.php', '/config']; ?>
Por lo tanto, busqué más detalles en estas páginas y ninguno de ellos redirige, por lo que parecía que estaba en el buen camino:
- / administrator no es lo mismo que / admin
- /action.php simplemente imprime un mensaje "no se ha especificado ninguna acción"
- /upload.php simplemente imprime un formulario para seleccionar un archivo y cargarlo (puede ser un reclamo ya que se redirige a sí mismo y tenemos que agregar el argumento "? send=" manualmente a la URL para ver el mensaje " ¡Gracias! Ahora puede abrir su archivo. "Pero no sabemos dónde ...)
- / config es una página en blanco pero su código fuente contiene algunas cosas extrañas (una declaración php que no está en un comentario HTML y que aún aparece debido a un error XML anterior en el código):
<?php //config file define("admin_url", "c54370ec2966cd4f319f12d26f89a0f3a851891029b88326906abc6934463a2b"); ?>
Traté de descifrar lo que significaba esta cosa al hacer todo tipo de HexTo ... ¡pero no devolvió nada en absoluto! Raro ...
En este momento, decidí proceder de manera diferente: instalo Kali Linux en mi máquina y uso sus herramientas integradas para encontrar vulnerabilidades .
- nmap mostró que el servidor en el que se encuentra el sitio web tiene casi todos los puertos cerrados:
- estos servicios se filtran: ssh , domain , microsoft-ds , mysql
- estos servicios están abiertos: enlace , tcpwrapped , imaps? , pop3s?
- Vega reveló un "problema crítico": el acceso a / etc / passwd y / etc / shadow de la máquina , aquí están los usuarios y sus contraseñas con hash
/etc/passwd
root:x:0:0:root:/root:/bin/bash
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
mysql:x:498:499:MySQL server:/var/lib/mysql:/bin/bash
adrien:x:1000:1000:,,,:/home/adrien:/bin/bash
marcus:x:1001:1001:,,,:/home/marcus:/bin/bash
neo:x:1002:1002:,,,:/home/neo:/bin/bash
morpheus:x:1003:1003:,,,:/home/morpheus:/bin/bash
trinity:x:1004:1004:,,,:/home/trinity:/bin/bash
mario:x:1005:1005:,,,:/home/mario:/bin/bash
/etc/shadow
root:$9$PijavijY12jvzn13auuva123nuizPOLakdiajC.plaBHbdhaOKsj/Plauscgfte/1N8nb/OKujcbyze913ndalka.:15716:0:99999:7:::
sshd:*:15716:0:99999:7:::
mysql:$6$ojeeijnYHAEFOkasA1CbyAna5oiZEOIJ4ZE.Yuhafk12caok138HjcaknBYCoaezf/Ojazyhva1E3EHiqsjaIJE.Pkjs.:16934:0:99999:7:::
adrien:$9$Biyaldj12jualojzef12.paljsgYUHnokfbAYkjqs912bhuca12ndlau12byPLiaz/LjqCVcZnuePlayr12lcja09.NUaa.:16934:0:99999:7:::
Marcus:$5$laUYECvnidvjuzv.PLvazebyusikciojez12uidvhijcbzaTGDZAj/LPauhvz12NYXHQSAjsga8U3jxa.Jpzz.:16934:0:99999:7:::
Neo:$7$IuzefjoOKOIEFH.JAEyuekvnurpofjrzoij7nu.uefjze18423nu1368/LiazjCEjJzejapluvzebNU.Azed.:16934:0:99999:7:::
Morpheus:$5$OKazhe123Enizdolxahd.huvzjPAuvzrnAEkqjfzebu12nE8ndfn8skhid/iejv13nudscvarvnuiNEZo123nuiqdc.Pmoo.:16934:0:99999:7:::
Trinity:$5$DAiuvzjhadiujqdhs.DHaehezJjiuzhuiEABhusddsoiefnuiFZNIqlk/Ijgzeioj12nuivzej342nuiczPLiznuirefa.Apll.:16934:0:99999:7:::
Mario:$5$IhihejNUEFJoqisjfbzeyvzdskjZNfj8fezh13njidncojfe.sqfnvriZujfzejjh12nicd8123njiJUdjcskvzNCIRZje/uhvzACQhjfds.Qsqs.:16934:0:99999:7:::
Pensé, esto es lo que debería hacer ahora :
- Averigüe qué ocultan estos hashes para al menos un usuario que utiliza el programa "John the Ripper"
- Conéctate con sus credenciales usando ssh
- Acceda a la base de datos de esta manera
Después de hacer esto puedo decir que estoy atascado. John no puede descifrarlo aparentemente porque se cifraron con un algoritmo que no utiliza ...
¿Tienes alguna sugerencia para seguir?
¡Gracias por leerme y ayudarme!