Mostrando entradas con la etiqueta vulnhub. Mostrar todas las entradas
Mostrando entradas con la etiqueta vulnhub. Mostrar todas las entradas

martes, 6 de septiembre de 2016

Auditando a TheFrequency - Vulnhub (Parte II)




Buenos días a todos!

Después de un largo tiempo sin publicar entrada, y después de que varios de mis compañeros me lo pidieran, os traigo la segunda y última parte del CTF "TheFrequency". 

Como ya dije en la primera parte de Auditando a "TheFrequency" - Vulnhub (Parte I) , esta máquina es muy peculiar y divertida, ya que se basa en el arte de la esteganografía,

Retomamos el reto donde lo dejamos, ya habíamos conseguido las claves para acceder a los dos primeros niveles del reto. De aquí en adelante, no tiene mucho misterio, deberemos seguir el mismo proceso que en los niveles anteriores para ir consiguiendo las claves de los diferentes niveles.


NIVEL 3

Seguimos la misma metodología que para el nivel 2, donde utilizábamos el programa fldigi para analizar los distintos modos digitales de nuestro audio.
Cerca del minuto 30:35 , empezamos a percibir un sonido muy extraño, que resultó ser el modo: BPSK31,  por lo que configuramos de nuevo la herramienta y ejecutamos.

Al igual que en anteriores niveles, es muy importante que la franja roja que observamos en la siguiente imagen (justo entre el 500 y 1000), se sitúe justo en esa posición, para este audio en concreto.


Tras analizar todo el mensaje, hemos conseguido:
NIVEL 3: THE PASSWORD FOR LEVEL THREE IS Ph4z3Sh1ftK3y3d

Ya tenemos la tercera password, así que realizaremos el mismo procedimiento, nos conectaremos por SFTP, consiguiendo un nuevo fichero frequency.txt. Al abrirlo, contiene parte de la clave privada, no toda, por tanto pasamos al siguiente nivel.



Como habéis podido comprobar, el proceso es el mismo para todos los niveles, así que a continuación pondré una captura de cada uno de los niveles, junto al modo de audio utilizado y la contraseña obtenida, para no alargar mucho el post.


NIVEL 4
MODO UTILIZADO: MT63
NIVEL 4: THE PASSWORD FOR LEVEL FOUR IS MT63-2000



NIVEL 5
MODO UTILIZADO: RTTY
NIVEL 5: THE PASSWORD FOR LEVEL FIVE IS WATSONGRAPH1931




NIVEL 6
MODO UTILIZADO: THROB
NIVEL 6: THE PASSWORD FOR LEVEL SIX IS THROBONTHISKNOB




ACCESO A ROOT

En este punto, ya disponemos de las contraseñas de cada uno de los niveles, por lo que habremos obtenido un fichero "frecuency.txt" en cada nivel, con un fragmento de la clave privada.


Unimos los ficheros en uno solo, unificando así todos los fragmentos de la clave privada y le damos permisos de lectura y ejecución para podernos conectar por el protocolo ssh y con el usuario root.


Este es el resultado de la clave privada:


Intentamos conectarnos, y ...BINGO!!!!! ACCESO A ROOT CONSEGUIDO!!!
Una vez dentro, encontramos un fichero llamado flag.txt, que contiene un enlace a un video de youtbe. El video no es nada más y nada menos que Notorious Big feat Frank Sinatra.





Y con esto, damos por finalizada la auditoría a la máquina TheFrequency.
Os invito a todos a que realicéis este CTF ya que es muy divertido y no se parece en nada a ninguno de los retos que hemos visto anteriormente en este blog.

Espero que os haya gustado y hasta la próxima!



martes, 30 de agosto de 2016

La fraude fiscale des grandes sociétés

Buenas hackers! Y bienvenidos a otro CTF de Vulnhub

"Welcome to Droopy. This is a beginner's boot2root/CTF VM.
The VM is set to grab a DHCP lease on boot.
There's 2 hints I would offer you:
1.) Grab a copy of the rockyou wordlist.
2.) It's fun to read other people's email.
SHA1SUM: e6862fa5ebc9c2a8e582e77f440510062afe47ba droopyctf.ova
Special thanks and shout-outs go to Barrebas and Rasta_Mouse for testing, and g0tmi1k for advice and offering to host my first CTF."

Atención Spoiler!!

En este CTF veremos el uso de exploits locales gracias a searchsploit, las diferentes técnicas entre el uso de un script en Python, una shell escrita en PHP y nc, o el uso más automatizado de Metasploit.
La escalada de privilegios basada en el uso de un exploit local debido a la versión del Kernel. Recomiendo mucho esta página web para poder realizar escalada de privilegios en Linux básicos---> https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
Una vez obtenido un fichero en .tc nos indica que es TrueCrypt y que tendremos que obtener una password en texto plano para poder montar un volumen. El descifrado se usa Hashcat.


Un saludo, Naivenom

viernes, 19 de agosto de 2016

Tr0ll 1 trolleando a Fwhibbit

Buenas hackers! CTF de Vulnhub


