医院应急响应
应急加固-医院脱库应急处理
登录账号密码:administrator/Zhoudi666
首次发起端口扫描的IP是
正常的TCP三次握手流量包是:
SYN = 1;ACK = 0
SYN = 1;ACK = 1
SYN = 0;ACK = 1
端口扫描的特性:
也是一种SYN扫描(半扫描),会产生大量的SYN的流量包。
SYN = 1;ACK = 0
异常大量的 SYN 包可能表示网络攻击(如端口扫描、SYN Flood)
tcp.flags.syn==1&&tcp.flags.ack==0
flag{192.168.37.3}
审计流量和日志快速定位扫描次数最多的IP
使用ZUI分析工具
count() by http,status_code,id.orig_h | status_code>=404 | sort -r count
指定http协议的流量数据,按状态码和源IP分组过滤;进一步过滤出状态码大于等于404的数据信息;倒序并统计。
最多的IP是192.168.27.3
flag{192.168.27.3}
审计流量和日志快速定位扫描次数第二的IP
flag{192.168.37.1}
哪个IP使用了AWVS扫描器
AWVS的流量特征:
1.URL中会有acunetix_test字符串特征
2.头信息中会有acunetix/wvs字符串特征
3.UA头中会有acunetix字符串特征
4.body头中会有acunetix test字符串特征
5.URL中会有acunetix_test字符串特征
6.头信息中会有acunetix/wvs字符串特征
7.body头中会有acunetix test字符串特征
那么以上都有一个共同字符特征“acunetix”
http contains "acunetix"
直接过滤哪些数据流里出现acunetix
发现全是192.168.37.1
这个IP。
flag{192.168.37.1}
还有个IP也使用了扫描器进行主机+WEB扫描,提交其扫描次数(以wireshark数量为主)
前面的题中已经针对192.168.37.3、192.168.37.1这两个IP进行了分析,就剩下192.168.37.100这个IP没有分析了,优先看这个IP
看到GET请求中存在大量的恶意Payload,判定这个IP就是扫描器进行主机+Web扫描。
源IP地址:192.168.37.100 目的IP地址:192.168.37.2
ip.src==192.168.37.100 && ip.dst==192.168.37.2
flag{4812}
运维人员发现有IP进行了WEB登录爆破,提交其IP
登陆页面文件名通常是给login
http.request.method=="POST" && http contains "login.php"
发现192.168.37.87
这个IP大量的对login.php
这个文件发送了POST请求,在数据中找到不同的账号密码的组合。
flag{192.168.37.87}
运维人员发现有IP进行了WEB登录爆破,提交其爆破次数
选中
flag{106}
运维发现数据库疑似被写入了垃圾用户(批量注册)请提交其IP
以下使用的是ZUI工具过滤查询:
service == "http" // 确保只处理HTTP流量
| method == "POST" // 过滤POST请求
| uri == "/register.php" // 过滤特定URI
| count() by id.orig_h, method, uri // 按源IP、方法、URI分组统计
| sort -r count // 按计数倒序排列
通常注册网页文件名称叫做“register”,注册提交表单的方式使用的“POST”请求。
http.request.method=="POST" && http contains "register.php"
发现192.168.37.177
这个IP在register.php页面POST请求数量是最多的;每个请求的数据包中都有针对用户名和密码的不同组合。
flag{192.168.37.177}
运维发现数据库疑似被写入了垃圾用户(批量注册)请提交注册成功数量
根据数据包记录的时间,4月30日,我们在数据库中找4月30日添加的注册用户记录。
总共有58个。
flag{58}
请提交攻击者登录成功admin用户的IP及密码,以&连接
登陆成功看重定向状态码302
http.request.method=="POST" && http contains "login.php"
flag{admin&zhoudi123}
数据库疑似被脱库,你需要找到漏洞点,如漏洞文件
脱库相当于数据泄露,常见手段就说SQL注入攻击。
注入成功后返回的状态码通常是200
http contains "SELECT" && http.request.method=="POST" && http contains "username"
常见的SQL注入中少不了一些关键词:SELECT
UNION
OR
AND
等。这些函数习惯性使用大写,但也不排除用小写的可能性,WS过滤中是区分大小写的,可以都尝试一下。
SQL注入大部分使用的POST请求,比较好隐藏。可以优先排查POST请求的数据.
注入点常见在登陆表单或者搜索栏处,登陆表单中的传参变量一般是username
,通常都是针对用户名进行SQL注入。
看到服务器响应状态码为200
,注入成功。
flag{settings.php}
找到攻击者获取医院数据(患者身份信息的数量
要获取的医院数据能想到数据量其实非常庞大的,可以讲流量的长度倒序,再去逐个分析。
http.request.uri contains "settings.php" && http.response
得到数据就是服务器回应包里的,这里直接过滤response回应包;上一题找到了存在漏洞的文件,针对这个文件进行过滤。
uri
是针对文件路径过滤,后面接上contains
,就是说路径中包含settings.php
这一文件进行过滤。
按长度排序,第一条数据就比较可疑了。
显示UTF-8格式,在回应包里看到大量的人员信息泄露。
将信息导出到TXT里面,发现每个人信息与信息之间以逗号间隔。
12000个逗号,那么用户就是12001个
flag{12001}
本文由mdnice多平台发布