PTF:模块化渗透测试框架,保持最新的工具集

PTF模块化渗透测试框架

PenTesters Framework(PTF)是一个Python脚本,专为基于Debian / Ubuntu / ArchLinux的发行版而设计。

PTF:模块化渗透测试框架,保持最新的工具集

PTF可以安装所有渗透测试工具(最新和最好的),编译并构建它们,并使其能够在任何机器上安装/更新您的发行版。所有内容都以与渗透测试执行标准(PTES)相关的方式组织,并消除了许多难以使用的东西。PTF简化了安装和包装,为您创建了完整的pentest框架。由于这是一个框架,您可以根据需要进行配置和添加。我们通常会看到您可以使用的内部开发的repos以及此框架的一部分。全取决于你。

PTF安装

git clone https://github.com/trustedsec/ptf.git

其中,配置文件是config/ptf.config,通过键入./ptf(或python ptf)运行PTF 。键入help?查看完整的命令列表。

PTF使用

使用视频:https://vimeo.com/137133837

更新全部

如果要安装和/或更新所有内容,只需执行以下操作:

./ptf
use modules/install_update_all
yes

这将安装PTF内的所有工具。如果它们已经安装,则会自动迭代并更新所有内容。

您也可以单独安装每个模块,然后使用use modules / update_installed,它只会更新您之前安装的内容。

例如:

./ptf
use modules/update_installed

这只会更新您安装的先前版本。您还可以显示更改模块信息的选项。

如果您只想安装例如开发工具,则可以运行:

./ptf
use modules/exploitation/install_update_all

这只会安装开发模块。您可以为任何模块类别执行此操作。

自定义您自己安装的工具

您只能通过转到modules / custom_list / list.py部分来安装所需的工具。修改list.py文件并添加您只想安装或更新的工具。

然后在PTF中:

./ptf
use modules/custom_list/list
yes

这允许您进行模块配置,仅安装所需的工具并使其保持更新。

模块:

首先,转到modules /目录,里面有基于Penetration Testing Execution Standard(PTES)阶段的子目录。进入这些阶段并查看不同的模块。只要添加一个新的,例如testing.py,它就会在您下次启动PTF时自动导入。查看必须完成的模块时,有几个关键组件。

下面是一个示例模块

AUTHOR="David Kennedy (ReL1K)"

DESCRIPTION="This module will install/update the 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。填写依赖项,以及您希望安装位置的位置。PTF将占用python文件所在的位置(例如利用)并将其移动到您在PTF配置(位于config下)中指定的内容。默认情况下,它会安装您的所有工具/pentest/PTES_PHASE/TOOL_FOLDER

注意在模块中,您可以在命令后指定{INSTALL_LOCATION}。这将添加到您希望在使用after命令后安装位置的位置。

您还可以指定{PTF_LOCATION}哪个将拉动PTF安装的基本路径。

您还可以使存储库位置指定32位和64位位置。存储库位置应始终是x86下载路径。要为工具添加64位路径,请指定X64_LOCATION并为其指定URL。当PTF启动时,它将自动检测架构并尝试使用x64链接而不是x86。

请注意,也支持ArchLinux软件包,需要为DEBIAN和ARCH指定它,以便在模块的任一平台上正确安装

GITLAB支持

您可以创建自己的模块,也支持gitlab访问。而不是指定git,wget等,只需指定gitlab并指向您自己的内部gitlab工具来获取模块。

BYPASS更新:

当使用传统的git或svn作为主要方法时,安装模块后会发生什么,它只会去抓取最新版本的工具。使用after命令后,通常在安装时,您可能需要在每次更新后运行after命令。如果指定旁路更新为YES(BYPASS_UPDATE="YES"),则每次运行该工具时,它将检出最新版本并仍然在命令之后运行。如果将其标记为no,则只会git拉出最新版本的系统。对于FILE选项,建议始终使用,BYPASS_UPDATE="YES"以便每次都覆盖文件。

命令后:

命令之后是可以在安装后插入的命令。这可以切换到目录并启动其他命令来完成安装。例如,在BEEF场景中,您需要在之后运行ruby install-beef。下面是使用该{INSTALL_LOCATION}标志的after命令的示例。

AFTER_COMMANDS="cp config/dict/rockyou.txt {INSTALL_LOCATION}"

为此AFTER_COMMANDS,自行安装(不需要用户交互)。

更多使用细节参考