AwdAttackFramework
AwdAttackFramework copied to clipboard
一个AWD批量攻击框架
AwdAttackFramwork
简介
参加一个线下awd比赛(广东省信息通信行业第三届网络安全技能大赛)之前写的一个结合burp插件copy-as-python-requests和AoiAWD和Platypus的批量攻击小框架。
功能
| 组件 | 版本 | 描述 |
|---|---|---|
| attack_with_burp | 2020/09/30 | 快速构造web批量攻击 |
| attack_with_aoiawd | 2020/09/30 | 快速构造pwn批量攻击 |
| modify_ssh_password | 2020/09/30 | 批量修改ssh密码 |
| batch_cmd_with_platypus | 2020/09/30 | 快速管理shell |
使用指南
准备工作
- 克隆或下载本代码仓库
- 本项目仅支持Python 3.6.5以上版本,不能向下兼容
- pip安装相关依赖(pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/)
- burp插件商店安装
copy-as-python-requests插件(实现attack_with_burp) - 搭建
AoiAWD平台(实现attack_with_aoiawd) - 搭建
Platypus平台(实现batch_cmd_with_platypus) - 4、5、6 都是可选项,这次比赛也就只用到了4的环境...不过AoiAWD还是可以装一个,挺好用的
目录结构
├── READEME.md
├── batch_cmd_with_platypus
│ └── cmd_batch.py
├── config
│ └── config.py
├── framework
│ └── attack_framework.py
├── modify_ssh_password
│ ├── ssh.py
│ └── ssh.txt
├── requirements.txt
├── templates
│ ├── pwn1.txt
│ ├── pwn_exp_template.py
│ ├── web1.txt
│ └── web_exp_template.py
├── pwn1.txt
├── pwn1_exp.py
├── web1.txt
└── web1_exp.py
功能介绍
attack_with_burp
得益于burp插件的强大,我们可以直接把利用成功的payload从burp中复制出来,
只需简单修改即可使用框架进行批量攻击,具体流程参见demo.mp4
attack_with_aoiawd
得益于AoiAWD的Guardian模块(二进制PWN的影子外壳),
我们可以透明记录STDIN与STDOUT的流量,
以此实现流量的重放,用别人的payload打其他人...
(主要是我们没有pwn...只能间接做题)
modify_ssh_password
为了抓到不改密码的队伍,可以跑一下这个,万一成功了呢....
batch_cmd_with_platypus
利用platypus提供的restful api实现批量执行命令
使用方法
attack_with_burp(具体流程参见demo.mp4):
- 新建一个web{n}_exp.py
- 从templates中复制模板内容粘贴到web{n}_exp.py
- 新建一个web{n}.txt,在里面填入要打的ip,同时修改web{n}_exp.py中的 target_file = "web{n}.txt"
- 在burp中右键 copy as requests session
- 粘贴到payload函数中
- 删掉burp生成的requests.session,用fstring修改url,使变量ip嵌入url中
- 处理请求的返回值(比如正则匹配flag等)/直接输出返回值
attack_with_aoiawd:
- 新建一个pwn{n}_exp.py
- 从templates中复制模板内容粘贴到pwn{n}_exp.py
- 新建一个pwn{n}.txt,在里面填入要打的ip,同时修改pwn{n}_exp.py中的 target_file = "pwn{n}.txt"
- 在payload函数中用pwntools写攻击流程...
- 处理请求的返回值(比如正则匹配flag等)/直接输出返回值
modify_ssh_password:
- 修改config/config.py中的参数
- 填充modify_ssh_password/ssh.txt
- 运行modify_ssh_password/ssh.py
batch_cmd_with_platypus:
- 运行platypus,监听两个端口,一个收shell,一个是restful api
- 修改config/config.py中的参数
- 有shell后就可以直接运行cmd_batch.py了,命令参数在该文件里直接修改即可
鸣谢
本项目的完成离不开以下项目或团队,在此感谢: