Enero 18, 2018, 12:30:02 am

Autor Tema: Resolviendo el CTF: RickdiculouslyEasy: 1 @ VulnHub.com  (Leído 2457 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Confused

  • Me das tu IP?
  • *
  • Mensajes: 65
    • Ver Perfil
    • http://insecuritynotes.blogspot.com
Resolviendo el CTF: RickdiculouslyEasy: 1 @ VulnHub.com
« en: Noviembre 03, 2017, 06:21:14 am »
Buenas a modo de aporte, dejo este posteo que realice en mi blog sobre un CTF que hice paso a paso para resolverlo.
Ojala sea de utilidad.

You are not allowed to view links. Register or Login  - Mi blog You are not allowed to view links. Register or Login
Link de referencia del CTF: You are not allowed to view links. Register or Login

Let's GO!



Se procede a escanear el host vulnerable, en mi caso siguiente IP: 192.168.0.93.
$> nmap -p 1-65535 -T4 -A -v 192.168.0.93

El resultado arroja datos interesantes, posee los siguientes puertos abiertos:



Procedo a testear cada puerto en busca de informacion util.. empiezo con el vsftpd en el puerto 21, utilizando Filezilla, como no tengo ninguna credencial, simplemente conecto y veo que loguea como Anonymous..



Si entro al directorio /pub/, veo que no hay nada, y que no tengo permisos tampoco para crear archivos. Me queda verificar el otro archivo interesante llamado "FLAG.txt":

FLAG{Whoa this is unexpected} - 10 Points

Ok, ya tenemos 10 puntos de 130.
Mmm... esto me recuerda a "You are not allowed to view links. Register or Login"

Conecto al puerto 22 con netcat y me encuentro con lo siguiente:



Es raro porque el CTF corre en un fedora, sin embargo nos arroja un banner de "Ubuntu 14.04", sin dudas hay algo que no anda bien ahi.. sigo investigando.

Abro el browser y conecto al site que tiene en el puerto 80, una imagen de fondo y el codigo fuente no parece arrojar mucho contenido:



Verifico con el browser el puerto 9090; el cual segun nmap nos habla de un 'Cockpit web service', para interiorizarme un poco mas encuentro la siguiente url: You are not allowed to view links. Register or Login. La cual nos explica que es una app web que provee una facil administracion para servers linux, principalmente desarrollada para Fedora pero que pueden ser usadas en otras distros tambien.

Sin embargo, en esa web vemos que poseemos un LOGIN correcto con su respectivo campo de USERNAME y PASSWORD, cosa que no vemos en el host vulnerable. Como sea, obtenemos 10 puntos mas segun la frase del index "FLAG {THERE IS NO ZEUS, IN YOUR FACE!} - 10 POINTS":



Ok continuamos.. el siguiente puerto raro es el 13337:



Bien, conseguimos 10 puntos mas.. ya llevo "30 puntos" de 130. Sigo..

De momento el puerto 22222 donde parece haber un servidor SSH no me es interesante, solo de momento, y procedo a conectar al siguiente y ultimo puerto el 60000:



Wow.. parece ser una reverse shell.. publica???. Investigo y me permite alistar archivos y encontrar un flag mas, ahora tenemos 40 puntos de 130:


# ls -lah
FLAG.txt
# cat FLAG.txt


FLAG{Flip the pickle Morty!} - 10 Points

Sin embargo, no puedo hacer mucho mas, que decepcion..

Voy a enfocarme en el sitio web a ver si puedo encontrar algo. Realizo un escaneo simple con Nikto y me arroja lo siguiente:



Veo que existe el archivo "robots.txt".. suelo darle prioridad siempre a eso, luego prosigo con lo demás en el orden correspondiente. Este archivo suele darme una idea, de que cosas el administrador quiere que los bots, personas, etc, encuentren y que no.



Bien se pone interesante, si me dirijo a root_shell.cgi, no puedo hacer mucho, ademas del mensaje en el codigo fuente gracioso, luego el directorio en general cgi-bin no me permite ver el contenido.
Lo único que permite hacer algo es el "tracertool.cgi".. que como dice su nombre, parece ser una herramienta tracert.



Bien por lo que veo el funcionamiento no es mas que una simple llamada a "traceroute" por ejemplo:


$> traceroute google.com


Se me viene a la mente de poder lograr hacer command injection, es un simple ataque en el que se busca como objetivo ejecutar codigo arbitrario remotamente sobre el sistema operativo host via una app vulnerable como en este caso puede ser el form del trace.

Se podría romper de varias maneras la instrucción pero con un simple ";" creo que bastaría seguido de un pwd:



Bien, vamos a intentar cat'ear el passwd:


;cat /etc/passwd


Y obtenemos la respuesta de un grafico ASCII lo que parece ser un gato.. so.. algo anda mal, voy a probar verificar con otro archivo, intento un $> cat /bin/bash y me arroja nuevamente el gato.
Por ende, creo entender que pasa, el /usr/bin/cat fue modificado... para que siempre que se use, termine arrojando el gatito.. vamos a probar otro comando, podria ser HEAD, o MORE.

Voy a sacarme la duda y hago un MORE /usr/bin/cat a ver que pasa:



Bingo, como deduje el binario 'cat' fue modificado.. ahora sabemos que el MORE funciona bien. Probamos nuevamente con ;more /etc/passwd:



Ok, obtuvimos el password que estaba oculto en el html como comentario. No tengo otra mejor idea que probar este password con los 3 usuarios que encontramos anteriormente en el sistema:


  • shad0w@SHRC-GOV:~$ ssh You are not allowed to view links. Register or Login -p 22222
    The authenticity of host '[192.168.0.93]:22222 ([192.168.0.93]:22222)' can't be established.
    ECDSA key fingerprint is SHA256:rP4CX/V9xNZay9srIUBRq2BFQTnmxUO9cs1F3E9yzg0.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '[192.168.0.93]:22222' (ECDSA) to the list of known hosts.
    You are not allowed to view links. Register or Login's password:
    Permission denied, please try again.


No tuve suerte con RickSanchez, tampoco con Morty, sin embargo....Summer funciono:



Ok, alisto los archivos y veo el FLAG.txt:


  • [Summer@localhost ~]$ ls -lah
    total 20K
    drwx------. 2 Summer Summer  99 sep 15 11:49 .
    drwxr-xr-x. 5 root   root    52 ago 18 18:20 ..
    -rw-------. 1 Summer Summer   1 sep 15 11:51 .bash_history
    -rw-r--r--. 1 Summer Summer  18 may 30 14:53 .bash_logout
    -rw-r--r--. 1 Summer Summer 193 may 30 14:53 .bash_profile
    -rw-r--r--. 1 Summer Summer 231 may 30 14:53 .bashrc
    -rw-rw-r--. 1 Summer Summer  48 ago 22 02:46 FLAG.txt
    [Summer@localhost ~]$ more FLAG.txt

FLAG{Get off the high road Summer!} - 10 Points

Ahi tenemos 10 puntos mas y ya vamos 50 puntos de 130. Aprovecho ir a /var/www/html/passwords/FLAG.txt que anteriormente no habia ido y se me paso por alto para obtener 10 puntos mas. Ahora tenemos 60 de 130 puntos.

Investigo por los diferentes /home/ y veo que en el de /home/Morty hay dos files interesantes:


  • [Summer@localhost Morty]$ ls
    journal.txt.zip  Safe_Password.jpg

El journal.txt.zip esta comprimido con clave. El archivo Safe_Password.jpg parece tener algun tipo de pista con ese nombre.. por ende trato de descargarlo para analizarlo mejor localmente..

Lo descargo via SSH con el SCP de la siguiente manera:


  • shad0w@SHRC-GOV:~$ scp -P 22222 Summer@192.168.0.93:/home/Morty/Safe_Password.jpg /home/shad0w/Escritorio/


Trato de extraer cadenas del archivo a modo investigación manual y me encuentro con lo siguiente:



Bingo, parece que tenemos un posible password.. trato de descargar el archivo comprimido y luego procedo a extraerlo:



Genial, 20 puntos mas.. 80 de 130 tenemos. Y prestamos atencion al mensaje del FLAG que nos da una pista, 131333.

Sigo investigando y me voy a la carpeta de RickSanchez/, me encuentro un file llamado SAFE, parece ser un binario, si embargo como muestro en la imagen al estar con el usuario Summer y verificar los permisos del archivo Safe, no me permitiría ejecutarlo ya que no tiene permisos:



Bien lo que se me ocurre es copiarlo a alguna carpeta en la que podamos ejecutarlo, y nos pertenezca.
Podriamos probar en /home/Summer o el clasico y viejo amigo /tmp.. de momento lo hice en /home/Summer, luego lo ejecute sin argumentos el cual recibo una pista, y recuerdo el numero de flag que me habia dado anteriormente junto al mensaje, era: 131333. Pruebo nuevamente ejecutando safe y el numero se lo paso como argumento, recibo lo siguiente:



Recibimos 20 puntos mas, obteniendo 100 puntos de 130. El mensaje deja algunas pistas como las de no olvidar como crear un script para generar passwords, que sigamos esas pistas en orden.. 1 uppercase y 1 digito.. mmmm algo tendre que romper je je. Como ultima pista nos dice que la palabra tiene como relacion su antigua banda.

Como no soy seguidor sinceramente de esta serie, busco en google por ayuda.. con un simple search con palabras clave como "rick sanchez+old band", el primer resultado me informa que la banda de Rick Sanchez era:



Bien, tenemos el nombre de la banda "The Flesh Curtains". Y el mensaje anterior nos dijo que hagamos las cosas en ORDEN, por ende la password estaría compuesta de la siguiente manera según las pistas dadas: 1 UPPERCASE + 1 DIGIT + 1 PALABRA DE SU ANTIGUA BANDA (Flesh o Curtains, como el THE es un articulo, trato de no probarlo, en caso de que falle lo incluyo mas adelante nuevamente).

Podría hacerlo de varios modos el diccionario, pero voy a codear algo simple en python.



Una vez se me genera el diccionario uso un programa como THC HYDRA para atacar el SSH.



Y luego de unos minutos de ataque por fuerza bruta el diccionario funciono:



Bingooooo... bien, de que sirve esto?, conectarnos por SSH como RickSanchez, con una pista del flag anterior que decía "Sudo is wheely good".. que me esta queriendo decir? que RickSanchez pertenece al grupo sudoers?. Como me doy cuenta si un usuario en Linux tiene permisos sudo? fácil, con $> sudo -l, a continuación pongo la diferencia a la izquierda logueado con RickSanchez y a la derecha con Summer... ambos tipeando sudo -l:



Confirmamos que RickSanchez pertenece a SUDOERS y puede ejecutar lo que se le de la gana. Hacemos un simple "sudo su" y somos root. Nos vamos a la carpeta /root/ y vemos el FLAG.txt. Obtenemos el ultimo flag y los 30 puntos que nos llevan a 130. CTF RESUELTO!! :D

# shad0wCNFS
# You are not allowed to view links. Register or Login
ÇonfusedMind You are not allowed to view links. Register or Login
WWEgbG8gZGVjaWEgQWxiZXJ0LCBubyB0ZW5nbyB0YWxlbnRvcyBlc3BlY2lhbGVzLCBwZXJvIHPt
IHNveSBwcm9mdW5kYW1lbnRlIGN1cmlvc28uLiBMbyBpbXBvcnRhbnRlIGVzIG5vIGRlamFyIGRl
IGhhY2Vyc2UgcHJlZ3VudGFzLg==

Desconectado Solid Water

  • Yo vivo en CPH
  • ***
  • Mensajes: 1072
  • Sexo: Masculino
  • Vuelvan Hackers!
    • Ver Perfil
Re:Resolviendo el CTF: RickdiculouslyEasy: 1 @ VulnHub.com
« Respuesta #1 en: Noviembre 10, 2017, 08:25:04 pm »
A mi me es útil, gracias, buen post.

Saludos,

Not for the money, not for the fame. Not for the power, just no more games.

Desconectado Wattanut

  • Me das tu IP?
  • *
  • Mensajes: 2
    • Ver Perfil
Re:Resolviendo el CTF: RickdiculouslyEasy: 1 @ VulnHub.com
« Respuesta #2 en: Noviembre 12, 2017, 10:25:07 pm »
¿Qué es?
Enséñame


xx
Resolviendo el Rubik de 2x2.

Iniciado por you_know

11 Respuestas
1567 Vistas
Último mensaje Junio 09, 2009, 01:02:35 pm
por .xAk.
exclamation
Resolviendo Crackme Avoidance25

Iniciado por jep

0 Respuestas
2133 Vistas
Último mensaje Julio 02, 2010, 08:26:15 am
por jep
exclamation
Tutorial Resolviendo Crackme PeterPunk

Iniciado por jep

4 Respuestas
2811 Vistas
Último mensaje Abril 26, 2010, 08:19:27 am
por Nicholas_gb
xx
[Turorial] Resolviendo CrackMe by Myguestp

Iniciado por cibergolen

1 Respuestas
1315 Vistas
Último mensaje Agosto 08, 2010, 03:01:24 pm
por jep
xx
[Tutorial] Resolviendo CrackMe V1 Barrte

Iniciado por cibergolen

0 Respuestas
4509 Vistas
Último mensaje Marzo 11, 2011, 01:16:52 pm
por cibergolen
exclamation
[Tutorial] Resolviendo Keygenme #1 beBoss

Iniciado por cibergolen

1 Respuestas
1405 Vistas
Último mensaje Enero 25, 2011, 06:37:50 am
por jep
resuelto
[Tutorial] Resolviendo PE-LOCK M4rtyr

Iniciado por cibergolen

9 Respuestas
1546 Vistas
Último mensaje Octubre 07, 2011, 09:13:47 am
por .xAk.
exclamation
[Tutorial] Resolviendo CrackMe V1 By NTC0394

Iniciado por Sthefano02

16 Respuestas
7155 Vistas
Último mensaje Agosto 12, 2010, 06:36:45 pm
por Sthefano02
xx
[Tutorial] Resolviendo IceGold KeygenMe #1

Iniciado por cibergolen

0 Respuestas
1451 Vistas
Último mensaje Febrero 26, 2011, 11:03:14 am
por cibergolen
xx
[1/10 Tutorial] Resolviendo crackme Linux CM1ENG

Iniciado por cibergolen

0 Respuestas
1082 Vistas
Último mensaje Marzo 14, 2013, 12:49:09 pm
por cibergolen