PTF:模块化渗透测试框架,保持最新的工具集
- 发表于
- 安全工具
PTF模块化渗透测试框架
PenTesters Framework(PTF)是一个Python脚本,专为基于Debian / Ubuntu / ArchLinux的发行版而设计。
PTF可以安装所有渗透测试工具(最新和最好的),编译并构建它们,并使其能够在任何机器上安装/更新您的发行版。所有内容都以与渗透测试执行标准(PTES)相关的方式组织,并消除了许多难以使用的东西。PTF简化了安装和包装,为您创建了完整的pentest框架。由于这是一个框架,您可以根据需要进行配置和添加。我们通常会看到您可以使用的内部开发的repos以及此框架的一部分。全取决于你。
PTF安装
1 |
git clone https://github.com/trustedsec/ptf.git |
其中,配置文件是config/ptf.config
,通过键入./ptf
(或python ptf
)运行PTF 。键入help
或?
查看完整的命令列表。
PTF使用
使用视频:https://vimeo.com/137133837
更新全部
如果要安装和/或更新所有内容,只需执行以下操作:
1 2 3 |
./ptf use modules/install_update_all yes |
这将安装PTF内的所有工具。如果它们已经安装,则会自动迭代并更新所有内容。
您也可以单独安装每个模块,然后使用use modules / update_installed,它只会更新您之前安装的内容。
例如:
1 2 |
./ptf use modules/update_installed |
这只会更新您安装的先前版本。您还可以显示更改模块信息的选项。
如果您只想安装例如开发工具,则可以运行:
1 2 |
./ptf use modules/exploitation/install_update_all |
这只会安装开发模块。您可以为任何模块类别执行此操作。
自定义您自己安装的工具
您只能通过转到modules / custom_list / list.py部分来安装所需的工具。修改list.py文件并添加您只想安装或更新的工具。
然后在PTF中:
1 2 3 |
./ptf use modules/custom_list/list yes |
这允许您进行模块配置,仅安装所需的工具并使其保持更新。
模块:
首先,转到modules /目录,里面有基于Penetration Testing Execution Standard(PTES)阶段的子目录。进入这些阶段并查看不同的模块。只要添加一个新的,例如testing.py,它就会在您下次启动PTF时自动导入。查看必须完成的模块时,有几个关键组件。
下面是一个示例模块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
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命令的示例。
1 |
AFTER_COMMANDS="cp config/dict/rockyou.txt {INSTALL_LOCATION}" |
为此AFTER_COMMANDS
,自行安装(不需要用户交互)。
更多使用细节参考。
原文连接
的情况下转载,若非则不得使用我方内容。