简介
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| by:https://xj.edisec.net/challenges/140 wp参考:https://mp.weixin.qq.com/s/QmBXMJ9juDKxD19iVlj95g 登录账号密码:administrator/Zhoudi666 某医院系统疑似被攻击,攻击者常规手段获取到了后台账号密码,在此之前攻击者使用多个IP进行扫描,你作为安全服务工程师需要分析其流量包和日志来快速审计,每个IP的扫描特征并快速归类,并思考在常规渗透中,攻击者是怎么获取到的管理员密码进行登录的后台
1.首次发起端口扫描的IP是 2.审计流量和日志快速定位扫描次数最多的IP 3.审计流量和日志快速定位扫描次数第二的IP 4.哪个IP使用了AWVS扫描器 5.还有个IP也使用了扫描器进行主机+WEB扫描,提交其扫描次数(以wireshark数量为主) 6.运维人员发现有IP进行了WEB登录爆破,提交其IP 7.运维人员发现有IP进行了WEB登录爆破,提交其爆破次数 8.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交其IP 9.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交注册成功数量 10.请提交攻击者登录成功admin用户的IP及密码,以&连接 11.数据库疑似被脱库,你需要找到漏洞点,如漏洞文件 12.找到攻击者获取医院数据(患者身份信息的数量)
|
环境分析
Windows(小皮面板(nginx+mysql))
1.首次发起端口扫描的IP是
tcp.flags.syn == 1 && tcp.flags.ack == 0

1 2 3
| 可知首次发起端口扫描的IP为192.168.37.3 网站地址为192.168.37.2 192.168.37.3
|
2.审计流量和日志快速定位扫描次数最多的IP

1 2 3 4
| 由一得 网站地址为192.168.37.2 然后根据Wireshark 端点统计 能定位192.168.37.3为扫描次数最多的IP 192.168.37.3
|
由参考wp学习了一手对Zui的使用
1 2
| 介绍也是来自参考wp中 ZUI,前身叫brim,国内关于它的文章很少,我也是学了几天的,这个工具的优点是当我们导入流量包以后,它会将流量数据拆为五元组,我想很多做安服的师傅都多少熟悉,很多设备上都会有五元组的字眼,将流量转为log后,我们可以快速的聚合和查询,几乎不用等待加载的过程
|
count () by http,status_code, id.orig_h|status_code==404
1 2
| count () by http,status_code, id.orig_h|status_code==404 通过筛选404 对各IP的情况进行计数
|



1 2 3 4
| 通过Wireshark结合ZUI辅助定位更加准确 192.168.37.1 共有 28355 192.168.37.3 共有 29137 故次数最多的IP为192.168.37.3
|
3.审计流量和日志快速定位扫描次数第二的IP
4.哪个IP使用了AWVS扫描器
在正常的AWVS漏洞扫描特征中,除了一些UA的变化还有一个最明显的请求头和路径中有:acunetix特征,还有一个域名特征:bxss.me


5.还有个IP也使用了扫描器进行主机+WEB扫描,提交其扫描次数(以wireshark数量为主)
tcp.flags.syn == 1&& tcp.flags.ack == 0 && ip.addr != 192.168.37.1 && ip.addr !=192.168.37.3


1 2 3 4 5
| 过滤主机扫描 以及前面出现的IP 定位到192.168.37.100 192.168.37.177 192.168.37.200 192.168.37.87
|
由题2中

ip.src == 192.168.37.100 && ip.dst == 192.168.37.2

6.运维人员发现有IP进行了WEB登录爆破,提交其IP
http contains "/login.php" && http.request.method == "POST"

count () by http,id.orig_h,uri,method|uri == "/login.php" | method=="POST" | sort -r count

1 2 3 4 5
| 通过跟进IP 192.168.37.87、192.168.37.200 存在爆破行为 即ip为 192.168.37.87&192.168.37.200
|
7.运维人员发现有IP进行了WEB登录爆破,提交其爆破次数
http contains "/login.php" && http.request.method == "POST" && (ip.src == 192.168.37.87 || ip.src ==192.168.37.200)

8.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交其IP
http contains "/register.php" && http.request.method == "POST"

count () by http,id.orig_h,uri,method|uri == "/register.php" | method=="POST" | sort -r count

9.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交注册成功数量
http contains "/register.php" && http.request.method == "POST" && ip.src == 192.168.37.177

1 2 3
| 通过流量对比数据库 可知 攻击者写zhangsan0 一直写到 zhangsan57 即数量为58
|
10.请提交攻击者登录成功admin用户的IP及密码,以&连接
http.request.uri == "/admin/index.php"


1
| 即192.168.37.200&zhoudi123
|
11.数据库疑似被脱库,你需要找到漏洞点,如漏洞文件
count () by http,status_code,id.orig_h,uri|status_code != 404 | id.orig_h==192.168.37.200 | sort -r count


1 2
| 大量请求settings.php流量 即/admin/settings.php存在SQL注入
|
12.找到攻击者获取医院数据(患者身份信息的数量)


