1. 程式人生 > >安恆8月應急響應題目回顧

安恆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過濾看一下或者直接搜就行
Pj0s39.md.png
所以這一題的答案是awvs

2、得到黑客掃描到的登陸後臺是(相對路徑即可) /admin/login.php

通常後臺的名字包括

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)

也是同樣的套路
輸入

http contains "password"

這個我找得有點久,因為答案在最後,中間還有其他可以登陸上去的使用者有一個還像是人事,還有兩外一個好像是設麼simple啥的,看了這整個包,發現simple這個賬號有好幾次改密碼的操作,人事也登陸了幾次,這些混淆都給這題提高難度,如果你真的仔細分析這個包的話就會發現,這裡面黑客是大概爆破了幾次,中間還嘗試了一波SQL注入,而且爆破的過程都是用的admin賬戶,這也暗示了為什麼最後的登陸的使用者名稱是admin了,這裡的話登陸成功可以看長度,對比爆破跟正常人事的登入,成功的話一般長度都是750+,沒成功的話一般都是730+
Pj06j1.md.png
所以第三題的答案是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
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、黑客破解了賬號[email protected]得到的密碼是什麼

這一題一開始我還以為答案在mail的那兩個包裡面,結果還是在對sql操作的那個包上面,上來就直接http contains "[email protected]"啥都沒發現,這題目感覺出題沒說得太明白。。
後面就用tcp contains "[email protected]"把包篩出來,並且追蹤流就行了,當然這題也可以用mysql contains "[email protected]" 把包篩出來
一樣的效果
PjBV5F.md.png
這題明顯密碼經過MD5加密的,所以這題得去somd5上解密
這題的答案是[email protected]#

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的過程,

 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
所以感覺應該有這樣的重點字在裡面

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