如何使用pwnSpoof针对Web服务器场景生成伪造日志文件-RadeBit瑞安全

关于pwnSpoof

pwnSpoof是一款功能强大的日志生成工具,该工具可以帮助广大研究人员在各种类型的可定制攻击场景中,针对常见的Web服务器生成伪造日志文件。

pwnSpoof所生成的每一个日志集合都是唯一的,而且完全可自定义设置,非常适合针对CTF场景或安全培训进行伪造日志生成。

如何使用pwnSpoof针对Web服务器场景生成伪造日志文件-RadeBit瑞安全

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

工具使用

参数选项

如何使用pwnSpoof针对Web服务器场景生成伪造日志文件-RadeBit瑞安全

工具使用样例

下列使用样例将创建一套针对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

工具使用演示

如何使用pwnSpoof针对Web服务器场景生成伪造日志文件-RadeBit瑞安全

项目地址

pwnSpoof:GitHub传送门