Skullnet Dockerlabs (Difícil)
Instalación
Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip skullnet.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_deploy.sh skullnet.tarInfo:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.25.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarlaPor lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Si nos vamos a la URL para ver la pagina web, veremos que esta bajo un dominio llamado skullnet.es por lo que nos lo pondremos en nuestro archivo hosts para que nos lo resuelva.
Lo guardamos y si recargamos la pagina, ahora si la veremos bien, pero poco hay en la pagina, por lo que fuzzearemos un poco.
Dirsearch
Info:
Herramienta Git
No pasaremos el git mediante una herramienta.
Una vez clonado, nos vamos a la siguiente ubicacion.
Hecho esto clonaremos todo el repositorio de la web, en la carpeta actual llamada git_skullnet.
Si investigamos en la misma vemos un HEAD con un hash, por lo que volcaremos esa informacion con la siguiente herramienta.
Info:
Nos da bastante informacion de varias cosas, por lo que vemos hay un archivo llamado authentication.txt que fue eliminado, por lo que lo recuperaremos.
Info:
Ahora veremos el primero commit que se hizo con ese hash.
Info:
Y ahi veremos las verdaderas credenciales.
Y ahora recuperaremos el .pcap que nos mostro antes, de la siguiente forma.
Esto nos creara el .pcap con la informacion por lo que lo habriremos con wireshark.
Y dentro del entorno grafico de wireshark veremos que la IP del cliente se esta conectando por ssh haciendo un portnocking de 3 puertos en concreto 1000, 12000 y 5000 ya que estamos viendo que la misma IP tocar 3 puertos por lo que deducimos que hay que hacer la tecnica dicha anteriormente, por lo que utilizaremos la herramienta knockd para tocar ese puerto y que se habra el ssh.
Knockd
Si hacemos eso, veremos que se nos habra abierto puerto del SSH, lo miraremos haciendo lo siguiente.
Info:
Por lo que ahora nos conectaremos con las credenciales que obtuvimos anteriormente.
SSH
Y metemos la contraseña +%7nj^g!DQxp]a>c4v&0 que obtuvimso anteriormente, por lo que ya estariamos dentro de la maquina.
user.txt (flag1)
Privilege Escalation
Si nos vamos a la siguiente ubicacion /var/www/skullnet.es/ veremos un archivo llamado skullnet_api.py y si lo leemos, veremos lo siguiente.
Y luego viendo los procesos de los puertos que se estan corriendo.
Info:
Por lo que podremos hacer lo siguiente.
Vemos que hay una API Key codificada en Base64 y si la decodificamos sera lo siguiente.
Por lo que ahora podremos autenticarnos de la siguiente forma, si queremos listar los archivos de la carpeta de root lo haremos de la siguiente forma ya que lo esta ejecutando root.
Info:
Como veremos funciona, por lo que cambiaremos los permisos de la bash para ser root, pero solo nos deja hacer ls o whoami, por lo que concatenaremos comandos para poder ejecutar lo que queramos.
Si primero hacemos ese whoami y despues leemos el passwd veremos que funciona, siempre codificandolo con URL Code.
Info:
Ahora haremos lo de cambiar permisos en la bash.
Y si vemos los permisos de la bash.
Info:
Veremos que funciono por lo que solo tendremos que hacer lo siguiente para ser root.
Y ya seremos root, por lo que leeremos la flag.
root.txt (flag2)
Last updated