流量分析-Wireshark -操作手冊(cè)(不能說最全,只能說更全)
基于各種比賽做的總解
基于協(xié)議過濾?法?? 常用篩選命令方法 常?快捷鍵?? 數(shù)據(jù)包篩選 等等
流量分析簡(jiǎn)介
?絡(luò)流量分析是指捕捉?絡(luò)中流動(dòng)的數(shù)據(jù)包,并通過查看包內(nèi)部數(shù)據(jù)以及進(jìn)?相關(guān)的協(xié)議、流量分析、統(tǒng)計(jì)等來發(fā)現(xiàn)?絡(luò)運(yùn)?過程中出現(xiàn)的問題。
在CTF比賽中,以及各種技能大賽對(duì)于流量包的分析取證是一種十分重要的題型。通常這類題目都是會(huì)提供一個(gè)包含流量數(shù)據(jù)的pcap文件,參賽選手通過該文件篩選和過濾其中無關(guān)的流量信息,根據(jù)關(guān)鍵流量信息找出flag或者相關(guān)線索。
pcap流量包的分析通常都是通過圖形化的網(wǎng)絡(luò)嗅探器——wireshark進(jìn)行的,這款嗅探器經(jīng)過眾多開發(fā)者的不斷完善,現(xiàn)在已經(jīng)成為使用最為廣泛的安全工具之一。接下來,小路我來為大家講解這款工具的基本使用。
站在?絡(luò)技術(shù)?員的?度上:
-
通過捕捉路由器的流量,進(jìn)?發(fā)現(xiàn)?絡(luò)癱瘓的原因
-
通過捕捉局域?的流量,進(jìn)?分析流量波動(dòng)的原因
-
…
?站在空間安全攻防的?度上來看:
-
技術(shù)?員能夠分析攻擊者的流量,從?推斷出攻擊者的攻擊路徑,并進(jìn)?朔源
-
通過流量分析,研究攻擊者的漏洞利??法,進(jìn)?修補(bǔ)漏洞
-
更有?神直接通過數(shù)據(jù)包反向推0day
-
…
?欲善其事必先利其器-Wireshark
Wireshark
?般流量我們都需要通過?定的?法去過濾,減少??流量的?擾,從?更精確的去分析下?,我們先帶領(lǐng)?家講講Wireshark 的UI 然后說說Wireshark ?具的常?流量過濾語法
?具簡(jiǎn)介
我們要探索與介紹的點(diǎn)如下:
-
Wireshark 主界?簡(jiǎn)介
-
如何在Wireshark 中查看數(shù)據(jù)包
-
如何在Wireshark 中捕獲數(shù)據(jù)包
-
如何在Wireshark 中執(zhí)?跟蹤分析
-
如何在Wireshark 中過濾數(shù)據(jù)包
-
and more …
第?次捕獲數(shù)據(jù)包
-
打開Wireshark。
-
從主下拉菜單中選擇Capture,然后是Interface。這時(shí)你應(yīng)該可以看到?個(gè)對(duì)話框,??列出了你可以?來捕獲數(shù)據(jù)包的各種設(shè)備,以及它們的IP 地址。
-
選擇你想要使?的設(shè)備,如圖下圖所?,然后單擊Start,或者直接單擊歡迎畫?中InterfaceList下的某?個(gè)設(shè)備。隨后數(shù)據(jù)就會(huì)在窗?中呈現(xiàn)出來

-
選擇本地出?的?卡,即可捕獲本地傳輸?shù)臄?shù)據(jù)包

報(bào)錯(cuò)解決?法
有時(shí)可能會(huì)遇到報(bào)錯(cuò),如下,解決?法如下:
please turn off promiscuous mode for this device
譯?:[錯(cuò)誤:未能將硬件過濾器設(shè)置為混雜模式- 請(qǐng)為此設(shè)備關(guān)閉混雜模式]
使?Wireshark抓包的時(shí)候,報(bào)出如下錯(cuò)誤:
1 The capture session could not be initiated on interface
'\Device\NPF_Loopback' (Error opening adapter: The system cannot find the path specified. (3)).
關(guān)閉混雜模式即可,步驟如下:


將勾勾去掉即可