Si queréis hacer el CTF, a partir de aquí os recomiendo que no leais nada, simplemente como guía si os veis atascados, como muchas veces me sucede ami cuando resuelvo un CTF, que necesito echarle un ojo jijiji


Atención Spoiler!!


Ejecutamos el netdiscover:

A continuacion usamos nmap, para descubrir las direcciones IP dentro de una subred:


Ahora ya descubierto la direccion IP en la misma red, realizamos un reconocimiento para ver que
puertos tiene abiertos y sus servicios.
Con la opción -sV permite ver la versión de los servicios, con -sS permite TCP SYN, con -A permite la deteción de OS, la versión, script scanning, y traceroute. Con -T4 indica el tiempo de envió de los paquetes, es decir desde 0-6, la más baja es la más lenta, y también mejor ya que podría evadir algunos firewall.



Al ejecutar con -A los scripts por defecto de nmap, como el http-enum.nse, hemos descubierto un archivo llamado robots.txt muy interesante.
Y como se puede apreciar tiene el puerto 21 FTP, con el login anonymous habilitado!!
EL 22 SSH
El 80 HTTP
Ahora con curl, realizamos una petición HTTP con la siguiente dirección del servidor:

Curl: Herramienta muy útil para hacer peticiones HTTP, que nos permite usar distintos protocolos
para dichas peticiones.
Introducimos la dirección del servidor en el navegador y WTF!!!

Usaremos nikto y el CLI de dirb:



También podemos usar wfuzz:


En robots.txt tenemos esto:

Hacemos Curl, y vemos que hay una imagen en la página HTML:


Vamos con el FTP:
Usaremos un auxiliar, para saber la versión aunque ya el Nmap nos lo pudo mostrar anteriormente


Conectamos mediante FTP, y antes de ver el archivo que existe, capturamos trafico para ver lo
vulnerable que es el servicio FTP, dandonos el user y pass en texto claro.


Analizamos a su vez el tráfico capturando paquetes con Wireshark:


Ahora abrimos el archivo lol.pcap:


Y vemos que existe un archivo .txt:


Y leemos su significado, dando a analizar y follow:


También podemos ver el acrhivo lol.pcap con strings:


Probamos el directorio que nos menciona el archivo,en el navegador:


Vemos que existe un binario en el servidor, nos lo descargamos con wget:


Damos permisos de ejecución al binario y ejecutamos:


Bien esta dirección nose en cuanto nos puede ayudar, pero ¿qué podría significar?
Probamos con file para ver el tipo de fichero y strings:


Nos devuelve algo más de información... Siendo una dirección de memoria podríamos usar gdb pero sin resultados positivos. Así que vamos hacer algo más sencillo poniendo esa dirección en el navegador:


Bien pues encontramos dos directorios en la cual podemos encontrar información valiosa, en uno de ellos encontramos un .txt donde contiene usernames, mientras que en el otro directorio tenemos las password.
Por tanto que mejor que descargarnos los archivos con wget y montarnos el diccionario, ya que esto es una vía de acceso en uno de los servicios ya sea ftp o ssh.


Con nano users.txt:


Nos descargamos el archivo pass y creamos el diccionario:


Si visualizas Pass.txt solo viene una linea en el archivo, "buen trabajo", por tanto nose esta maquina tengo la sensación de que me esta troleando jjj, leyendo algún walkthroughs, haré lo siguiente:



Usamos hydra para realizar un ataque de fuerza bruta:


Sin resultados....Probemos con el servicio SSH:


Y si esa era la pass.... :(
Por tanto, vamos a conectarnos por SSH al servidor:



Bien obtuvimos una shell, pero se me cerro la conexion THIS F*** MACHINE IS TROLLING ME?
Si estamos conectados cierto tiempo, nos cierra la conexión...
Bueno nos conectamos de nuevo, y vamos a ver los ficheros con permisos de escritura y redirijimos los errores a /dev/null:



Existe un fichero en Python donde tenemos permisos de escritura, lo visualizamos:



Este script lo que hace es borrar de forma recursiva todo lo contenido en /tmp
En esta carpeta es donde podemos siempre ejecutar algún exploit o scripts para poder realizar una escalada de privilegios.
Seguidamente nos dirijimos a var/log ya que es interesante ver el cron, debido a que quizás haya una tarea programada de ejecutar el script cleaner.py.
Antes veremos los permisos:


Tenemos permisos para escritura, lectura y ejecución con el usuario actual...
Visualizamos:


Efectivamente cada 2 minutos se ejecuta todos los dias este script. Coincide con el tiempo que se nos desconecta la conexión al servidor. Así que si editamos este script y en vez de que borre todo lo que existe en /tmp, copiamos lo que hay en /bin/sh a /tmp/sh y cambiamos a permisos de setuid y ejecutables para cualquier usuario, podremos ser root.


Bien una vez editado el script vamos a esperar a que se nos desconecte, para que el cron haga su trabajo ejecutando el cleaner.py. Nos logueamos y ejecutamos /tmp/sh


Ahora nos dirijimos a /root y alli esta la bandera!:


Espero que os sirva esta posible solución al CTF
Un saludo Naivenom

Google Analytics