关于pwnSpoof
pwnSpoof是一款功能强大的日志生成工具,该工具可以帮助广大研究人员在各种类型的可定制攻击场景中,针对常见的Web服务器生成伪造日志文件。
pwnSpoof所生成的每一个日志集合都是唯一的,而且完全可自定义设置,非常适合针对CTF场景或安全培训进行伪造日志生成。
pwnSpoof是由Punk Security开发的一款工具套件,可以为用户提供威胁搜寻训练培训的相关基础设施。其中,本文所指的“安全培训练习(演练)”是使用类似Splunk的日志分析工具以及IIS日志来寻找暴力破解攻击和命令注入攻击面。
工具特性
pwnSpoof的主要目标如下:
· 帮助用户以简单快速的方式搭建CTF风格训练环境;
· 每次运行都能生成独一无二的日志;
· 支持在IIS、Apache和Nginx日志中测试威胁搜寻技术。
当我们创建好一套日志集合后,我们就可以将其加载进类似Splunk的日志分析工具,并使用各种技术来回答下列问题:
攻击者IP地址是多少?User_Agent是什么?
攻击者通过了身份验证吗?如果通过了,TA使用的是什么账号?
攻击者所在的地理位置是哪?
攻击者做了什么?
攻击者执行了哪种类型的攻击?
整个攻击过程中发生了什么?
攻击者在服务器中还植入了什么?
如何才能缓解此次安全威胁?
工具要求
pwnSpoof基于Python开发,并且支持Python 3环境。工具仅使用了标准库,无需其他额外模块。
如果你收到了下列错误信息,请在运行pwnSpoof时指定使用Python 3环境运行,工具不支持Python 2环境:
File "pwnspoof.py", line 176
print("{:6.2f}% ".format(y * x), end="\r", flush=True)
^
SyntaxError: invalid syntax
工具安装
使用下列命令将该项目源码克隆至本地:
git clone https://github.com/punk-security/pwnspoof
将当前工作目录切换至pwnSpoof:
cd pwnspoof
运行pwnSpoof:
python pwnspoof.py --help
工具使用
参数选项
工具使用样例
下列使用样例将创建一套针对pwnedbank.co.uk的暴力破解攻击IIS日志:
python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type bruteforce --server-type IIS --out iis-output.log
下列使用样例将创建一套针对pwnedbank.co.uk的命令注入攻击Nginx日志:
python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type command_injection --server-type NGINX
下列使用样例将创建一套包含5000条实例会话和3条攻击会话的日志:
python pwnspoof.py banking --session-count 5000 --spoofed-attacks 3
下列使用样例将创建一套日志记录,并输出攻击者的IP地址:
python pwnspoof.py banking --spoofed-attacks 3 --iocs