常?快捷鍵??
keyboard |
explan |
ctrl+m |
標(biāo)記數(shù)據(jù)包 |
ctrl+shift+N |
跳到標(biāo)記處 |
基于協(xié)議過濾?法??
直接鍵?協(xié)議名稱即可
filter |
code |
http |
過濾出http 協(xié)議數(shù)據(jù)包 |
arp |
過濾出arp 協(xié)議數(shù)據(jù)包 |
mysql |
過濾出mysql 數(shù)據(jù)庫查詢與響應(yīng)的數(shù)據(jù)包 |
tcp |
過濾出tcp 協(xié)議的數(shù)據(jù)包 |
nbns |
該協(xié)議記錄了對(duì)應(yīng)IP 的計(jì)算機(jī)名稱 |
icmp |
過濾出icmp(ping) 協(xié)議數(shù)據(jù)包 |
icmp 協(xié)議數(shù)據(jù)包
關(guān)于 icmp 協(xié)議數(shù)據(jù)包的?個(gè)特殊題?要點(diǎn)解析
有時(shí)流量分析的題?會(huì)考到協(xié)議本質(zhì)上去,這?對(duì) icmp 做?個(gè)補(bǔ)充,因?yàn)榈拇_遇到過
根據(jù)實(shí)戰(zhàn)題?去學(xué)習(xí)效率會(huì)更好,?個(gè)例?,注意:“報(bào)?重定向的數(shù)量”
使?Wireshark 分析capture.pcapng 數(shù)據(jù)包?件,這些數(shù)據(jù)中有?常多的ICMP 報(bào)?,這報(bào)?中有?量的?正常ICMP 報(bào)?,找出類型為重定向的所有報(bào)?,將"報(bào)?重定向的數(shù)量"作Flag 值提交。flag 格式:flag{重定向數(shù)量}
過濾?法:icmp.type eq 5
知識(shí)補(bǔ)充
每?個(gè)包都是通過數(shù)據(jù)鏈路層DLC 協(xié)議,IP 協(xié)議和ICMP 協(xié)議共三層協(xié)議的封裝。DLC 協(xié)議的?的和源地址是MAC 地址,IP 協(xié)議的?的和源地址是IP 地址,這層主要負(fù)責(zé)將上層收到的信息發(fā)送出去,?ICMP 協(xié)議主要是Type和Code來識(shí)別,“Type:8,Code:0” 表?報(bào)?類型為診斷報(bào)?的請(qǐng)求測(cè)試包,“Type:0,Code:0” 表?報(bào)?類型為診斷報(bào)?類型請(qǐng)正常的包。ICMP 提供多種類型的消息為源端節(jié)點(diǎn)提供?絡(luò)額故障信息反饋,報(bào)?類型可歸納如下:
-
診斷報(bào)?(類型:8,代碼0;類型:0 代碼:0);
-
?的不可達(dá)報(bào)?(類型:3,代碼0-15);
-
重定向報(bào)?(類型:5,代碼:0--4);
-
超時(shí)報(bào)?(類型:11,代碼:0--1);
-
信息報(bào)?(類型:12--18)。

重定向數(shù)量是57
基于協(xié)議的衍?-常?過濾語法
這?我們列舉常?的過濾?法,舉例HTTP 協(xié)議,望拋磚引?
filter code |
explan |
&& |
and 邏輯 |
|| |
or 邏輯 |
== |
等于 |
!= |
不等于 |
ip.src eq |
過濾出為該源IP 的數(shù)據(jù)包 |
ip.dst eq |
過濾出為該?的IP 的數(shù)據(jù)包 |
tcp.port eq |
過濾出特定端?的TCP 數(shù)據(jù)包 |
udp.port eq |
過濾出特定端?的UDP 數(shù)據(jù)包 |
eth.src eq |
過濾出特定源MAC 的數(shù)據(jù)包 |
eth.dst eq |
過濾出特定?的MAC 的數(shù)據(jù)包 |
http.request.method == "" |
過濾出特定HTTP ?法的數(shù)據(jù)包 |
http.request.uri =="" |
過濾出為特定請(qǐng)求的URL ?錄數(shù)據(jù)包 |
http contains “” |
模糊查詢,類似全局搜索 |
http.response.code == |
過濾出相關(guān)HTTP 數(shù)據(jù)包中的對(duì)應(yīng)響應(yīng)碼數(shù)據(jù)包 |
http.request.full_uri matches "/webmail/index.php*" |
以HTTP 協(xié)議為基礎(chǔ) URI(URL)的正則表達(dá)模式匹配 (可以看到其中有?個(gè)通配符 * ) |
mysql contains “” |
基于MySQL 協(xié)議的模糊查詢 |
icmp.type eq 5 |
過濾icmp 協(xié)議類型為 5 的數(shù)據(jù)包 |
基于持續(xù)會(huì)話
主題可能沒法解釋這個(gè)?法,我們看?道題?
使?Wireshark 分析capture.pcapng 數(shù)據(jù)流量包,ftp 服務(wù)器已經(jīng)傳輸?件結(jié)束,將建?FTP 服務(wù)器的數(shù)據(jù)連接的次數(shù)作為Flag 值提交。flag 格式: flag {連接次數(shù)}
關(guān)鍵要求是,將建?FTP 服務(wù)器的數(shù)據(jù)連接的次數(shù)組為Flag 提交。還是?樣我們來到FTP 過濾然后我們可以通過Wireshark 只直觀的判斷,該FTP 數(shù)據(jù)連接到斷開的情況,也就是?個(gè)持續(xù)會(huì)話的開始到結(jié)束,wireshark 會(huì)我們??條曲折線描述

因此分析到,只1 次
所以flag{1}
識(shí)別數(shù)據(jù)包數(shù)量
Wireshark ?帶功能會(huì)統(tǒng)計(jì)當(dāng)前數(shù)據(jù)包的數(shù)量,過濾后根據(jù)過濾語句過濾后的數(shù)據(jù)包,統(tǒng)計(jì)數(shù)據(jù)包數(shù)量
?個(gè)題?例?會(huì)更好理解?些
使? Wireshark 分析 capture.pcapng 數(shù)據(jù)流量包,找出數(shù)據(jù)包當(dāng)中所有 HTTP 狀態(tài)碼為 404的報(bào)?,將這些報(bào)?的數(shù)量作為 Flag 值提交。flag 格式: flag {報(bào)?數(shù)量}
過濾語法: http.response.code == 404

