安恒8月应急响应题目回顾

前言

最做流量分析的题目感觉还是不太熟悉,所以最近几篇博客都应该都是练习流量分析的题目了,就从安恒8月赛这个应急响应讲起吧,记录一下加深印象,顺便小结一下自己的做题领悟。

题目地址 https://pan.baidu.com/s/13SoD6xB7YBiqpUDCIcb8mg

正文

题目概述

1
2
3
4
5
6
7
8
9
10
11
1、给出黑客使用的扫描器
2、得到黑客扫描到的登陆后台是(相对路径即可) /admin/login.php
3、得到黑客使用了什么账号密码登陆了web后台(形式:username/password)
4、得到黑客上传的webshell文件名是什么,内容是什么,提交webshell内容的base编码
5、黑客在robots.txt中找到的flag是什么
6、黑客找到的数据库密码是多少
7、黑客在数据库中找到的hash_code是什么
8、黑客破解了账号ijnu@test.com得到的密码是什么
9、被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
10、黑客使用了什么账号登陆了mail系统(形式: username/password)
11、黑客获得的vpn,ip是多少

还得了解一下一些前置的知识

过滤IP,如源IP或者目标 x.x.x.x
ip.src == x.x.x.x or ip.dst eq x.x.x.x 或者 ip.addr == x.x.x.x
过滤端口
tcp.port eq 80 or udp.port eq 80
过滤MAC
eth.dst ==A0:00:00:04:C5:84

http模式过滤(就是一种模糊匹配)

1
2
3
4
5
6
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:"

一些常见的自动化工具的指纹

Awvs(Acunetix Web Vulnerability Scanner )

1
2
3
4
5
6
7
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

感觉我们只需要http contains “wvs” 或者是 http contains “acunetix”就可以把包给筛选出来

Netsparker

1
2
3
X-Scanner: NetsparkerLocation: 
NetsparkerAccept: netsparker/checkCookie:
netsparkerCookie: NETSPARKER

Appscan

1
2
Headers Content-Type: Appscan 
Content-Type: AppScanHeader Accept: Appscan User-Agent:Appscan

Nessus

1
2
3
x_forwarded_for: nessus
referer: nessus
host: nessus

Sqlmap

1
User-Agent: sqlmap1.2.8#stable

1、给出黑客使用的扫描器

竟然是黑客攻击,就应该把把http过滤看一下或者直接搜就行
Pj0s39.md.png
所以这一题的答案是awvs

2、得到黑客扫描到的登陆后台是(相对路径即可) /admin/login.php

通常后台的名字包括

1
2
3
4
admin
manager
login
system

所以我们直接搜其中的一个输入命令http contains "login" && http.request.method == "POST"
Pj0ycR.md.png
前面的都是登陆的页面,那个password_reset应该是密码重置
所以这一题的答案应该是/admin/login.php?rec=login

###3、得到黑客使用了什么账号密码登陆了web后台(形式:username/password)
也是同样的套路
输入

1
http contains "password"

这个我找得有点久,因为答案在最后,中间还有其他可以登陆上去的用户有一个还像是人事,还有两外一个好像是设么simple啥的,看了这整个包,发现simple这个账号有好几次改密码的操作,人事也登陆了几次,这些混淆都给这题提高难度,如果你真的仔细分析这个包的话就会发现,这里面黑客是大概爆破了几次,中间还尝试了一波SQL注入,而且爆破的过程都是用的admin账户,这也暗示了为什么最后的登陆的用户名是admin了,这里的话登陆成功可以看长度,对比爆破跟正常人事的登录,成功的话一般长度都是750+,没成功的话一般都是730+
Pj06j1.md.png
所以第三题的答案是admin/admin!@#pass123

4、得到黑客上传的webshell文件名是什么,内容是什么,提交webshell内容的base编码

通常webshell都会有明显的关键字比如eval、assert之类的,还有各种回调函数就不多说了。
我们这里也是一样的套路
ip.src == 192.168.94.59 and http contains "eval" 一看这不太正常的文件名,有很大机会就是webshell了,而且里面的内容含有z1这样的参数很大可能性就是菜刀连接的流量,所以文件名是/image/article/a.php
Pj02B6.md.png

所以这题的答案是
<?php @eval([1234]);?>的base64编码

5、黑客在robots.txt中找到的flag是什么

正常操作http contains "robots.txt"然后追踪流就好了
Pj0I9H.md.png
这题的答案就是上图的flag

6、黑客找到的数据库密码是多少

对于这题的数据库操作,先把马给过滤出来,然后再从里面找他的response,因为这里黑客是通过马对数据库操作的
可以先标记一下a.php第一次出现的地方,然后过滤http一条条去看他们的response就可以了,要是想详细一点的话可以加上db等字样,这就是做题时候的一些小技巧了。。可能恰好一样的效率有点低
Pj0XE8.md.png
所以这题的答案就是e667jUPvJjXHvEUv

7、黑客在数据库中找到的hash_code是什么

