pdfpwn

Post-Exploitation

Минималистичный набор bash-скриптов для запуска C2-кампании силами Red Team с минимумом инструментов: разворачивает TLS-сервер для шифрования пейлоада на канале, генерирует пейлоад внутри PDF и на целевой машине разворачивает cron-задачу, которая забирает и разбирает пейлоад. Восстановлено из архива Software Heritage: оригинальный репозиторий был удалён автором с исходной площадки. Код сохранён и перенесён в наш Forgejo-миррор, чтобы инструмент не потерялся окончательно.

Добавлен 23.07.2026 · Обновлён 23.07.2026 · Post-Exploitation
Установка
git clone https://git.toolsofthetrade.qzz.io/recovered/pdfpwn.git
cd pdfpwn

# На атакующей машине (один раз):
./tlsserver.sh
./pdfgen.sh

# На целевой машине:
./pdfpwn.sh
переведено ИИ

pdfpwn

Назначение

Обеспечивает операторам Красной команды и пентестерам способ проведения C2-кампании с минимальным набором инструментов и взаимодействием, при максимальном обеспечении безопасности и операционной целостности.

Файлы

  • README.md - ...
  • tlsserver.sh - автоматизирует создание TLS-сервера для шифрования полезных нагрузок по сети
  • pdfgen.sh - создаёт полезную нагрузку, перемещает её на веб-сервер
  • pdfpwn.sh - создаёт крон-задачу, которая скачивает и обрабатывает полезную нагрузку

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

  • На Атакующем Компьютере
    • tlsserver.sh (одноразово)
    • pdfgen.sh
  • На Целевом Компьютере
    • pdfpwn.sh

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

tlsserver

  • обновляет пакеты
  • устанавливает пакет apache2
  • включает TLS на HTTP-сервере
  • перезагружает сервер

pdfgen

  • проверяет зависимости
  • принимает в качестве входных данных желаемое имя PDF и bash-команды
  • создаёт новый PDF с помощью convert с указанным именем
  • кодирует bash-команды в base64
  • заменяет метаданные ID на закодированные в base64 команды с помощью регулярного выражения

pdfpwn

  • проверяет зависимости
  • принимает URL для PDF в качестве входных данных
  • создаёт крон-задачу, которая выполняет следующее:
    • скачивает PDF, обновляя его, если он уже существует
    • вычисляет контрольную сумму md5 для PDF
    • запускает find для поиска файла (создаёт временную задержку между скачиванием и выполнением)
    • обрабатывает закодированные в base64 команды, декодирует и выполняет их
  • поскольку файл скачивается по указанной вами URL-адресу, чтобы изменить команды, выполняемые на целевом компьютере, просто используйте pdfgen для создания PDF с новыми командами и замените его на веб-сервере

Предоставление пользовательских PDF

скрипт pdfgen.sh проверяет текущий каталог на наличие файла с указанным вами именем; если он существует, использует его вместо создания нового. Если вы хотите предоставить PDF с содержимым, убедитесь, что нижние поля метаданных содержат поле ID в следующем формате (содержимое между угловыми скобками не имеет значения, но пробелы важны):

/ID [<ABCDEFGHIJKLMONPQRSTUVWXYZ> <ABCDEFGHIJKLMONPQRSTUVWXYZ>]

Пример

  1. запустите tlsserver на C2-сервере
  2. запустите pdfgen, создайте полезную нагрузку с именем 1.pdf
  3. получите доступ к цели, загрузите и запустите pdfpwn, предоставив ссылку на 1.pdf (https://yourdomain/1.pdf)
  4. цель скачает PDF, обработает и выполнит команды
  5. запустите pdfgen, создайте новую полезную нагрузку с именем 1.pdf и замените PDF на веб-сервере
  6. цель скачает новый PDF и выполнит новые команды
Комментарии
Войдите, чтобы оставить комментарий