追蹤流?法 ??
追蹤流?法不管是在?賽中,還是在實(shí)際應(yīng)急響應(yīng)進(jìn)?流量分析時(shí)都?常好?,可
以具體顯??個(gè)數(shù)據(jù)包的內(nèi)容以及傳輸數(shù)據(jù),簡(jiǎn)單的使?如下
這?追蹤 MySQL 的傳輸流量,我們可以更清楚的看到 Hacker 在攻擊 MySQL 數(shù)據(jù)庫時(shí)的路徑


統(tǒng)計(jì)-端點(diǎn)?法 ??
該?法適?于對(duì) 數(shù)據(jù)包內(nèi) IP 進(jìn)?可視化統(tǒng)計(jì),分析該數(shù)據(jù)包內(nèi)的 IP 占?
常?于題型如下:
-
分析 Hacker 的 IP 地址
-
…

根據(jù) IP 發(fā)包數(shù)量,可猜測(cè)惡意攻擊者 IP,這?推測(cè): 10.3.3.101 為惡意攻擊者 IP
當(dāng)然為確保百分百正確,我們可以使?該 IP 去進(jìn)?語句過濾,看看是否符合?個(gè)惡意攻擊特征
ip.src eq 10.3.3.101 and mysql contains "pass"
過濾后,直接追蹤流,查看詳細(xì)的數(shù)據(jù)流量,可以發(fā)現(xiàn)?個(gè) MD5 值,我想正常運(yùn)維?般不會(huì)這樣?

雖然這樣確認(rèn)有點(diǎn)?虎,但若在真實(shí)環(huán)境下,確認(rèn)?法有很多,除了可以根據(jù) IP 過濾是否存在惡意?
為,還有很多其他?法,這?不??舉例。
統(tǒng)計(jì)-協(xié)議分級(jí)?法 ??
若題?給的數(shù)據(jù)包過多,我們可以進(jìn)?協(xié)議統(tǒng)計(jì),避免我們?cè)?個(gè)??的數(shù)據(jù)包中
浪費(fèi)時(shí)間
?如:請(qǐng)分析 Hacker 在 MySQL 數(shù)據(jù)庫中找到的賬?密碼,這?我們就可以直接統(tǒng)計(jì)該數(shù)據(jù)包,是否
存在 MySQL 流量,若不存在,則直接放棄該數(shù)據(jù)包,查看并統(tǒng)計(jì)其他數(shù)據(jù)包流量


統(tǒng)計(jì)-HTTP 請(qǐng)求 ??
統(tǒng)計(jì) HTTP 請(qǐng)求可以直接分析 HTTP 數(shù)據(jù)包請(qǐng)求的 URL 路徑


