Cyber
TryHackMe
TryHackMe
  • crack the hash
  • Juice Shop
  • MrRobot CTF
  • Ninja Skills
  • Basic Pen Testing
  • bank_ctf
  • blaster
  • OWASP TOP 10
  • eternalblue
  • ice
  • easypeasy
  • pentesting completo
  • kenobi
  • Overpass
  • OWASP ZAP
  • Post Explotacion
  • Relevant
  • RootCTF
  • Stealth
  • Uso de SILK
  • Wreath
  • Clocky
  • Wifi Hacking 101
  • SQLMap
  • Kitty
  • Opacity
  • Bricks Heist
  • Carnage
  • Snort
  • Daily Bugle
  • Creative
  • CyberLens
  • Insecure Deserialisation
Powered by GitBook
On this page

easypeasy

PreviousiceNextpentesting completo

Last updated 1 year ago

ROOM: EASY PEASY

INDICE

TAREA I

TAREA II

CONCLUSION

BIBLIOGRAFIA

TAREA I

¿Cuántos puertos tiene abiertos la maquina?

R: En este caso , tiene 3 puertos abiertos. Hay que tener cuidado por que si le haces un nmpa + ip de forma estándar solo te mostrara 1 puerto abierto. Por lo que es necesario ejecutarlo con los argumentos que se muestran en la captura.

De los 3 puertos , uno es el del http y los otros dos son puertos poco conocidos.

¿Cuál es la versión del nginx?

R: Pues como podemos ver en la captura la versión del nginx es la 1.16.1

¿Qué esta corriendo en el puerto mas alto?

R: Un servidor apache 2.4.43

TAREA II

Usando gobuster encuentra la flag 1 :

Lo primero que haremos será utilizar el gobuster para ver directorios ocultos con el comando :

Como podemos ver nos muestra un directorio llamado /hidden , asi que vamos a acceder para ver que nos muestra:

Simplemente nos muestra una imagen , y tras revisar el código fuente tampoco vemos nada raro.

Asi que nuestro siguiente paso será lanzar gobuster dentro del directorio hidden a ver si hay algo mas:

Aquí vemos que dentro hay otro directorio llamado /whatever , veamos que hay dentro:

Vemos otra imagen muy bonita a la vez que sin ningún valor. Pero si esta vez miramos dentro de su código fuente:

Podemos ver que hay una especie de mensaje encriptado.

Tras probar con varios métodos de encriptación , vemos que es un mensaje encriptado en base64 y que el mensaje resultante es nuestra primera bandera.

R: flag{f1rs7_fl4g}

Enumera la segunda bandera (flag 2)

Para esta segunda bandera , volvemos a nuestro gobuster aunque esta vez atacaremos al puerto en el que esta corriendo el apache:

Gobuster dir –u http://ip_objetivo:puerto_objetivo –w /usr/share/wordlist/dirb/common.txt

(cabe comentar el uso de este wordlist , que encontré buscando información de diferentes wordlist. Esta wordlist esta dentro del directorio dirb que se utiliza para escaneos de webs y que tendre bastante presente cuando tenga que hacer escaneo de una web.)

Tras el escaneo llama la atención un archivo llamado robots.txt.

Que si accedemos a el vemos que esta hablando referente a algo de una flag , puede que nuestra segunda flag. Y vemos una especie de mensaje cifrado:

Una vez tenemos dicho mensaje cifrado que parece un hash , le pasamos la herramienta hash-identifier , cuya existencia no tenia ni idea antes de la practica , y que nos dice que tipo de hash puede ser:

Tras pasar el programa parece que tenemos un hash md5.

Si lo desencriptamos mediante alguna web de traducción de hashes md5 obtenemos nuestra segunda flag:

R: flag{1m_s3c0nd_fl4g}

Crackea el hash y obtén el flag 3 y obtén el directorio oculto

Para esta ultima flag vamos primero a la pagina principal de nuestro apache y miramos su código fuente:

Y encontramos la 3 flag , aunque parece encriptada.

Mirando dentro del mismo código vemos un mensaje raro :

“Its encoded with ba…”

“Esta encriptado con ba…”

Tras buscar información de formas de encriptado que comenzasen con ba , llegamos al base62.

Y tras probar en un encoder online llegamos a nuestra ultima flag.

