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

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

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

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

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

Категории

Все категории
Loading categories
ptf — Penetration Testers Framework (PTF) — это способ модульной поддержки актуальных инструментов. | Kitploit
Инструменты/GitHubGitHub/trustedsec/ptf
Фреймворки для пентестаФреймворки для эксплойтовСкриптинг и автоматизацияУтилиты и фреймворки
GitHubtrustedsec/ptf

ptf

Penetration Testers Framework (PTF) — это способ модульной поддержки актуальных инструментов.

Репозиторий
5.6k1.3k71 год назадПроверено Kitploit

Популярное

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

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

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

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

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

The PenTesters Framework (PTF)

Проект TrustedSec — Copyright 2022

Автор: David Kennedy (@HackingDave)

https://www.trustedsec.com

Twitter: @TrustedSec, @HackingDave

The PenTesters Framework (PTF) — это скрипт на Python, разработанный для дистрибутивов на основе Debian/Ubuntu/ArchLinux, чтобы создать единообразную и привычную среду для пентестинга. Как пентестеры, мы привыкли к директориям /pentest/ или собственным наборам инструментов, которые хотим всегда поддерживать в актуальном состоянии. У нас есть «те самые» инструменты, которые мы используем регулярно, и важно иметь самые свежие версии.

PTF пытается установить все ваши инструменты для пентестинга (последние версии), скомпилировать их, собрать и сделать так, чтобы вы могли устанавливать/обновлять свой дистрибутив на любой машине. Всё организовано в соответствии со стандартом Penetration Testing Execution Standard (PTES) и исключает много редко используемого. PTF упрощает установку и упаковку, создавая для вас целый пентест-фреймворк. Поскольку это фреймворк, вы можете настраивать и добавлять то, что считаете нужным. Мы часто видим внутренние репозитории, которые также можно использовать в рамках этого фреймворка. Всё в ваших руках.

Конечная цель — поддержка сообщества в этом проекте. Мы хотим, чтобы новые инструменты добавлялись в репозиторий GitHub. Присылайте свои модули. Настроить и добавить их очень просто, это занимает всего несколько минут.

Установка

Для корректной работы PTF требуется python-pexpect.

Выполните следующую команду:

root@kitploit:~
pip install -r requirements.txt
./ptf

Инструкция

Сначала проверьте файл config/ptf.config, который содержит базовый каталог для установки всего. По умолчанию установка будет производиться в директорию /pentest. После настройки запустите PTF командой ./ptf (или python ptf).

Это запустит оболочку в стиле Metasploit с похожим внешним видом и поведением. Команды show modules, use <modules> и т.д. принимаются. Прежде всего, всегда набирайте help или ?, чтобы увидеть полный список команд.

Видеоруководство по использованию PTF доступно на нашем Vimeo: https://vimeo.com/137133837

Обновить ВСЁ!

Если вы хотите установить и/или обновить всё, просто выполните:

root@kitploit:~
./ptf
use modules/install_update_all
yes

Это установит все инструменты внутри PTF. Если они уже установлены, скрипт пройдётся по ним и автоматически обновит всё.

Вы также можете устанавливать модули по отдельности, а затем использовать команду use modules/update_installed, которая обновит только то, что вы уже установили.

Например:

root@kitploit:~
./ptf
use modules/update_installed

Это обновит только ранее установленные модули.

Вы также можете использовать show options для просмотра информации о модулях.

Если вы хотите установить только, например, инструменты для эксплуатации, выполните:

root@kitploit:~
./ptf
use modules/exploitation/install_update_all

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

Настройка собственного набора инструментов

Вы можете установить только нужные вам инструменты, отредактировав файл modules/custom_list/list.txt. Измените list.txt и добавьте только те инструменты, которые хотите установить или обновить.

Пример файла list.txt:

modules/exploitation/metasploit modules/post-exploitation/unicorn

Затем в PTF:

root@kitploit:~
./ptf
use modules/custom_list/list
yes

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

Можно также просто указать модуль без категории:

root@kitploit:~
./ptf
use trevorc2
yes

Модули

