Hacking Challenge [cerrado]

1

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!

    
pregunta Ellon 04.02.2017 - 23:23
fuente

2 respuestas

1

hackmyfortress.com (compañía de seguridad francesa) ofrece el mismo desafío (exactamente todas las mismas vulnerabilidades que mencionó). La única diferencia es que si accede al archivo en la base de datos, no le recompensarán con 2 puntos miserables en su calificación, sino con 30 000 $. Tu maestro es un verdadero estafador por aprovecharse de sus estudiantes de esa manera;)

EDIT: aquí está el enlace al desafío de hackmyfortress: enlace

Ejemplo de cebo: enlace

    
respondido por el TryingHard 05.02.2017 - 02:59
fuente
0
  

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

Aquí está su solución ... si tiene acceso a / etc / shadow, entonces el servidor web se ejecuta como root y no se ha configurado para restringir el acceso a archivos fuera de la raíz del documento. Por ejemplo, si golpea el servidor en http://<address>/ , se presentará con index.html ; sin embargo, puede probar algo como http://<address>/../../etc/passwd y puede seguir agregando ../ hasta que lo encuentre. Una vez que obtenga el archivo, sabrá la ubicación relativa de la raíz del sistema de archivos ... esto le permitirá verificar otras cosas como:

  • http://<address>/../../root/.ssh/id_rsa
  • http://<address>/../../etc/mysql/my.cnf
respondido por el CaffeineAddiction 05.02.2017 - 07:49
fuente

Lea otras preguntas en las etiquetas