安恆8月應急響應題目回顧
前言
最做流量分析的題目感覺還是不太熟悉,所以最近幾篇部落格都應該都是練習流量分析的題目了,就從安恆8月賽這個應急響應講起吧,記錄一下加深印象,順便小結一下自己的做題領悟。
題目地址 https://pan.baidu.com/s/13SoD6xB7YBiqpUDCIcb8mg
正文
題目概述
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模式過濾(就是一種模糊匹配)
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 )
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
X-Scanner: NetsparkerLocation:
NetsparkerAccept: netsparker/checkCookie:
netsparkerCookie: NETSPARKER
Appscan
Headers Content-Type: Appscan
Content-Type: AppScanHeaderAccept: Appscan User-Agent:Appscan
Nessus
x_forwarded_for: nessus
referer: nessus
host: nessus
Sqlmap
User-Agent: sqlmap1.2.8#stable
1、給出黑客使用的掃描器
竟然是黑客攻擊,就應該把把http過濾看一下或者直接搜就行
所以這一題的答案是awvs
2、得到黑客掃描到的登陸後臺是(相對路徑即可) /admin/login.php
通常後臺的名字包括
admin
manager
login
system
所以我們直接搜其中的一個輸入命令http contains "login" && http.request.method == "POST"
前面的都是登陸的頁面,那個password_reset應該是密碼重置
所以這一題的答案應該是/admin/login.php?rec=login
3、得到黑客使用了什麼賬號密碼登陸了web後臺(形式:username/password)
也是同樣的套路
輸入
http contains "password"
這個我找得有點久,因為答案在最後,中間還有其他可以登陸上去的使用者有一個還像是人事,還有兩外一個好像是設麼simple啥的,看了這整個包,發現simple這個賬號有好幾次改密碼的操作,人事也登陸了幾次,這些混淆都給這題提高難度,如果你真的仔細分析這個包的話就會發現,這裡面黑客是大概爆破了幾次,中間還嘗試了一波SQL注入,而且爆破的過程都是用的admin賬戶,這也暗示了為什麼最後的登陸的使用者名稱是admin了,這裡的話登陸成功可以看長度,對比爆破跟正常人事的登入,成功的話一般長度都是750+,沒成功的話一般都是730+
所以第三題的答案是admin/[email protected]#pass123
4、得到黑客上傳的webshell檔名是什麼,內容是什麼,提交webshell內容的base編碼
通常webshell都會有明顯的關鍵字比如eval、assert之類的,還有各種回撥函式就不多說了。
我們這裡也是一樣的套路
ip.src == 192.168.94.59 and http contains "eval"
一看這不太正常的檔名,有很大機會就是webshell了,而且裡面的內容含有z1這樣的引數很大可能性就是菜刀連線的流量,所以檔名是/image/article/a.php
所以這題的答案是
<?php @eval([1234]);?>
的base64編碼
5、黑客在robots.txt中找到的flag是什麼
正常操作http contains "robots.txt"
然後追蹤流就好了
這題的答案就是上圖的flag
6、黑客找到的資料庫密碼是多少
對於這題的資料庫操作,先把馬給過濾出來,然後再從裡面找他的response,因為這裡黑客是通過馬對資料庫操作的
可以先標記一下a.php
第一次出現的地方,然後過濾http一條條去看他們的response就可以了,要是想詳細一點的話可以加上db等字樣,這就是做題時候的一些小技巧了。。可能恰好一樣的效率有點低
所以這題的答案就是e667jUPvJjXHvEUv
7、黑客在資料庫中找到的hash_code是什麼
這個題目明顯的就是說在資料庫裡面找到的hash_code,但是在第一個包裡面使用http contains "hsah_code"
只找到一個響應報文,裡面什麼都找不到,這時候我們別忘了有第二個包的存在,我就是經常忘了。。這種做題習慣得改改,太浮躁,一旦發現沒有就不做了。。。
我們來對比一下兩個包的協議分級,很明顯第二包裡面大多數都是mysql的操作,所以很大可能性就是這個包裡面存在我們要的答案
第一個包應用層大部分都是html的響應
而第二個包明顯了,直接在tcp協議上執行的Mysql操作
我們可以在第二個包裡面用mysql的過濾,如果是想搜尋執行語句的話最好這樣子,如:mysql.query contains “SELECT”
類似的模糊匹配
mysql contains "hash_code"
然後隨便找個response追蹤流看一下,發現答案
這題答案是d1c029893df40cb0f47bcf8f1c3c17ac
8、黑客破解了賬號[email protected]得到的密碼是什麼
這一題一開始我還以為答案在mail的那兩個包裡面,結果還是在對sql操作的那個包上面,上來就直接http contains "[email protected]"
啥都沒發現,這題目感覺出題沒說得太明白。。
後面就用tcp contains "[email protected]"
把包篩出來,並且追蹤流就行了,當然這題也可以用mysql contains "[email protected]"
把包篩出來
一樣的效果
這題明顯密碼經過MD5加密的,所以這題得去somd5上解密
這題的答案是[email protected]#
9、被黑客攻擊的web伺服器,網絡卡配置是是什麼,提交網絡卡內網ip
在webone的那個包裡面直接搜尋就可以得到
http contains "eth"
或者你也可以直接從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的過程,
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
然後回顯下面的資訊
所以感覺應該有這樣的重點字在裡面
http contains "{\"success\":true}" and ip.addr==192.168.94.59
於是乎過濾,但是第一個包裡面太多了,這一題其實我也不怎麼確定,為什麼與這麼多success的還得繼續爆破下去?希望有大佬能講一講。。。。
之鞥按照常規套路,把在mailtwo1包裡面的篩出來的最後一個標記一下,再過濾回http,再來ctrl+shift+N
跳到標記處,然後往回找有關登入的請求,找到的第一個請求。。。
那個密碼需要AES解密,利用上面的演算法求出key大概是。。。個人感覺這題最有難度
http://encode.chahuo.com/
解密出來的結果跟第三題的答案一樣。。。。。後來看到有人說這是社工手段,直接套第三題答案,有意思有意思。。。。
11、黑客獲得的vpn,ip是多少
最後一題在vpntwo這個包裡面直接點選統計->端點,又學到了一種方法
看到發包最多的是10.3.4.3
所以這個答案就是10.3.4.3
小結
感覺流量分析還是有點套路的,第一點就是多用點contains語句,模糊匹配一下,關鍵字靠自己的靈活性以及分析過程得出的結論,個人感覺大部分題目會給出,比如的話有小馬上傳的時候,你會想到會存在關鍵字,比如eval,assert之類的東西嗎,別人用拼接方式傳的馬那就另當別論了。。但是還是可以通過菜刀的一些標誌來識別的,例如>||<之類符號,2333
第二就是各種自動化掃描器的指紋特徵,還是得記一下,有點用,第三就是可以通過統計去發現某些ip的發包次數,從而確定可疑ip