Сначала перейдите в директорию modules/, внутри неё есть поддиректории, соответствующие фазам PTES. Зайдите в эти фазы и посмотрите различные модули. Как только вы добавите новый модуль, например testing.py, он автоматически импортируется при следующем запуске PTF. При разработке модуля необходимо заполнить несколько ключевых полей.

Ниже приведён пример модуля:

root@kitploit:~
AUTHOR="David Kennedy (ReL1K)"

DESCRIPTION="Этот модуль установит/обновит Browser Exploitation Framework (BeEF)"

INSTALL_TYPE="GIT"

REPOSITORY_LOCATION="https://github.com/beefproject/beef"

X64_LOCATION="https://github.com/something_thats_x64_instead_of_x86

INSTALL_LOCATION="beef"

DEBIAN="ruby1.9.3,sqlite3,ruby-sqlite3"

ARCHLINUX = "arch-module,etc"

BYPASS_UPDATE="NO"

AFTER_COMMANDS="cd {INSTALL_LOCATION},ruby install-beef"

LAUNCHER="beef"

TOOL_DEPEND="modules/exploitation/metasploit"

Разработка модулей

Все поля довольно просты. В полях расположения репозитория можно использовать GIT, SVN FILE или TAGS. Укажите зависимости и каталог установки. PTF возьмёт расположение Python-файла (например, exploitation) и переместит его в то, что вы указали в конфиге PTF (находится в config). По умолчанию все инструменты устанавливаются в /pentest/PTES_PHASE/TOOL_FOLDER.

Обратите внимание: в модулях можно указывать after команды с {INSTALL_LOCATION}. Это подставит путь установки при выполнении after команд.

Также можно использовать {PTF_LOCATION}, который будет указывать на базовый путь установки PTF.

Вы также можете указать отдельные расположения для 32-битной и 64-битной версий. REPOSITORY_LOCATION всегда должен содержать путь для x86. Чтобы добавить 64-битный путь для инструмента, укажите X64_LOCATION и дайте URL. При запуске PTF автоматически определит архитектуру и попытается использовать x64 ссылку вместо x86.

Обратите внимание, что пакеты ArchLinux также поддерживаются. В модуле нужно указать и DEBIAN, и ARCH, чтобы инструмент корректно устанавливался на обеих платформах.

При использовании режима TAGS вы сможете использовать проект GitHub, который использует теги для получения последней версии (обычно скомпилированные приложения), и автоматически загружать их. Чтобы использовать метод TAGS, посмотрите структуру модуля modules/intelligence-gathering/teamfiltration.py. В этом примере не требуется repository_location, но вам нужно знать владельца проекта, название проекта/репозитория и имя файла для загрузки. В примере TeamFiltration он находится по адресу: https://github.com/Flangvik/TeamFiltration. Владелец — Flangvik, проект/инструмент — TeamFiltration. Если перейти на страницу релизов: https://github.com/Flangvik/TeamFiltration/releases/, то видно, что имя файла для загрузки — "TeamFiltration_Linux". Эти параметры указываются в OWNER, REPOHOME и FILENAME. Указав их, PTF автоматически определит последний релиз инструмента и установит его.

Поддержка GitLab

Вы можете создавать свои модули; PTF также поддерживает доступ к GitLab. Вместо указания git, wget и т.п., просто укажите gitlab и укажите свой внутренний GitLab для модулей.

BYPASS UPDATES (Пропуск обновлений)

При использовании традиционного git или svn в качестве основного метода после установки модуля PTF просто загружает последнюю версию инструмента. При использовании after команд обычно необходимо запускать их после каждого обновления. Если вы укажете BYPASS_UPDATE="YES", то при каждом запуске инструмента будет проверяться последняя версия и after команды всё равно будут выполняться. Если установлено NO, будет выполнен только git pull последней версии. Для режима FILE рекомендуется всегда использовать BYPASS_UPDATE="YES", чтобы файлы перезаписывались каждый раз.

After Commands (Команды после установки)

After commands — это команды, которые можно выполнить после установки. Например, перейти в директорию и запустить дополнительные команды для завершения установки. В сценарии BEEF необходимо после установки выполнить ruby install-beef. Ниже пример after команд с использованием флага {INSTALL_LOCATION}:

