应急响应中的流量分析练习
复盘安恒8月月赛题目,以巩固对流量分析的掌握。
题目文件下载链接:
https://pan.baidu.com/s/13SoD6xB7YBiqpUDCIcb8mg
题目背景:
某公司内网网络被黑客渗透,简单了解,黑客首先攻击了一台web服务器,破解了后台的账户的密码,随之利用破解的密码登陆了mail系统,然后获取了vpn的申请方式,然后登陆vpn,在内网pwn掉了一台打印机,请根据提供的流量包回答下面有关问题
总结一些前置知识:
过滤IP,如源IP或者目标 x.x.x.x
ip.src eq x.x.x.x / ip.dst eq x.x.x.x / ip.addr eq x.x.x.x
过滤端口
tcp.port eq 80 / udp.port eq 80
过滤MAC
eth.dst ==A0:00:00:04:C5:84
http模式过滤
http.request.method== “GET”
http.request.method== “POST”
http.request.uri ==”/img/logo-edu.gif”
http contains”GET”
http contains”HTTP/1.”
http.request.method== “GET” && http contains “User-Agent:”
1-11、
1、某公司内网网络被黑客渗透,请分析流量,给出黑客使用的扫描器:
总结一些常见扫描器或者自动化工具的特征(或称指纹) :
Awvs(Acunetix Web Vulnerability Scanner )
acunetix_wvs_security_test acunetix
acunetix_wvs acunetix_test
Acunetix-Aspect-Password: Cookie:
acunetix_wvs_security_test X-Forwarded-Host:
acunetix_wvs_security_test X-Forwarded-For:
acunetix_wvs_security_test Host:
acunetix_wvs_security_test
Netsparker
X-Scanner: NetsparkerLocation:
NetsparkerAccept: netsparker/checkCookie:
netsparkerCookie: NETSPARKER
Appscan
Headers Content-Type: Appscan
Content-Type: AppScanHeader
Accept: Appscan User-Agent:Appscan
Nessus
x_forwarded_for: nessus
referer: nessus
host: nessus
一开始只是黑客攻击服务器的过程,所以用不到VPN的包,从Mail.pcap和web.pcap中找信息:
根据常见的扫描器特征,用http contains “x”筛出结果即可,如:http contains “wvs”
2、某公司内网网络被黑客渗透,请分析流量,得到黑客扫描到的登陆后台是(相对路径即可):
通常后台中可能使用的名字有admin、manager、login、system这些
尝试登录的关键字:
http contains “login” && http.request.method == “POST”
/admin/login.php?rec=login
3、某公司内网网络被黑客渗透,请分析流量,得到黑客使用了什么账号密码登陆了web后台(形式:username/password):
接着上面那个题来的,在login.php?rec=login中的最后倒数第二个就是了,或者http contains “passw”一把梭然后慢慢捋。
4、某公司内网网络被黑客渗透,请分析流量,得到黑客上传的webshell文件名是,内容是什么,提交webshell内容的base编码:
一般的命令执行函数:eval、system、cmd_shell、assert这些,尝试eval:
http contains “eval”
http contains “eval” && http.request.method==‘post’
往后翻能看到a.php,从命名到参数都具有菜刀的特征,于是
答案是<?php @eval([1234]);?>
的base64编码。
5、某公司内网网络被黑客渗透,请分析流量,黑客在robots.txt中找到的flag是什么:
无脑contains之,然后追踪HTTP流即可:(或者http contains "Disallow"
)
6、某公司内网网络被黑客渗透,请分析流量,黑客找到的数据库密码是多少:
黑客是通过马来操作数据库,那么contains上php和db:
要说有什么快速找到的技巧,我觉得就是倒着往前找吧。但是顺着时间看可以摸清黑客的攻击过程,更有价值些。
7、某公司内网网络被黑客渗透,请分析流量,黑客在数据库中找到的hash_code是什么:
在第一个包中尝试http contains “hash_code”,未果。
打开第二个包进行寻找。
分析一下两个包的协议情况:
第一个包主要在HTTP下做HTML的响应;第二个包则直接在TCP协议下操作数据库。
于是执行tcp contains "hash_code"
或者mysql contains "hash_code"
,然后去查看response,追踪流就好了。
8、某公司内网网络被黑客渗透,请分析流量,黑客破解了账号ijnu@test.com得到的密码是什么:
和上面一样tcp contains "ijnu@test.com"
就好了
解一个MD5
9、某公司内网网络被黑客渗透,请分析流量,被黑客攻击的web服务器,网卡配置是什么,提交网卡内网ip:
网卡的信息会一起出现,eth0、eth1、eth2…lo
所以http contains "eth"
或者http contains lo"
可以筛出对应信息
注意结果在Web1里,反正两个包都试一下。
10、某公司内网网络被黑客渗透,请分析流量,黑客使用了什么账号登陆了mail系统(形式: username/password):
既然是mail系统,所以去找mail的两个包,根据时间点看,黑客在进行爆破登录,mailtwo没爆出来,mailtwo1这个包继续爆,找到最后一条记录。
因为是否成功登录无法很明确看出来,不妨翻翻第一个包的记录。
首先后台对用户名和密码的验证如下:
然后,登录成功后的回显(response)如下:
可知,黑客登录成功的记录中也会有此信息,故使用http contains "{\"success\":true}"
(再回溯到request,找到序号17194)
根据第一张图,可知密码是AES加密之后的密文,利用CryptoJS+key解密即可,最终求得明文为:admin!@#pass123
(相关代码以后整理一下再放上来)
11、某公司内网网络被黑客渗透,请分析流量,黑客获得的vpn,ip是多少:
数据包中的IP不唯一,忽略CTF可以提交验证的情况。利用Wireshark的统计功能可以更好地解释它(统计→端点
):
得知10.3.4.3发包最多,解题完成。