这个题目明显的就是说在数据库里面找到的hash_code,但是在第一个包里面使用http contains "hsah_code"只找到一个响应报文,里面什么都找不到,这时候我们别忘了有第二个包的存在,我就是经常忘了。。这种做题习惯得改改,太浮躁,一旦发现没有就不做了。。。
我们来对比一下两个包的协议分级,很明显第二包里面大多数都是mysql的操作,所以很大可能性就是这个包里面存在我们要的答案
第一个包应用层大部分都是html的响应
PjBpgs.md.png
而第二个包明显了,直接在tcp协议上执行的Mysql操作
PjB9vn.md.png
我们可以在第二个包里面用mysql的过滤,如果是想搜索执行语句的话最好这样子,如:mysql.query contains “SELECT”
类似的模糊匹配
mysql contains "hash_code"
然后随便找个response追踪流看一下,发现答案
PjBiD0.md.png
这题答案是d1c029893df40cb0f47bcf8f1c3c17ac

8、黑客破解了账号ijnu@test.com得到的密码是什么

这一题一开始我还以为答案在mail的那两个包里面,结果还是在对sql操作的那个包上面,上来就直接http contains "ijnu@test.com"啥都没发现,这题目感觉出题没说得太明白。。
后面就用tcp contains "ijnu@test.com"把包筛出来,并且追踪流就行了,当然这题也可以用mysql contains "ijnu@test.com" 把包筛出来
一样的效果
PjBV5F.md.png
这题明显密码经过MD5加密的,所以这题得去somd5上解密
这题的答案是edc123!@#

9、被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip

在webone的那个包里面直接搜索就可以得到
http contains "eth"
PjBm8J.md.png
或者你也可以直接从webtwo的包里面直接看到内网ip,这也对应了题目后面内网渗透之后,用vpn连接的过程
也就是从192.168.32.189(内网地址)->10.3.3.100(连接vpn后重新分配的内网地址)
所以这题的答案就是10.3.3.100

10、黑客使用了什么账号登陆了mail系统(形式: username/password)

既然说是mail系统那我们就在mail的两个包里面寻求答案,在mailtwo里面输入http.request.method == "POST" and http contains "password"
出现很多相同username不同密码的请求,很有可能是在爆破mail系统,在mailtwo1这一个包里面同样的过滤还存在几条成立请求,对比一下时间,这应该是mailtwo还没爆破完mailtwo1这个包继续爆破,在mailtwo包里面的序号28的信息里面对应下面的几条response,发现一名叫wenwenni的人应该是登录成功的,经过了一个check的过程,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var loginCheck = function(form) {
if(form.username.value == "") {
alert("...........................");
form.username.focus();
return false;
}
if(form.password.value == "") {
alert("...........................");
form.password.focus();
return false;
}
else{
var key_hash = CryptoJS.MD5('1234567812345678');
var key = CryptoJS.enc.Utf8.pars

然后回显下面的信息
PjBQDx.png
所以感觉应该有这样的重点字在里面

1
http contains "{\"success\":true}" and ip.addr==192.168.94.59

于是乎过滤,但是第一个包里面太多了,这一题其实我也不怎么确定,为什么与这么多success的还得继续爆破下去?希望有大佬能讲一讲。。。。
之鞥按照常规套路,把在mailtwo1包里面的筛出来的最后一个标记一下,再过滤回http,再来ctrl+shift+N跳到标记处,然后往回找有关登录的请求,找到的第一个请求。。。
PjBlb6.md.png

那个密码需要AES解密,利用上面的算法求出key大概是。。。个人感觉这题最有难度
http://encode.chahuo.com/

解密出来的结果跟第三题的答案一样。。。。。后来看到有人说这是社工手段,直接套第三题答案,有意思有意思。。。。

11、黑客获得的vpn,ip是多少

最后一题在vpntwo这个包里面直接点击统计->端点,又学到了一种方法
看到发包最多的是10.3.4.3
PjB8UO.md.png
所以这个答案就是10.3.4.3

小结

感觉流量分析还是有点套路的,第一点就是多用点contains语句,模糊匹配一下,关键字靠自己的灵活性以及分析过程得出的结论,个人感觉大部分题目会给出,比如的话有小马上传的时候,你会想到会存在关键字,比如eval,assert之类的东西吗,别人用拼接方式传的马那就另当别论了。。但是还是可以通过菜刀的一些标志来识别的,例如>||<之类符号,2333
第二就是各种自动化扫描器的指纹特征,还是得记一下,有点用,第三就是可以通过统计去发现某些ip的发包次数,从而确定可疑ip


听说,打赏我的人最后都成了大佬。



文章目录
  1. 1. 前言
  2. 2. 正文
    1. 2.1. 题目概述
      1. 2.1.1. 1、给出黑客使用的扫描器
      2. 2.1.2. 2、得到黑客扫描到的登陆后台是(相对路径即可) /admin/login.php
      3. 2.1.3. 4、得到黑客上传的webshell文件名是什么,内容是什么,提交webshell内容的base编码
      4. 2.1.4. 5、黑客在robots.txt中找到的flag是什么
      5. 2.1.5. 6、黑客找到的数据库密码是多少
      6. 2.1.6. 7、黑客在数据库中找到的hash_code是什么
      7. 2.1.7. 8、黑客破解了账号ijnu@test.com得到的密码是什么
      8. 2.1.8. 9、被黑客攻击的web服务器,网卡配置是是什么,提交网卡内网ip
      9. 2.1.9. 10、黑客使用了什么账号登陆了mail系统(形式: username/password)
      10. 2.1.10. 11、黑客获得的vpn,ip是多少
  3. 3. 小结