R: flag{/n0th1ng3ls3m4tt3r}

Mediante el archivo adjunto crackea el hash

Si accedemos al directorio oculto vemos una imagen al estilo matrix , pero poco mas. Si inspeccionamos el codigo fuente podemos ver el hash de la tarea.

Si desencriptamos con md5 vemos nuestra siguiente flag:

R: mypasswordforthatjob

Encuentra la contraseña para la conexión ssh

Lo primero que haremos será descargarnos la imagen.

Una vez descargada instalaremos en nuestra maquina una herramienta llamada steghide que extrae la informacion adjunta dentro de una imagen:

Mediante el comando info sobre la imagen podemos ver que tiene embebido un archivo llamado secrettext.txt:

Pero para poder visualizarlo nos hace falta una contraseña. Esta contraseña es la que encontramos en el apartado anterior “mypasswordforthatjob”.

Tras extraer el txt y visualizarlo podemos ver como nos dan un usuario y contraseña.

Aunque la contraseña parece que viene en formato binario

Si convertimos el código binario a texto tenemos nuestra siguiente flag que parece ser la contraseña utilizada para la conexión ssh. Asi que ya tenemos todo lo necesario para nuestra conexión SSH:

Usuario(boring)@ip_objetivo

R: Contraseña: iconvertedmypasswordtobinary

Encuentra la flag de user y de root

Una vez tenemos todos los ingredientes accedemos por ssh a la maquina , teniendo en cuenta que tras nuestro escaneo nmap , sabemos que el puerto donde esta corriendo el ssh es el 6498:

Una vez dentro de la maquina , mientras investigamos los diferentes directorios vemos como en el /home hay un archivo interesante:

Al hacer un cat al archivo podemos ver lo que parece nuestra flag de usuario aunque parece un poco cambiada , y una pista:

“Esta girada o algo”

Eso de que esta girada me recordó a la practica que hicimos del algoritmo cesar , asi que tras irnos a una web de desencriptado ROD , y probar los diferentes desplazamientos:

Encontramos la flag del usuario.

R: flag{n0wits33msn0rm4l}

Encontrado el usuario , nos falta root. La verdad que esta parte me llevo bastante tiempo de averiguar y mientras miraba la descripción de la room lei algo relacionado con crontab. Investigando vi que el comando crontab se almacena en /etc/crontab:

Y vemos un archivo llamado mysecretcronjob.sh en el directorio /var/www/

Tras irnos al directorio y hacer un cat del job vemos como nos da una pista diciéndonos que se ejecutara como root:

Y ahora viene la magia por que lo que haremos será primero de todo abrir un netcat en nuestra maquina para que escuche en el puerto 9876 que será donde mandemos nuestra Shell con permisos de root:

Una vez hecho esto nos iremos a la maquina objetivo y dentro del job de crontab añadiremos una línea que lo que hace es abrir un Shell , pero además de eso le especificamos la ip de nuestra maquina y el puerto al que debe mandarlo:

Y tras unos segundos podemos ver como en nuestra maquina se abre un Shell de Linux con permisos de root:

Una vez hecho esto solo nos falta encontrar el root.txt y mostrarlo para encontrar nuestra ultima flag.

R: flag{63a9f0ea7bb98050796b649e85481845}

Este flag es también un hash md5 que al desencriptarlo significa “root”

CONCLUSION

Esta practica si que me ha enseñado un monton de cosas nuevas , como diferentes tipos de encriptación que no conocía. La herramienta steghide para extraer archivos embebidos dentro de una imagen. El uso de diferentes wordlist.Tambien el poder enviar un Shell a través de código a nuestra maquina simplemente añadiéndolo a un servicio con permisos de root , cosa que antes no tenia ni idea. Asi que en general practica bastante completa e interesante que me vendrá bien en un futuro.

BIBLIOGRAFIA

gobuster dir –u –w wordlist.txt

http://ip_objetivo
https://www.csirt.gob.cl/media/2021/09/Comando-de-la-semana-18-DIRB.pdf
https://www.redeszone.net/tutoriales/servidores/cron-crontab-linux-programar-tareas/
https://esgeeks.com/steghide-guia-de-uso/
https://md5decrypt.net/en/
Easy Peasy wallpaper created by graFF | | CSGOWallpapers.com