针对php的web流量抓取、分析的应用
一个针对php的web流量抓取、分析的应用。
可供ctf线下赛使用,也可用于实际场景来抓web流量、分析攻击手段。
目前主要功能如下:
- 完整http报文请求抓取,同时进行对可能存在的攻击进行分类,通过文件存储模拟出数据库,适应各种场合。
- 根据hash判断流量是否重复,只记录次数和最新一次的请求包,减少存储空间的占用以及流量分析的成本。
- 4个waf等级,推荐使用1等级,不会影响应用的正常运行,还可以抵御绝大多数的常见攻击。
- 设置flag获取命令,通过分析页面返回判断是否被读取了flag,从而替换掉flag(有些场合可能无法使用),将此流量标记为危险流量,同时攻击者ip加入黑名单,永 久ban掉(可从黑名单去除)。
- 黑白名单模式,可以手动添加,选择白名单模式,则服务正常通过给白名单机器,其他机器全部拦截。
- 可根据ip、时间筛选出想要查看的对应日志。
- 通过分析是否为危险流量,统计相同流量出现次数,显示出最可能是最终payload的流量排行。
- 一键生成ctf线下赛exp(获取flag+自动提交flag),快人一步进行攻击(除了正常攻击流量外,exp中还包含大量垃圾混淆流量)
- 删除并压缩备份选中的流量。
- 因流量转发太过不公平,不考虑添加。
使用方法:
cd /var/www/html/ (or other web dir)
git clone https://github.com/wupco/weblogger.git
chmod -R 777 weblogger/
open http://xxxxx/weblogger/install.php in Web browser
install it
更详细说明和帮助: https://gist.github.com/wupco/ee26f88656fbf36d014f49b4ac47ddc8
说明:
weblogger 分为静态文件群和动态文件群:
动态文件群:
- 所有流量数据与脚本模板均存储在tmp目录下,所以要保证tmp目录的持续可写。
静态文件群:
- web管理页面存在web目录下的一个新建文件中,所以要保证web目录的可写(待install.php生成管理文件结束后可设置目录不可写)
软件地址:https://github.com/wupco/weblogger
更详细的介绍请看下面:
- 在web目录或其他目录 git clone https://github.com/wupco/weblogger.git 注意给当前目录可写..不然clone不进来
- 给目录权限,可以给777,因为这个目录没用,安装完会自动销毁
- 检查自己的php.ini,有没有禁用掉system等系统函数(disable_functions),如果禁用了,暂时先打开,因为安装时移动文件的操作用的是
system("mv xxx");
- 打开浏览器安装
这里的数据存储路径就是数据部分存储的位置,建议采用类似tmp目录一样的各种权限都有的目录,方便处理。web根目录则是输出管理页面的位置,这个目录一定要有写权限。
因为环境的问题,有的php-fpm将每个Web用户的tmp文件都放在沙箱隔离,导致后来写入tmp下的文件实际路径不在tmp下,这种情况建议按照 https://www.cnblogs.com/lihuobao/p/5624071.html 解决,也可以将数据部分写入 /var/tmp/
下
获取flag的命令用于读取flag来自动替换别人读到的flag,从而让其他人读不到正确的flag,所以输入一个可以读到flag的系统命令即可。 账号密码是管理页面的账号密码,尽量不要弱口令,填一个比较难爆破的。
出现这个页面代表安装成功了,这时你先别关掉这个页面,去检查一下你的web目录下git clone的那个目录还存在不存在,正常会进行自我销毁,如果没销毁成功,应该是某些权限配置不对或者system被禁用了。
上面那个tmp的路径用来在web入口处包含 下面的是管理页面的路径
- 在web入口处或指定文件包含第一行的文件
在index.php 代码中插入 require_once('/tmp/33253f64133730fabaa52a487ff98740/weblogpro.php');
就ok了
下面的命令可以批量包含
find /var/www/html/ -path /var/www/html/124687a7bc37d57cc9ecd1cbd9d676f7 -prune -o -type f -name '*.php'|xargs sed -i '1i<?php require_once("/tmp/33253f64133730fabaa52a487ff98740/weblogpro.php");?>'
访问 http://127.0.0.1/124687a7bc37d57cc9ecd1cbd9d676f7/2cf8e3f14841b6b9b11570eca7e33017/managelog.php
登录,刷新页面,之后所有访问index.php的记录都会在这里看到。
tools可以显示一些工具:按照时间筛选流量、删除打包流量、获取复合流量exp等
需要你在python脚本同目录下创建一个ip.txt,每一行输入一个要攻击的队伍ip
这个python文件会自动重放你get poc对应的流量到你指定的ip,拿到flag并自动提交到平台,而且会发送大量干扰流量,使得对手做流量分析十分困难。
如果想要按照某个顺序重放多个流量怎么办?(例如有登录到后台再getshell的场景)
按照流量的id,填入用英文逗号分割,例如 5,2,3,2,1 会依次重放id=5的流量、id=2的流量、id=3的流量、id=2的流量、id=1的流量。
第二个菜单栏,iplist,可以列出所有访问ip,点击对应ip会筛选相应ip的流量
第三个栏,risk high ,当其他人通过Web应用拿到flag时,会将该流量记录在risk high中。
第四个栏, 根据几个判断条件,按照是exp的可能性排序所有流量。
其他可修改文件 黑白名单按照一行一个ip来计算,默认开启黑名单模式,当攻击者拿到flag后会自动将他加到黑名单。 白名单模式则需要你手动将checker的ip填入白名单并配置到白名单模式。
其他有用的文件 这个bash运行起来会不停的kill掉www-data起的服务,通常都是内存马、不死马,可以放心使用(因为重要服务都不是www用户起的)。 运行这个bash的方法: 和managelog.php 既管理页面同目录下有个killer.php 直接在浏览器访问即可。
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