PentestDB
1 介绍
本项目用于提供渗透测试的辅助工具资源文件
1.1 辅助工具
提供轻量级的易扩展的工具,可以快速编写exploit、添加漏洞验证/扫描规则、添加指纹规则、爆破规则等;包含以下功能:
1.2 资源文件
各种渗透测试常用的资源文件,包括各种爆破字典exploitwebshell攻击payload等
clone到本地
PentestDB支持Windows/Linux/MacOS,需使用python 2.6.x 或 2.7.x运行
2 解决Lxml依赖
项目中的脚本文件依赖于lxml
linux系统一般默认安装lxml,如果没有可通过以下方式安装:
windows可通过以下方式安装lxml:
到这里找到对应系统的安装包,下载到本地
安装安装包,pip install package.whl
2.1 解决nmap依赖
项目中的C段扫描依赖于nmap扫描器
到这里下载nmap相应版本
在windows下需要设置环境变量,让系统能够找到nmap.exe。
3 使用
3.1 常用脚本
项目中的python脚本提供用有用的渗透辅助功能,根目录下的pen.py为脚本入口,另外script目录下也有其他一些脚本。
3.1.1 Exploit系统
pen.py的exploit子命令提供了exploit模块相关操作,exploit模块是一个轻量级的exploit框架,可以编写各种web漏洞的exploit:
exploit保存在项目根目录下的exploit目录下
例如:
注:有关exploit模块的详细信息请参考exploit/readme.md
3.1.2 服务端应用识别
pen.py的service子命令提供了服务端应用识别的功能,能够识别服务器信息,包括:
例如:
3.1.3 社工密码字典生成
pen.py的password子命令提供了根据社工信息生成密码字典的功能,能够设置不同关键字生成密码字典
该模块可通过以下要素组合生成密码:
例如:
3.1.4 URI敏感文件爆破
pen.py的uribrute子命令提供了URI敏感文件爆破,URI爆破字典生成的功能
例如:
3.1.5 Google Hacking功能
pen.py的search子命令提供了Google Hacking的功能,目前支持以下搜索引擎:
例如:
3.1.6 子域名爆破
pen.py的domain子命令提供了子域名爆破功能:
该模块使用3种技术进行子域名爆破:
注:支持输出到html文件,使用*-o xxx.html*做为输出文件即可
例如:
3.1.7 C段扫描
pen.py的subnet子命令提供了C段扫描功能。
注:支持输出到html文件,使用*-o xxx.html*做为输出文件即可
例如:
3.1.8 编码
pen.py的encode子命令提供了编码的功能
编码方式*-t/--type*支持:
url url-all hex decimal unicode unicode-all md5 sha base64 base32 html html-all php-chr utf7 utf7-all
其中**-all编码会编码所有字符包括非特殊字符
非ASCII编码*-m/--method*支持:
utf8 gbk gb2312 big5 utf16 utf7 等所有python支持的编码方式,具体请参考如下链接:
python支持的编解码格式
例如:
3.1.9 解码
pen.py的decode子命令提供了解码的功能,并提供非ASCII编码编码推测功能
解码方式*-t/--type*支持:
auto(默认) hex url unicode decimal base64 base32 html php-chr utf7
其中auto方式会自动检测url类型、hex类型的字符串并进行解码
非ASCII编码*-m/--method*支持:
utf8 gbk gb2312 big5 utf16 utf7 等所有python支持的编码方式,具体请参考如下链接:
python支持的编解码格式
例如:
3.1.10 文件处理功能
pen.py的file子命令提供了常用的文件操作,包括:文件查看、文件编码推断、文件类型转换、文件hash计算、文件图片隐藏(制作php图片木马)
使用*--list*查看支持的文件编码转换格式:
utf-32le utf-32le-bom utf-32 utf-32-bom utf-32be utf-32be-bom utf-16be utf-16be-bom utf-8 utf-8-bom utf-16 utf-16-bom utf-16le utf-16le-bom gbk gb2312 big5 ...
例如:
3.1.11 Mail账户验证/爆破
script/mail.py提供简单的Mail账户验证、爆破功能:
例如:
3.1.12 字典维护
script/wordlist.py提供了字典文件维护的功能,包括:
将多个字典文件merge到数据库中
对每个字典项进行打分计算
按照评分高低导出字典文件
例如:
3.2 user-passwd字典
password目录包含密码字典文件
user目录包含用户名字典文件
3.3 dns字典
dns爆破字典
3.4 directory字典
web目录爆破字典,详见相关目录readme.md文件
3.5 attack-payload
各种攻击payload字典,详见相关目录readme.md文件
3.6 webshell
webshell收集,详见相关目录readme.md文件
3.7 script
常用脚本
3.8 exploit
一些有用的exploit,详见相关目录readme.md文件
4 备注
项目中的字典等文件统一使用“/**”作为注释符,注释符在一行开头,且只能注释单行