root@kitploit:~
AFTER_COMMANDS="cp config/dict/rockyou.txt {INSTALL_LOCATION}"

Для AFTER_COMMANDS, которые выполняют самостоятельную установку (не требующую взаимодействия с пользователем).

Автоматические лаунчеры

Флаг LAUNCHER= в модулях необязателен. Если добавить LAUNCHER="setoolkit", PTF автоматически создаст лаунчер для инструмента в /usr/local/bin/. В примере с setoolkit при запуске PTF автоматически создаст файл /usr/local/bin/setoolkit, чтобы вы могли запускать SET откуда угодно, просто набрав setoolkit. Все файлы по-прежнему будут устанавливаться в соответствующие категории, например /pentest/exploitation/setoolkit, но будет создан автоматический лаунчер.

Для одного приложения можно создать несколько лаунчеров. Например, для Metasploit могут понадобиться msfconsole, msfvenom и т.д. Чтобы добавить несколько лаунчеров, укажите их через запятую: LAUNCHER="msfconsole,msfvenom". Будут созданы лаунчеры для обоих.

Автоматическая командная строка

Можно просто выполнить ./ptf --update-all, и PTF автоматически обновит всё, без необходимости входить в фреймворк.

Запуск без взаимодействия

Если вы запускаете ptf в автоматической сборке, можно использовать heredoc, чтобы не вводить модули вручную. Пример:

root@kitploit:~
./ptf <<EOF
use modules/exploitation/metasploit
run
use modules/password-recovery/johntheripper
run
EOF

TOOL DEPENDS (Зависимости инструментов)

Некоторые инструменты, такие как Veil, SET и др., требуют предварительной установки других инструментов, например Metasploit Framework. Вы можете указать в модуле TOOL_DEPEND="modules/exploitation/metasploit,module/exploitation/set" и другие инструменты, если перед установкой данного инструмента требуется установка другого. Это заставит PTF сначала установить необходимый инструмент, а затем модуль, который от него зависит. Пример:

TOOL_DEPEND="modules/exploitation/metasploit"

Сначала будет установлен Metasploit (или проверено, что он уже установлен), а затем приложение.

Игнорирование модулей или категорий

Параметр конфигурации IGNORE_THESE_MODULES= находится в файле config/ptf.config в корневой директории PTF. Он позволяет игнорировать модули и не устанавливать их. Значения разделяются запятыми и указываются по имени, например: modules/exploitation/metasploit,modules/exploitation/set или целые категории модулей, например /modules/code-audit/*,/modules/reporting/*

Игнорирование модулей при массовом обновлении/установке

Параметр IGNORE_UPDATE_ALL_MODULES= находится в файле config/ptf.config в корневой директории PTF. Он позволяет игнорировать модули только при выполнении install_update_all (когда вы хотите установить все инструменты). Это может быть полезно для больших приложений, требующих значительного времени, взаимодействия с пользователем или открывающих много портов и протоколов в системе. Работает аналогично IGNORE_THESE_MODULES, но такие модули можно устанавливать и обновлять вручную через modules/update_installed. Значения разделяются запятыми, например modules/exploitation/tool1,modules/exploitation/tool2. При запуске install_update_all эти инструменты не будут установлены, если только вы не перейдёте к use modules/exploitation/tool1 и не установите их таким способом.

INCLUDE_ONLY_THESE_MODULES (Включить только эти модули)

Параметр INCLUDE_ONLY_THESE_MODULES в файле config/ptf.config позволяет установить и включить только указанные модули. Это удобно для создания базового набора инструментов и установки только их.

ЗАПУСК PTF БЕЗ БАННЕРА

Вы можете запустить PTF без баннера. Для этого укажите:

root@kitploit:~
./ptf --no-banner

или

./ptf -nb

ПРОВЕРКА УСТАНОВЛЕННЫХ ПРОГРАММ ЧЕРЕЗ PTF

Вы можете проверить, какие приложения уже установлены через PTF, набрав:

root@kitploit:~
ptf>show installed
Скачать инструмент