作者:hacker发布时间:2022-12-23分类:邮箱破解浏览:177评论:3
Bishop labs用了两期博客,前后各总结了9个红队工具,共计18个红队使用的优秀渗透工具,其博客文章也提及,这份清单不是决定性的,也仅用于参考。
创建者: @IAmMandatory
用途:允许 谷歌 Chrome 浏览器将受害者的浏览器变成测试代理。
优点: CursedChrome 可以很容易地在红队参与期间模拟恶意浏览器扩展。用来劫持 Chrome 浏览器,绕过大多数 2FA 或其他可能存在的安全保护,并利用 cookie 来访问任何基于网络的目标。
创建者: @symbolcrash1
用途: Universal Loader 是一个 Golang 库,可以跨多个平台(Linux、Windows 和 OSX)从内存中加载共享库,而无需CGO。
优点: Universal Loader 可以用在新的 Apple M1 芯片上,值得一提的是,这个 Golang 库没有使用 memfd,这使它成为第一个这样做的 Golang Linux 加载器。由于这两个原因,Universal Loader 是一个相当令人印象深刻的红队工具。
创建者: QSecure Labs
用途: Overlord 是一个基于 Python 的控制台命令行界面,用于自动化红队基础设施。
优点: 在红队参与期间能够根据需要快速启动安全基础设施非常重要,该工具可以节省大量时间,然后可以将这些时间用于进行一些实际的黑客攻击。
创作者: @LittleJoeTables和@rkervell
用途: Sliver是一个用 Golang 编写的跨平台通用植入框架。
优点: 这个工具是两位 Bishop Fox 研究人员的创意,所以我们的偏见可能会表现出来。类似于商业工具Cobalt Strike。使 Sliver 值得注意的是诸如使用每个二进制混淆的动态代码生成、多个和可扩展的出口协议以及支持多个操作员同时控制植入物等功能。此外,它易于使用且运行速度快。
创作者: @tillson_
用途: 使用 Githound 来定位暴露的 API 密钥和其他围绕 GitHub 浮动的敏感信息。该工具通过模式匹配、提交 历史 搜索和“独特的结果评分系统”工作。
优点: 像 Githound 这样的秘密窃取工具并不少见,但这并没有使这个工具(或其他类似工具)的价值降低。Githound 的一些可能用例包括检测暴露的客户 API 密钥以及员工 API 令牌。如果您进行漏洞赏金,此工具可用于添加书签 - 有些人报告说,由于它,因此获得了数千美元的赏金。
创作者: @browninfosecguy
用途: 这个工具的名字说明了一切,在 PowerShell 中轻松地为 Microsoft Active Directory 设置实验室。
优点: 速度很快,效果很好。可以使用此工具来确保您针对 Active Directory 使用的任何漏洞利用都已完善,然后再将其引入客户端环境。对于只想更轻松地测试 Active Directory 的渗透测试员来说非常有用。
创建者: Microsoft Azure 红队
用途: 可以使用 Stormspotter 更好地可视化 Azure 攻击面;此工具可帮助您绘制 Azure 和 Azure Active Directory 对象。
优点: 类似渗透测试工具BloodHound概念类似,只是该工具是为 Azure 环境设计的。对于任何蓝色或紫色团队成员来说,从防御的角度来看,Stormspotter 也非常有用。
创建者: @Void_Sec
用途: ECG 实际上是一种商业工具。该工具是静态源代码扫描器,能够分析和检测 TCL/ADP 源代码中真实和复杂的安全漏洞。
优点: ECG是一种强大的工具,可以填补令人惊讶的空白。正如 VoidSec 在他们的官方文章中所指出的,TCL代码相当普遍;所以能够彻底分析漏洞可能会非常有帮助。没有很多其他工具可以满足这种独特的需求,无论是商业的还是其他的。
创建者: @TryCatchHCF
用途: 可以使用 DumpsterFire 构建“时间触发的分布式”安全事件来测试红队进攻和蓝队防守。
优点: DumpsterFire 将传统桌面练习提升到一个新的水平,它还使用自动化来在参与期间有效地进行多任务处理(并避开一些更乏味的事情)。DumpsterFire 允许的定制程度令人印象深刻;可以真正定制模拟安全事件来满足独一无二的情况。
10.GhostPack
创建者: SpecterOps ( @SpecterOps )
用途: 借助强大的后开发工具集 GhostPack,可以做各种事情;可以攻击 KeePass 2.X 数据库、复制锁定的文件、篡改 Active Directory 证书等。
优点: GhostPack 是一种满足黑客需求的“一站式商店”。包含的 13 个工具包括非常有用的 Rubeus、Seatbelt 和 SharpUp。Rubeus 是一个 C# 工具集,直接与 Active Directory 环境中的 Kerberos 协议交互,允许直接与 Kerberos 属性(例如票证和常规身份验证)进行通信,然后可以利用这些属性在网络中移动。Seatbelt 是一个 C# 项目,可用于面向安全的主机“安全检查”,而 SharpUp 是一个 C# 工具,可识别本地权限提升路径。这些工具被无数红队和网络渗透测试员使用。
创作者: Benjamin Delpy ( @gentilkiwi )
用途: Mimikatz 可以从 Windows 环境中提取密码和其他凭据。是一种非常流行的渗透测试工具,已经存在了十多年。但 Mimikatz 会定期维护和更新,以确保仍然是最前沿的工具
优点: 将 Mimikatz 视为网络渗透测试的瑞士军刀。带有几个内置工具,对 Kerberoasting、密码转储很有用,你能想到的,Mimikatz 都可以做到。而且 Mimikatz 不仅适用于那里的进攻性安全专业人员——防御性安全团队也可以从中受益(如果你发现自己处于紫色团队场景中,这也是个好兆头)。
创建者: Metasploit 项目 ( @metasploit ),由 Rapid7 与开源社区合作运营
用途: Metasploit 可以说是世界领先的渗透测试框架,由 HD Moore 于 2003 年创建。Metasploit 包括用于渗透测试几乎每个阶段的模块,这有助于其普及。包括约 250 个后利用模块,可用于捕获击键、收集网络信息、显示操作系统环境变量等。
优点: Metasploit 后开发模块非常庞大,有一个模块最突出——Meterpreter 有效载荷。Meterpreter 允许 探索 目标系统并执行代码,并且由于它通过内存 DLL 注入工作,因此不必冒险留下任何操作证据。Metasploit 后开发功能也非常通用,具有适用于 Windows、Linux 和 OS X 的模块。
创作者: 阿德里安·沃尔默( @mr_mitm )
用途: 此后利用工具旨在绕过端点检测和应用程序阻止列表。
优点: 可以使用 PowerHub 传输文件,而不会在测试环境中发出任何安全保护警报,这将使下一次渗透测试更加顺畅和轻松。使用此工具领先于 Windows Defender。
创建者: LOLBAS 项目和亚利桑那州安全工程与研究小组
用途: LOLBAS 是一个字典,用于在 Windows 机器上使用二进制文件查找可能的权限提升路径。LLOLBAS 是与 LOLBAS 协同工作的摄取器。摄取器会在 Windows 机器上的 LOLBAS 列表中查找所有二进制文件,因此无需猜测或对列表进行排序以查找它们(这可能很乏味)。
优点: LOLBAS 项目可搜索机器上可能的权限提升路径,而 LLOLBAS 允许针对特定机器定制这些路径。结合这两个工具,(几乎)在参与中势不可挡。作为一个额外的好处,如果出现需要它们的情况,可以方便地使用离线工具。
创作者: @nil0x42
用途: PHPSploit 充当功能齐全的 C2 框架,通过单行 PHP 后门在 Web 服务器上静默地持久化。
优点: PHPSploit 是非安全参与时手头上的一项了不起的工具——高效、用户友好且运行安静。正如其 GitHub 描述所述,PHPSploit 是“由偏执狂,为偏执狂设计的”。
创作者: 塞瓦加斯
用途: 可以使用 swap_digger 在后期开发或取证期间自动进行 Linux 交换分析。
优点: 在 Linux 交换空间中可以找到各种各样的好东西,从密码和电子邮件地址到 GPG 私钥。Swap_digger 可以梳理这些交换空间并找到高影响力的奖杯,这将使评估更加成功。
创建者: RedCode 实验室
用途: Bashark 是一个后开发工具包,顾名思义,是用编程语言 Bash 编写的。这是一个可以产生巨大结果的简单脚本。
优点: Bashark 工作快速而隐蔽,允许通过创建 Bash 函数来添加新命令,并清除在目标环境中使用脚本后可能留下的任何痕迹。
创作者: AlessandroZ
用途: 使用 BeRoot 项目查找可用于在 Windows、Linux 和 OS X 环境中提升权限的常见错误配置。
优点: 识别常见的错误配置是在网络中立足的最可靠方法之一,因此找到这些错误配置的速度越快越好。BeRoot 项目在这方面提供了极大的帮助。
本文,旨在介绍一些红队工具,供大家了解和参考研究之用,不建议任何人利用网络技术从事非法工作,破坏他人计算机等行为。渗透有风险,入坑需谨慎。法网恢恢,疏而不漏。请正确理解渗透含义,正确利用渗透技术,做网络安全服务的践行者。
要做网站渗透测试,首先我们要明白以下几点:
1、什么叫渗透测试?
渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程。
2、进行渗透测试的目的?
了解当前系统的安全性、了解攻击者可能利用的途径。它能够让管理人员非常直观的了解当前系统所面临的问题。
3、渗透测试是否等同于风险评估?
不是,你可以暂时理解成渗透测试属于风险评估的一部分。事实上,风险评估远比渗透测试复杂的多,它除渗透测试外还要加上资产识别,风险分析,除此之外,也还包括了人工审查以及后期的优化部分。
4、渗透测试是否就是黑盒测试?
否,很多技术人员对这个问题都存在这个错误的理解。渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。
5、渗透测试涉及哪些内容?
技术层面主要包括网络设备,主机,数据库,应用系统。另外可以考虑加入社会工程学(入侵的艺术/THE ART OF INTRUSION)。
6、渗透测试有哪些不足之处?
主要是投入高,风险高。而且必须是专业的网络安全团队(或公司,像网堤安全)才能相信输出的最终结果。
看完以上内容,相信大家已经明白渗透测试是不能光靠工具的,还要有专业的人员才行。推荐还是选择专攻网络安全这一块的公司或团队进行。
网络
Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库
pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库
libdnet: 低级网络路由,包括端口查看和以太网帧的转发
dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议
Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB
pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查
Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件
flowgrep: 通过正则表达式查找数据包中的 Payloads
Knock Subdomain Scan: 通过字典枚举目标子域名
SubBrute: 快速的子域名枚举工具
Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议
Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)
调试和逆向工程
Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH
Immunity Debugger: 脚本 GUI 和命令行调试器
mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr
IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析
pefile: 读取并处理 PE 文件
pydasm: Python 封装的libdasm
PyDbgEng: Python 封装的微软 Windows 调试引擎
uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用
diStorm: AMD64 下的反汇编库
python-ptrace: Python 写的使用 ptrace 的调试器
vdb/vtrace: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器
Androguard: 安卓应用程序的逆向分析工具
Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台
PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口
Fuzzing
Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
Peach Fuzzing Platform: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)
antiparser: 模糊测试和故障注入的 API
TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具
untidy: 针对 XML 模糊测试工具
Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具
SMUDGE: 纯 Python 实现的网络协议模糊测试
Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
Fuzzbox: 媒体多编码器的模糊测试
Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具
WSBang: 基于 Web 服务自动化测试 SOAP 安全性
Construct: 用于解析和构建数据格式(二进制或文本)的库
fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具
Fusil: 用于编写模糊测试程序的 Python 库
Web
Requests: 优雅,简单,人性化的 HTTP 库
HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端
ProxMon: 处理代理日志和报告发现的问题
WSMap: 寻找 Web 服务器和发现文件
Twill: 从命令行界面浏览网页。支持自动化网络测试
Ghost.py: Python 写的 WebKit Web 客户端
Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用
FunkLoad: Web 功能和负载测试
spynner: Python 写的 Web浏览模块支持 Javascript/AJAX
python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端
常用是python,有的工具是用C++和java写的,所以最好多学习一门语言
TrackRay简介
溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”。
溯光是一个开源的插件化渗透测试框架,框架自身实现了漏洞扫描功能,集成了知名安全工具:Metasploit、Nmap、Sqlmap、AWVS等。
溯光使用 Java 编写,SpringBoot 作为基础框架,JPA + HSQLDB嵌入式数据库做持久化,Maven 管理依赖,Jython 实现 Python 插件调用,quartz 做任务调度,freemarker + thymeleaf 做视图层,Websocket 实现命令行式插件交互。
框架可扩展性高,支持 Java、Python、JSON 等方式编写插件,有“漏洞扫描插件”、“爬虫插件”、“MVC插件”、“内部插件”、“无交互插件”和“可交互插件” 等插件类型。
功能展示
主页
登录
任务创建
任务列表
任务详情
无交互接口插件调用
MVC插件示例
交互式插件控制台
MSF 控制台
依赖环境
JDK 1.8
Python 2.7
Maven
Git
Metasploit
Nmap(建议安装)
SQLMAP(建议安装)
AWVS
**加粗为必须环境,没有安装程序则无法正常编译运行
不论是 Windows 还是 linux 一定需要先安装 JDK1.8 和 Maven。安装过程这里不做演示。保证 JDK 和 Maven 都在系统环境变量,能执行java -version 和 mvn --version即可。
安装过程
第一步
手动启动 AWVS 服务
登录后台,生成一个API密匙。
复制密匙和 AWVS 的地址。
找到web/src/main/resources/application.properties配置文件。
修改如下部分
第二步
找到你 python 的第三方库目录。
Windows 的一般在 python 安装目录下的/Lib/site-packages
Linux 下可以通过输出 sys.path 来找第三方包路径
我的是 D:/Python2/Lib/site-packages
同样找到web/src/main/resources/application.properties配置文件。
修改python.package.path参数
第三步
安装 Maven 后找到仓库位置。
如果没有在 settings.xml 里配置指定仓库目录,默认会在当前用户目录中生成一个 .m2的目录
找到仓库目录后修改 application.properties 的 maven.repository.path参数
第四步
这个是 DNSLOG 回显检测漏洞时需要的。
去 ceye.io 注册一个账号,拿到给你分配的域名和 TOKEN。
修改配置文件
第五步
启动 msf 和 sqlmapapi。
如果你是 kali 操作系统,可以直接运行startdep.sh。
如果是其他系统,则要找到 metasploit 和 sqlmap 的目录分别执行
启动成功后修改配置文件
第六步
编译打包程序
等待依赖下载完成和编译完成,如果以上操作都没有出现问题则会提示 BUILD SUCCESS
编译成功后会在当前目录打包一个trackray.jar就是溯光的主程序。
然后直接执行startup.bat或startup.sh溯光就会启动服务。
没有抛出异常或ERROR日志,访问 8080 端口正常。
服务启动正常后,登录 iZone 社区账号。
**开发插件建议使用 Intellij IDEA IDE,需要安装 lombok 插件。
目录结构
插件
AbstractPlugin
这是交互式插件和非交互式插件的父类。
BASE常量
其中的静态常量 BASE 是 /resources/include/ 的所在目录。
如果你的插件需要额外的静态资源,那么你可以在 /resources/include 目录里创建一个和插件 KEY 相同的文件夹,便于识别,如果没有在 @Plugin 注解中设置 value 则默认的插件 KEY 就是当前类名首字母小写。
如 Typecho001 = typecho001
check(Map param)
这是用于检验是否合规的方法,需要被强制重写,当返回 true 时才会调用 start() 方法
param 参数是从前台传过来的参数键值对。
常被用于检验参数格式是否正确或漏洞是否存在。
after()
在 start() 方法之前调用
before()
在 start() 方法之后调用
start()
这是一个抽象方法,所有继承了该类的子类都需要重写这个方法。
在 check 方法 通过后会调用 start() 方法
start() 方法返回值最终会会当做插件结果,响应给前台。
shell()
调用当前系统 shell 来辅助完成插件功能。
executor()
插件执行的主方法
crawlerPage
http请求对象(不推荐使用)
fetcher
执行 http 请求对象(不推荐使用)
errorMsg
当校验不通过时,返回给前台的信息。
param
前台传过来的参数键值对
requests
HTTP 发包工具(推荐使用)
hackKit
hack 常用工具包
无交互插件
无交互插件需要你填写好所有要填写的参数,直接请求接口来执行插件。
默认需要去继承 CommonPlugin类。
这是一个抽象类,继承了 AbstractPlugin
主要多出来两个属性:request 和 response。
继承了 CommonPlugin 的类可以通过调用这两个属性来控制请求和响应内容。
无交互插件同时也需要使用 @Rule 和 @Plugin 插件,这两个注解后面会讲到。
在 ,找到相应的插件填写好参数提交即可完成调用。
或直接调用接口。
交互式插件
交互式插件一般在命令行控制台中调用,可以允许你通过命令行交互来完成插件的调用。
交互式插件由 Websocket 实现,想要写一个交互式插件,首先要继承 WebSocketPlugin 类。
同时设置 @Rule 注解的 websocket 参数为 true ,如果需要异步交互需要将 sync 也设置为 true。
内部插件
内部插件是不可以通过外部去调用的,需要继承 InnerPlugin 并使用 @Plugin 注解,通常在漏洞扫描时时会调用。
例如 “网页爬虫”,“指纹识别”,“端口扫描” 等,都是通过调用内部插件实现的。
还有用于检测 SSRF 等漏洞用的 FuckCeye 插件也属于内部插件。
通过 spring 的自动注入,来注入内部插件到当前对象。
例子可参考 WebLogicWLSRCE.java
爬虫插件
爬虫插件会在扫描任务被勾选“网页爬虫”时调用,每爬取一条请求就会调用一次爬虫插件。
爬虫插件需要继承 CrawlerPlugin,继承该类必须重写 check 和 process 方法。
check 方法用于检验请求是否符合插件规则,以免产生多余请求。
当 check 方法 返回为 true 时会调用 process 方法。
process 方法里写插件主要检测代码。
addVulnerable()
当插件检测出漏洞时,可以通过调用 addVulnerable() 方法来向数据库插入一条漏洞。
requests
requests 属性为请求工具包,处理 https 和 http 都很方便。
response
response 属性为当前爬虫得到的 HTTP 响应。
task
task 属性为当前任务对象,如果你的爬虫插件不是检测漏洞而希望是检测一些敏感信息的话可以修改 task.getResult() 里的属性。
参考 FingerProbe.java 或 InfoProbe.java。
target
爬虫爬取到的 URL 对象。
fetcher crawlerPage
http 请求对象(不建议使用)。
漏洞扫描插件
漏洞扫描插件会在,扫描任务中勾选“漏洞攻击模块”时调用。
漏洞扫描插件分为三种
1.独立插件
独立的漏洞扫描插件需要继承 AbstractExploit 并使用 @Plugin 或 @Exploit
AbstractExploit 中有以下需要了解的方法和属性。
requests
http / https 发包工具
target 当前扫描任务的地址。
task
当前扫描任务对象。
check()
check 是一个抽象方法,需要被子类强制重写。
该方法一般用于检验是否符合当前漏洞扫描插件的规则,以免产生多与请求。
attack()
attack 也是一个抽象方法,需要被子类强制重写。
该方法是检测漏洞的主方法。
before()
在 attack 方法前执行
after()
在 attack 方法后执行
addVulnerable()
当插件检测出漏洞时,可以通过调用 addVulnerable() 方法来向数据库插入一条漏洞。
fetcher crawlerPage
http 请求对象(不建议使用)。
2.漏洞规则
位于
实际上这是一个“内部插件”,会在勾选漏洞模块攻击时调用。
有一些漏洞检测方法很简单,只通过简单的判断响应体就能识别出来,也就没有必要再去写一个独立的插件而占用空间了。
在 doSwitch() 方法中会先去根据当前任务的指纹识别结果走一遍 switch 流程。
swtich 的每一个 case 都是 WEB 指纹的枚举对象。
当 switch 找到当前任务 WEB 指纹对应的 case 后,case 内的代码会通过构建一个漏洞规则添加到 loaders 集合里。
如果规则是通用的,可以写在 switch 的外面。
3.kunpeng JSON插件
kunpeng 是一个 go 语言编写的 poc 测试框架,这里我对 kunpeng 的 JSON 插件做了一个支持。
只需要按照 kunpeng json 插件的格式规范创建一个 json 文件到 /resources/json 目录。
在扫描任务勾选“漏洞攻击模块”时会被调用,或通过 MVC 插件调用 。
MVC 插件
位于
MVC 插件的特点在于,他可以像是在写一个功能一样,而非简单的接口式调用。
MVC 插件需要继承 MVCPlugin 类,并使用 @Rule,@Plugin 注解。
MVCPlugin 内置了一个 ModelAndView 对象, 是 SpringMVC 提供的。
可以通过 setViewName() 来指定视图层的网页模板。
通过 addObject(key,value) 向视图层网页模板注入参数。
这里的视图层是使用 thymeleaf 实现的,需要懂 thymeleaf 的语法。
例子可以参考:com.trackray.module.inner.JSONPlugin
继承 MVCPlugin 必须要重写一个 index 方法,这是插件的入口。
如果需要写其他的功能,就得再创建一个 public 返回值为 void 的无参方法。
并且要在该方法上使用 @Function 注解,该注解的 value 参数如果不填写的话则默认的 requestMapping 地址为方法名。
例如
最后还需要在 /module/src/main/resources/templates 创建一个目录名为插件 KEY 的目录。
里面存放扩展名为 .html 的模板文件。
Python 插件
python 插件有两种实现方式。
1.通过命令行实现
这种方式最为简单,通过在 include 里写一个 python 脚本。
然后在插件里调用 shell() 方法来执行系统命令。
案例可参考 com.trackray.module.plugin.windows.smb.MS17010
但这样还需要再写 java 的代码,对于没有学过 java 的人来说很不友好。
2.通过jython实现
jython 是一个 Python 语言在 Java 中的完全实现。
我将它的调用过程写成了一个交互式插件。
你可以通过在 /resources/python/ 目录下安装如下规范去创建一个 python 文件。
在这个 python 文件中需要写两个方法。
关于注解
@Rule
一般用在“可交互插件”和“无交互插件”类上。
@Plugin
WEB指纹
这里顺便再说一下如何添加指纹库。
指纹库位于 base 模块,是一个枚举类。
可以在首部或尾部添加一条新的枚举,尽量使用 $ 开头。
第一个参数是 指纹的名称,如果第二个参数是 String 类型则是该指纹的说明。
FingerBean 类是指纹匹配对象。
1,关于requests
requests是python的一个http客户端库,设计的非常简单,专门为简化http测试写的。
2,开发环境
mac下面搭建开发环境非常方便。
sudo easy_install pip
sudo pip install requests
测试下:python命令行
import requests
r = requests.get('', auth=('user', 'pass'))
r.status_code
200
r.headers['content-type']
'application/json; charset=utf8'
r.encoding
'utf-8'
r.text
u'{type:User...'
r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
开发工具,之前使用sublime,发现运行报错,不识别table字符。
IndentationError: unindent does not match any outer indentation level
非常抓狂的错误,根本找不到代码哪里有问题了。甚至开始怀疑人生了。
python的这个空格区分代码真的非常让人抓狂。开始怀念有大括号,分号的语言了。
彻底解决办法,直接换个IDE工具。使用牛刀,IDA开发。
直接下载社区版本即可,因为就是写个脚本啥的,没有用到太复杂的框架。
果然效果非常好,直接格式下代码,和java的一样好使,可以运行可以debug。右键直接运行成功。
3,测试接口
没有啥太复杂的,直接使用requests框架即可。
#!/usr/bin/python
# -*- coding: utf-8 -*-
################
import requests
#测试百度
def baidu_func(url):
headers = {}
params = {}
req = requests.post(url, headers=headers, params=params)
print(req.text)
if __name__ == '__main__':
url =
baidu_func(url)
4,总结
测试非常重要,尤其是对外的接口出现的漏洞,需要花时间去仔细测试,同时要仔细分析代码。
安全是挺重要的事情,要花时间去琢磨。
python学习还是非常容易学习的,一个小时就能把语法学会。
同时渗透测试,安全扫描的好多工具也是python写的。PyCharm CE版本的开发工具足够强大,能够帮你快速学习python。
如果想快速做点界面的开发,wxPython是非常不错的选择。
已有3位网友发表了看法:
访客 评论于 2022-12-23 13:00:02 回复
通用,具有适用于 Windows、Linux 和 OS X 的模块。 创作者: 阿德里安·沃尔默( @mr_mitm ) 用途: 此后利用工具旨在绕过端点检测和应用程序阻止列表。 优点: 可以使用 PowerHub 传输文件,而不会在测试环境中发
访客 评论于 2022-12-23 12:07:17 回复
用途: 可以使用 DumpsterFire 构建“时间触发的分布式”安全事件来测试红队进攻和蓝队防守。 优点: DumpsterFire 将传统桌面练习提升到一个新的水平,它还使用自动化来在参与期间有效地进行多任
访客 评论于 2022-12-23 07:04:24 回复
会在扫描任务被勾选“网页爬虫”时调用,每爬取一条请求就会调用一次爬虫插件。 爬虫插件需要继承 CrawlerPlugin,继承该类必须重写 check 和 process 方法。 check 方法