掃描器類型
-
?awvs:acunetix
-
?netsparker:netsparker
-
?appscan:Appscan
-
?nessus:nessus
-
?sqlmap:sqlmap
-
既然要找掃描器 就以上的幾種 常用的掃描器也就這幾個(gè):awvs,appscan,nessus
Tcpdump
使用tcpdump抓取網(wǎng)絡(luò)數(shù)據(jù)包,是運(yùn)維工作繞不開的坎,這里會(huì)先簡(jiǎn)單介紹一下基本的操作,接著會(huì)經(jīng)由規(guī)則部分拓展一下,畢竟我們很多時(shí)候在搜索的時(shí)候,會(huì)找到各種各樣的表達(dá)式,但卻不知道這個(gè)是怎么來的,里面到底代表著什么含義(因?yàn)楸荣愔谢静皇褂?,所以?jiǎn)單說一下)
tcpdump命令格式及使用
tcpdump采用命令行方式,它的命令格式為:
tcpdump [ -adeflnNOpqStvx ] [ -c 數(shù)量 ] [ -F 文件名 ][ -i 網(wǎng)絡(luò)接口 ] [ -r 文件名] [ -s snaplen ][ -T 類型 ] [ -w 文件名 ] [表達(dá)式 ]
-a 將網(wǎng)絡(luò)地址和廣播地址轉(zhuǎn)帖變成名字;
-d 將匹配信息包的代碼以人們能夠理解的匯編格式給出;
-dd 將匹配信息包的代碼以c語言程序段的格式給出;
-ddd 將匹配信息包的代碼以十進(jìn)制的形式給出;
-e 在輸出行打印出數(shù)據(jù)鏈路層的頭部信息;
-f 將外部的Internet地址以數(shù)字的形式打印出來;
-l 使標(biāo)準(zhǔn)輸出變?yōu)榫彌_行形式;
-n 不把網(wǎng)絡(luò)地址轉(zhuǎn)帖換成名字;
-t 在輸出的每一行不打印時(shí)間戳;
-v 輸出一個(gè)稍微詳細(xì)的信息,例如在ip包中可以包括ttl和服務(wù)類型的信息;
-vv 輸出詳細(xì)的報(bào)文信息;
-c 在收到指定的包的數(shù)目后,tcpdump就會(huì)停止;
-F 從指定的文件中讀取表達(dá)式,忽略其它的表達(dá)式;
-i 指定監(jiān)聽的網(wǎng)絡(luò)接口;
-r 從指定的文件中讀取包(這些包一般通過-w選項(xiàng)產(chǎn)生);
-w 直接將包寫入文件中,并不分析和打印出來;
-T 將監(jiān)聽到的包直接解釋為指定的類型的報(bào)文,常見的類型有rpc(遠(yuǎn)程過程調(diào)用)和snmp(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議;)
-
tcpdump -i eth0
-
tcpdump -c -i eth0
-
tcpdump -A -i eth0
-
tcpdump -w 0001.pcap -i eth0
-
tcpdump -r 0001.pcap
-
tcpdump -n -i eth0
-
tcpdump -i eth0 port 22
-
tcpdump -i eth0 -src 172.21.10.X
-
tcpdump -i eth0 -dst 172.21.10.X
-
表達(dá)式是一個(gè)正則表達(dá)式,tcpdump利用它作為過濾報(bào)文的條件,如果一個(gè)報(bào)文滿足表達(dá)式的條件,則這個(gè)報(bào)文將會(huì)被捕獲。如果沒有給出任何條件,則網(wǎng)絡(luò)上所有的信息包將會(huì)被截獲。
-
在表達(dá)式中一般如下幾種類型的關(guān)鍵字:
-
第一種是類型的關(guān)鍵字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一臺(tái)主機(jī),net 202.0.0.0 指明202.0.0.0是一個(gè)網(wǎng)絡(luò)地址,port 23 指明端口號(hào)是23。如果沒有指定類型,缺省的類型是host.
-
第二種是確定傳輸方向的關(guān)鍵字,主要包括src , dst ,dst or src, dst and src ,這些關(guān)鍵字指明了傳輸?shù)姆较?。舉例說明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2, dst net 202.0.0.0 指明目的網(wǎng)絡(luò)地址是202.0.0.0 。如果沒有指明方向關(guān)鍵字,則缺省是src or dst關(guān)鍵字。
-
第三種是協(xié)議的關(guān)鍵字,主要包括fddi,ip ,arp,rarp,tcp,udp等類型。Fddi指明是在FDDI(分布式光纖數(shù)據(jù)接口網(wǎng)絡(luò))上的特定的網(wǎng)絡(luò)協(xié)議,實(shí)際上它是"ether"的別 名,fddi和ether具有類似的源地址和目的地址,所以可以將fddi協(xié)議包當(dāng)作ether的包進(jìn)行處理和分析。其他的幾個(gè)關(guān)鍵字就是指明了監(jiān)聽的包 的協(xié)議內(nèi)容。如果沒有指定任何協(xié)議,則tcpdump將會(huì)監(jiān)聽所有協(xié)議的信息包。
-
除了這三種類型的關(guān)鍵字之外,其他重要的關(guān)鍵字如下:gateway, broadcast,less,greater,還有三種邏輯運(yùn)算,取非運(yùn)算是 'not ' '! ', 與運(yùn)算是'and','&&';或運(yùn)算 是'or' ,'||';這些關(guān)鍵字可以組合起來構(gòu)成強(qiáng)大的組合條件來滿足人們的需要,下面舉幾個(gè)例子來說明。
(1)想要截獲所有210.27.48.1 的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包:
#tcpdump host 210.27.48.1
(2) 想要截獲主機(jī)210.27.48.1 和主機(jī)210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中適用括號(hào)時(shí),一定要
#tcpdump host 210.27.48.1 and (210.27.48.2or 210.27.48.3 )
(3) 如果想要獲取主機(jī)210.27.48.1除了和主機(jī)210.27.48.2之外所有主機(jī)通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and !210.27.48.2
(4)如果想要獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1
常??客?具指紋
漏掃?具指紋(就是上文說的掃描器)
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
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
zgrab
User-Agent: zgrab <version>
SQL 注??具
Sqlmap
注意 version 版本
User-Agent: sqlmap1.2.8#stable
信息收集?具
Nmap
User-Agent: Mozilla/5.0 (compatible; Nmap Scripting Engine;https://nmap.org/book/nse.html)
常用篩選命令方法
根據(jù)IP地址進(jìn)行篩選:
命令匯總:
ip.addr==192.168.1.122 //根據(jù)IP地址篩選,包括源ip或者目的IP
ip.src==192.168.1.122 //根據(jù)源IP地址篩選
ip.dst==192.168.1.122 //根據(jù)目的IP地址篩選
-
根據(jù)IP地址進(jìn)行篩選
使用命令:ip.addr== 10.255.0.1
命令解說:篩選出IP地址是10.255.0.1的數(shù)據(jù)包,包括源IP地址或者目的IP地址使用的是10.255.0.1的全部數(shù)據(jù)包。

2.根據(jù)源IP地址篩選
使用命令:ip.src==10.255.0.1
命令解說:篩選出源IP地址是10.255.0.1的數(shù)據(jù)包

3.根據(jù)目的IP地址篩選
使用命令:ip.dst==10.255.0.1
命令解說:篩選出目的地址是10.255.0.1的數(shù)據(jù)包。

根據(jù)MAC地址進(jìn)行篩選
命令匯總:
eth.addr==20:dc:e6:f3:78:cc
eth.src==20:dc:e6:f3:78:cc
eth.dst==20:dc:e6:f3:78:cc
1.根據(jù)MAC地址進(jìn)行篩選
使用命令:eth.addr==20:dc:e6:f3:78:cc
命令解說:篩選出MAC地址是20:dc:e6:f3:78:cc的數(shù)據(jù)包,包括源MAC地址或者目的MAC地址使用的是20:dc:e6:f3:78:cc的全部數(shù)據(jù)包。

2.根據(jù)源MAC地址篩選
使用命令:eth.src==20:dc:e6:f3:78:cc
命令解說:篩選出源MAC地址是20:dc:e6:f3:78:cc的數(shù)據(jù)包
3.根據(jù)目的MAC地址篩選
使用命令:eth.dst==20:dc:e6:f3:78:cc
命令解說:篩選出目的MAC地址是20:dc:e6:f3:78:cc的數(shù)據(jù)包
端口過濾
如過濾80端口,在Filter中輸入,tcp.port==80,這條規(guī)則是把源端口和目的端口為80的都過濾出來。
使用tcp.dstport==80只過濾目的端口為80的,tcp.srcport==80只過濾源端口為80的包;
命令匯總:
tcp.port==80 //根據(jù)TCP端口篩選數(shù)據(jù)包,包括源端口或者目的端口
tcp.dstport==80 //篩選tcp協(xié)議的目標(biāo)端口為80 的流量包
tcp.srcport==80 //篩選tcp協(xié)議的源端口為80 的流量包
udp.port==4010 //根據(jù)UDP端口篩選數(shù)據(jù)包,包括源端口或者目的端口
udp.srcport==4010 //篩選UDP協(xié)議的目標(biāo)端口為4010 的流量包
udp.dstport==4010 //篩選UDP協(xié)議的源端口為4010 的流量包
1.篩選TCP端口
使用命令:tcp.port==80
命令解說:篩選出TCP端口是80通信的數(shù)據(jù)包,包括源端口使用TCP 80或者目的端口使用tcp 80端口的數(shù)據(jù)包

2.篩選目的端口數(shù)據(jù)包
使用命令:tcp.dstport==80
命令解說:篩選出目的端口使用的是TCP 80通信的數(shù)據(jù)包

3.篩選源端口數(shù)據(jù)包
使用命令:tcp.srcport==80
命令解說:篩選出源端口是采用tcp 80端口的數(shù)據(jù)包。
通訊協(xié)議進(jìn)行篩選
根據(jù)通訊協(xié)議進(jìn)行篩選數(shù)據(jù)包,例如http協(xié)議、ftp協(xié)議等等。常用協(xié)議有下:
udp
tcp
arp
icmp
smtp
pop
dns
ip
ssl
http
ftp
telnet
ssh
rdp
rip
ospf
這里就拿http舉例了
http請(qǐng)求篩選
1.篩選出http協(xié)議數(shù)據(jù)包
協(xié)議篩選相對(duì)來說比較簡(jiǎn)單,直接在過濾窗口(filter)輸入?yún)f(xié)議即可。例如篩選出http協(xié)議的數(shù)據(jù)如下圖:

2.篩選出http的GET數(shù)據(jù)包
使用命令:http.request.method==GET
命令解說:篩選出http協(xié)議采用get方式的數(shù)據(jù)包。注意GET一定要寫成大寫,否則篩選不出來的。

3.篩選出http的POST數(shù)據(jù)包
使用命令: http.request.method==POST
命令解說:篩選出采用http協(xié)議的post方式的數(shù)據(jù)包,注意POST參數(shù)一定要寫成大寫的,否則篩選不出來數(shù)據(jù)。

4.篩選HTTP請(qǐng)求的指定URL
指定URI:http.request.uri==“/img/logo-edu.gif”
篩選HTTP請(qǐng)求的URL為/img/logo-edu.gif的流量包
5.篩選HTTP內(nèi)容為/FLAG的流量包
請(qǐng)求或相應(yīng)中包含特定內(nèi)容:http contains “FLAG”
篩選HTTP內(nèi)容為/FLAG的流量包
包長(zhǎng)度篩選:
udp.length ==20 篩選長(zhǎng)度為20的udp流量包
tcp.len >=20 篩選長(zhǎng)度大于20的tcp流量包
ip.len ==20 篩選長(zhǎng)度為20的IP流量包
frame.len ==20 篩選長(zhǎng)度為20的整個(gè)流量包
邏輯表達(dá)式篩選
邏輯表達(dá)式匯總:
|| //邏輯或
&& //邏輯與
! //邏輯非
1.邏輯與篩選方法
使用命令:ip.src==192.168.1.122&&ip.dst==121.114.244.119
命令解說:篩選出源ip地址是192.168.1.122并且目的地址是121.114.244.119的數(shù)據(jù)包。在使用的時(shí)候也可以用括號(hào)進(jìn)行包含區(qū)分,上面的命令也可以等價(jià)于以下命令
(ip.src==192.168.1.122)&&(ip.dst==121.114.244.119)

2.邏輯或篩選
使用命令:ip.src==192.168.1.122||ip.src==182.254.110.91
命令解說:篩選出源IP地址是192.168.1.122或者源ip地址是182.254.110.91的數(shù)據(jù)

3.邏輯非篩選
使用命令:!(ip.addr==192.168.1.122)
命令解說:篩選出不是192.168.1.122的數(shù)據(jù)包。

