应急加固-医院脱库应急处理

简介

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

image-20250513001328240

1
2
3
可知首次发起端口扫描的IP为192.168.37.3 
网站地址为192.168.37.2
192.168.37.3

2.审计流量和日志快速定位扫描次数最多的IP

image-20250513002016356

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的情况进行计数

image-20250513004924739image-20250513005458656
image-20250513005421210

1
2
3
4
通过Wireshark结合ZUI辅助定位更加准确
192.168.37.1 共有 28355
192.168.37.3 共有 29137
故次数最多的IP为192.168.37.3

3.审计流量和日志快速定位扫描次数第二的IP

1
2
由2得
192.168.37.1

4.哪个IP使用了AWVS扫描器

在正常的AWVS漏洞扫描特征中,除了一些UA的变化还有一个最明显的请求头和路径中有:acunetix特征,还有一个域名特征:bxss.me

image-20250513005857288image-20250513010045073

1
192.168.37.1

5.还有个IP也使用了扫描器进行主机+WEB扫描,提交其扫描次数(以wireshark数量为主)

tcp.flags.syn == 1&& tcp.flags.ack == 0 && ip.addr != 192.168.37.1 && ip.addr !=192.168.37.3

image-20250513011418471
image-20250513011649290

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

由题2中
image-20250513004924739

1
可确定 192.168.37.100

ip.src == 192.168.37.100 && ip.dst == 192.168.37.2image-20250513012842311

1
4812

6.运维人员发现有IP进行了WEB登录爆破,提交其IP

http contains "/login.php" && http.request.method == "POST"

image-20250513014045752

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

image-20250513013502183

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)

image-20250513015217616

1
由6得或由过滤流量显示次数为112

8.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交其IP

http contains "/register.php" && http.request.method == "POST"

image-20250513015502820

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

1
跟进可确定IP为192.168.37.177

9.运维发现数据库疑似被写入了垃圾用户(批量注册)请提交注册成功数量

http contains "/register.php" && http.request.method == "POST" && ip.src == 192.168.37.177

image-20250513020438226

1
2
3
通过流量对比数据库
可知 攻击者写zhangsan0 一直写到 zhangsan57
即数量为58

10.请提交攻击者登录成功admin用户的IP及密码,以&连接

http.request.uri == "/admin/index.php"

image-20250513023054617image-20250513022733649

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

image-20250513024641853image-20250513023300881

1
2
大量请求settings.php流量
即/admin/settings.php存在SQL注入

12.找到攻击者获取医院数据(患者身份信息的数量)

image-20250513023750641
image-20250513023905399
image-20250513025847692

1
2
sql注入 报错注入
计数为11997