數(shù)據(jù)包搜索:
在wireshark界面按“Ctrl+F”,可以進(jìn)行關(guān)鍵字搜索:

Wireshark的搜索功能支持正則表達(dá)式、字符串、十六進(jìn)制等方式進(jìn)行搜索,通常情況下直接使用字符串方式進(jìn)行搜索。

搜索欄的左邊下拉,有分組列表、分組詳情、分組字節(jié)流三個(gè)選項(xiàng),分別對(duì)應(yīng)wireshark界面的三個(gè)部分,搜索時(shí)選擇不同的選項(xiàng)以指定搜索區(qū)域:

分組列表:

分組詳情:

分組字節(jié)流:

數(shù)據(jù)包還原
在wireshark中,存在一個(gè)交追蹤流的功能,可以將HTTP或TCP流量集合在一起并還原成原始數(shù)據(jù),具體操作方式如下:
選中想要還原的流量包,右鍵選中,選擇追蹤流– TCP流/UPD流/SSL流/HTTP流。

可在彈出的窗口中看到被還原的流量信息:

數(shù)據(jù)提取
Wireshark支持提取通過http傳輸(上傳/下載)的文件內(nèi)容,方法如下:
選中http文件傳輸流量包,在分組詳情中找到data或者Line-based text data:text/html層,鼠標(biāo)右鍵點(diǎn)擊 – 選中 導(dǎo)出分組字節(jié)流。

如果是菜刀下載文件的流量,需要?jiǎng)h除分組字節(jié)流前開頭和結(jié)尾的X@Y字符,否則下載的文件會(huì)出錯(cuò)。鼠標(biāo)右鍵點(diǎn)擊 – 選中 顯示分組字節(jié)…

在彈出的窗口中設(shè)置開始和結(jié)束的字節(jié)(原字節(jié)數(shù)開頭加3,結(jié)尾減3)

最后點(diǎn)擊save as按鈕導(dǎo)出。
例題講解:
安恒八月賽流量分析 (詳細(xì)的解題過程和思路(mailtwo.pcap,mailtwo1.pcap,vpnone.pcap,vpntwo.pcap,mailtone.pcap,mailtwo.pcap)

題目背景
某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,簡(jiǎn)單了解,黑客首先攻擊了一臺(tái)web服務(wù)器,破解了后臺(tái)的賬戶密碼,隨之利用破解的賬號(hào)密碼登陸了mail系統(tǒng),然后獲取了vpn的申請(qǐng)方式,然后登陸了vpn,在內(nèi)網(wǎng)pwn掉了一臺(tái)打印機(jī),請(qǐng)根據(jù)提供的流量包回答下面有關(guān)問題
關(guān)卡列表
1 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,給出黑客使用的掃描器
2 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,得到黑客掃描到的登陸后臺(tái)是(相對(duì)路徑即可)
3 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,得到黑客使用了什么賬號(hào)密碼登陸了web后臺(tái)(形式:username/password)
4 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,得到黑客上傳的webshell文件名是,內(nèi)容是什么,提交webshell內(nèi)容的base編碼
5 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客在robots.txt中找到的flag是什么
6 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客找到的數(shù)據(jù)庫密碼是多少
7 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客在數(shù)據(jù)庫中找到的hash_code是什么
8 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客破解了賬號(hào)ijnu@test.com得到的密碼是什么
9 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,被黑客攻擊的web服務(wù)器,網(wǎng)卡配置是是什么,提交網(wǎng)卡內(nèi)網(wǎng)ip
10 某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客使用了什么賬號(hào)登陸了mail系統(tǒng)(形式: username/password)
11某公司內(nèi)網(wǎng)網(wǎng)絡(luò)被黑客滲透,請(qǐng)分析流量,黑客獲得的vpn的ip是多少
解析過程及知識(shí)點(diǎn)
1.請(qǐng)分析流量,給出黑客使用的掃描器
掃描器類型
?awvs:acunetix
?netsparker:netsparker
?appscan:Appscan
?nessus:nessus
?sqlmap:sqlmap
既然要找掃描器 就以上的幾種 常用的掃描器也就這幾個(gè):awvs,appscan,nessus
第一步肯定先打開webone.pcap了 我們先按照協(xié)議類型排序一下
先過濾一下http

編輯
發(fā)現(xiàn)有acunetix的痕跡
acunetix就是掃描器awvs的特征
為了驗(yàn)證猜想
我們?cè)偈褂?/p>
http contains "wvs" 或者 http contains acunetix 過濾一下

證實(shí)了黑客使用的掃描器就是awvs
2 .請(qǐng)分析流量,得到黑客掃描到的登陸后臺(tái)是(相對(duì)路徑即可)
常見后臺(tái)地址
?admin
?manager
?login
?system
我們可以嘗試去直接直接過濾地址 http contains “admin”

我們就會(huì)發(fā)現(xiàn) 登陸的嘗試字段admin/login.php?rec=login
其次我們可以從登錄后臺(tái)的方法去判斷
登錄后臺(tái)的方法無非就兩種 post和get
因?yàn)間et的方法不安全 在提交url的時(shí)候會(huì)有問題
所以第一步,我們基本可以確定登錄后臺(tái)的方法百分之99就是POST方法
這里我們使用 http.request.method==”POST” POST大寫

我們依然可看到他的登錄地址是admin
如果還不確定
所以我們下一步就是去追蹤tcp流 我們只要看到302重定向,就表示登錄成功了
對(duì)有rec=login的流量進(jìn)行追蹤


這樣也可以確定他的登錄地址
3.請(qǐng)分析流量,得到黑客使用了什么賬號(hào)密碼登陸了web后臺(tái)(形式:username/password)
因?yàn)槲覀儾豢赡芤粋€(gè)一個(gè)的去追蹤tcp流
根據(jù)上一個(gè)題的結(jié)果

我們可以清楚的知道
黑客的ip是192.168.94.59,rec=login
知道地址我們就可以直接這樣過濾
http.request.method==”post” && http contains “rec=login” && ip.src==19.168.94.59
根據(jù)以往的經(jīng)驗(yàn) 直接去查看最后一個(gè)包


4 .請(qǐng)分析流量,得到黑客上傳的webshell文件名是,內(nèi)容是什么,提交webshell內(nèi)容的base編碼
上傳文件嘛 post 源地址 還有協(xié)議http
所以我們可以先使用這句話過濾
http.request.method==”post” && ip.src==192.168.94.59 && http

你們要是仔細(xì)觀察就會(huì)發(fā)現(xiàn)這里是有問題的,
一般來說 一個(gè)正常的網(wǎng)站,images下放的是圖片
但這里放了一個(gè)a.php很讓人懷疑是一句話木馬
所以懷疑這里大概率是有問題了,我們對(duì)其中一個(gè)進(jìn)行tcp追蹤

看一下這就很明顯了
一句話木馬的特征,1234為傳遞值 eval是一句話木馬的函數(shù) base64加密過的內(nèi)容

把base64的內(nèi)容破譯出來很容易知道就是一句話木馬
再過濾一下tcp contains "<?php @eval"
將得到內(nèi)容了

(當(dāng)然你如果判斷了是一句木馬的話,因?yàn)樗╡val函數(shù) 所以最開始可以直接使用下面這句話去過濾
http contains “eval” and http.request.method==”post”)
5.請(qǐng)分析流量,黑客在robots.txt中找到的flag是什么
他既然想既然想找到robots.txt內(nèi)的flag是什么
那我們直接去過濾這個(gè)文件就行了 命令如下
http contains “robots.txt”

然后對(duì)其 追蹤tcp流

得到flag
6.請(qǐng)分析流量,黑客找到的數(shù)據(jù)庫密碼是多少
這里思路其實(shí)就很明確了 (數(shù)據(jù)庫密碼就涉及到三個(gè)關(guān)鍵字,分別是mysql、database、password)
要找密碼就代表數(shù)據(jù)庫已經(jīng)登錄成功了 那個(gè)http的響應(yīng)碼一定是200 并且一般會(huì)包含database
逐一查看響應(yīng)碼為200的數(shù)據(jù)包,即可找到數(shù)據(jù)庫密碼
http.response.code == 200 && http contains “database”

直接追蹤tcp流

得到密碼
在這里補(bǔ)充一點(diǎn)
(Robots是站點(diǎn)與spider溝通的重要渠道,站點(diǎn)通過robots文件聲明本網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。搜索引擎使用spider程序自動(dòng)訪問互聯(lián)網(wǎng)上的網(wǎng)頁并獲取網(wǎng)頁信息。spider在訪問一個(gè)網(wǎng)站時(shí),會(huì)首先會(huì)檢查該網(wǎng)站的根域下是否有一個(gè)叫做 robots.txt的純文本文件,這個(gè)文件用于指定spider在您網(wǎng)站上的抓取范圍。您可以在您的網(wǎng)站中創(chuàng)建一個(gè)robots.txt,在文件中聲明 該網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。)
7.請(qǐng)分析流量,黑客在數(shù)據(jù)庫中找到的hash_code是什么
打開webtwo.pcap(不想麻煩可以在最開始把兩個(gè)流量包合在一起)
這道題也是思路清楚的
直接過濾關(guān)鍵字hash_code就行因?yàn)樯弦粋€(gè)題我們已經(jīng)知道數(shù)據(jù)庫IP了

所以我們使用下面的語句
http contains “hash_code” && ip.src == 10.3.3.101

對(duì)其tcp流追蹤

8.請(qǐng)分析流量,黑客破解了賬號(hào)ijnu@test.com得到的密碼是什么
先直接過濾賬號(hào)
tcp contains “ijnu@test.com”

tcp流追蹤 或者看mysql協(xié)議

Md5解碼

結(jié)果edc123@#
9.請(qǐng)分析流量,被黑客攻擊的web服務(wù)器,網(wǎng)卡配置是是什么,提交網(wǎng)卡內(nèi)網(wǎng)ip
我們?cè)俅蜷_webone
網(wǎng)卡問題 無非就那幾個(gè) eth0 eth1 ens33 lo 等等
所以我們直接進(jìn)行關(guān)鍵字搜索
tcp contains “eth0”

追蹤tcp流

我們可以知道,外網(wǎng)ip是192.168.32.189,而內(nèi)網(wǎng)ip是10.3.3.100
10.請(qǐng)分析流量,黑客使用了什么賬號(hào)登陸了mail系統(tǒng)(形式: username/password)
使用到環(huán)境是mailtwo.pcap和mailtwo1.pcap
一開始利用POST和mail過濾了下
http.request.method ==POST && http contains "mail"

發(fā)現(xiàn)黑客進(jìn)行大量的登陸嘗試,隨便看一個(gè) 找了一個(gè)密碼,先看看是什么加密的

不是base64,應(yīng)該是AES加密,但需要找到加密的密鑰,還有偏移量,所以還是得重新過濾在服務(wù)器返回的信息中去查找,就先只過濾一下http,隨便找一個(gè)狀態(tài)碼為200的追蹤下TCP流
在mailtwo.pcap中過濾http,第三條數(shù)據(jù)的Cookie中發(fā)現(xiàn)了 login_name=wenwenni字段,并且是action=logout。

繼續(xù)向下讀取數(shù)據(jù),發(fā)現(xiàn)下一個(gè)mail系統(tǒng)的數(shù)據(jù)是28號(hào),然后又到了登陸界面的35號(hào)數(shù)據(jù),在其中發(fā)現(xiàn)了密碼的加密函數(shù):

取出來發(fā)現(xiàn)是AES的CBC加密,填充格式為ZeroPadding,密鑰為字符串1234567812345678的hash值,偏移量為1234567812345678
Var key_hash = CryptoJS.MD5('1234567812345678');
var key = CryptoJS.enc.Utf8.parse(key_hash);
var iv = CryptoJS.enc.Utf8.parse('1234567812345678');
form.password.value = CryptoJS.AES.encrypt(form.password.value, key, { iv: iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding});
在下一次的42號(hào)數(shù)據(jù)請(qǐng)求中,發(fā)現(xiàn)登錄用戶依然為wenwenni,因?yàn)檫@個(gè)用戶剛剛推出,所以猜測(cè)是使用cookie登錄的,查看一下返回?cái)?shù)據(jù)44號(hào)中出現(xiàn){"success":true},代表登陸成功。


既然這樣的話,我們使用以下語句過濾一下,
(http contains "{\\"success\\":true}" or http.request.method=="POST") and ip.addr==192.168.94.59
顯示出post請(qǐng)求成功的返回結(jié)果,發(fā)現(xiàn)是在爆破,并且直到mailtwo.pcap的最后也未爆破成功。于是打開mailtwo1.pcap,用相同的過濾條件試試,發(fā)現(xiàn)幾條數(shù)據(jù),從后往前看,發(fā)現(xiàn)No.18152是登陸成功的返回結(jié)果,那對(duì)應(yīng)的No.17126則就是正確的加密后的密碼。

進(jìn)行aes解密即可得到admin賬號(hào)的密碼


11.請(qǐng)分析流量,黑客獲得的vpn的ip是多少
PPTP原理
?PPTP客戶機(jī)使用動(dòng)態(tài)分配的TCP端口號(hào),與PPTP服務(wù)器使用的保留TCP端口號(hào)123建立控制連接
(PPTP控制連接攜帶PPTP呼叫控制盒管理信息,用于維護(hù)PPTP隧道)。
?客戶端與服務(wù)器通過控制連接來創(chuàng)建、維護(hù)、終止一條隧道。
?PPP幀的有效載荷經(jīng)過加密、壓縮或是兩者的混合處理。
?使用通用路由封裝GRE對(duì)PPP幀進(jìn)行封裝。
?將PPP幀封裝進(jìn)IP數(shù)據(jù)報(bào)文中。通過IP網(wǎng)絡(luò)如Internet或其他企業(yè)準(zhǔn)用INTRANET燈發(fā)送給PPTP服務(wù)器。
?服務(wù)器接收到PPTP數(shù)據(jù)包后進(jìn)行常規(guī)處理。
我們打開vpnone.pcap,發(fā)現(xiàn)

vpnone.pcap應(yīng)該只是在嘗試登陸VPN,再來查看下vpntwo.pcap
在統(tǒng)計(jì)——>IPV4中發(fā)現(xiàn)

10.3.4.96 、10.3.4.55 、10.3.4.3出現(xiàn)的次數(shù)最多
先過濾一下SMB,發(fā)現(xiàn)

所以10.3.4.96是SMB服務(wù)器,排除,再來查詢下10.3.4.55
ip.addr==10.3.4.55

10.3.4.3先PING10.3.4.55
總的來說文章來源:http://www.zghlxwxcb.cn/news/detail-730417.html
第一個(gè)包在嘗試登陸vpn,第二個(gè)包登陸上了vpn,然后第二個(gè)包 從 統(tǒng)計(jì)->對(duì)話 發(fā)現(xiàn)10.3.4.3和10.3.4.96發(fā)出的包比較多,而且過濾一下smb發(fā)現(xiàn)10.3.4.96是smb服務(wù)器,篩選10.3.4.55(另一個(gè)流量大點(diǎn)的地址)發(fā)現(xiàn)是10.3.4.3先ping它的,基本可以確定10.3.4.3就是黑客的vpn IP。文章來源地址http://www.zghlxwxcb.cn/news/detail-730417.html
加油各位( ?? ω ?? )y 期待與君再相逢 ?
到了這里,關(guān)于流量分析-Wireshark -操作手冊(cè)(不能說最全,只能說更全)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!