溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

DNS檢測(cè)的特征以及BotDAD安裝與使用

發(fā)布時(shí)間:2021-09-08 16:33:08 來(lái)源:億速云 閱讀:315 作者:chen 欄目:數(shù)據(jù)安全

這篇文章主要介紹“DNS檢測(cè)的特征以及BotDAD安裝與使用”,在日常操作中,相信很多人在DNS檢測(cè)的特征以及BotDAD安裝與使用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”DNS檢測(cè)的特征以及BotDAD安裝與使用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!


一、基于DNS的隱蔽通信

企業(yè)網(wǎng)絡(luò)經(jīng)常面臨網(wǎng)絡(luò)攻擊者竊取有價(jià)值和敏感數(shù)據(jù)的威脅。復(fù)雜的攻擊者越來(lái)越多地利用DNS通道來(lái)泄露數(shù)據(jù),以及維護(hù)惡意軟件的隧道C&C(命令和控制)通信。這是因?yàn)镈NS對(duì)于幾乎所有應(yīng)用程序來(lái)說(shuō)都是如此重要的服務(wù),從本地計(jì)算機(jī)到Internet的任何通信(不包括基于靜態(tài)IP的通信)都依賴于DNS服務(wù),限制DNS通信可能會(huì)導(dǎo)致合法遠(yuǎn)程服務(wù)的斷開(kāi),因此,企業(yè)防火墻通常配置為允許UDP端口53(由DNS使用)上的所有數(shù)據(jù)包,即DNS流量通常允許通過(guò)企業(yè)防火墻而無(wú)需深度檢查或狀態(tài)維護(hù)。從攻擊者的角度來(lái)看,這使得DNS協(xié)議成為數(shù)據(jù)泄露地隱蔽通信通道。

攻擊者利用DNS的一種方法是注冊(cè)域名(例如,fengrou2019.club),以便攻擊者在主機(jī)受害者中的惡意軟件可以將有價(jià)值的私人信息(例如信用卡號(hào),登錄密碼或知識(shí)產(chǎn)權(quán))編碼為形式為arbitrary-string.fengrou2019.club的DNS請(qǐng)求。此DNS請(qǐng)求由全局域名系統(tǒng)中的解析器轉(zhuǎn)發(fā)到fengrou2019.club域的權(quán)威服務(wù)器(在攻擊者的控制下),后者又向主機(jī)受害者發(fā)送響應(yīng)。這為攻擊者在主受害者及其命令和控制中心之間提供了低速但隱蔽的雙向通信信道。如圖所示為Bot在獲取控制命令后回傳竊密信息的流程圖。

DNS檢測(cè)的特征以及BotDAD安裝與使用

DNS這種穿透防火墻的能力為攻擊者提供了一個(gè)隱蔽的通道,盡管是低速通道,通過(guò)將其他協(xié)議(例如,SSH,F(xiàn)TP)隧道傳輸?shù)矫詈涂刂浦行?,可以通過(guò)該通道泄露私有數(shù)據(jù)并保持與惡意軟件的通信?,F(xiàn)代惡意軟件和網(wǎng)絡(luò)攻擊在很大程度上依賴于DNS服務(wù),使其活動(dòng)可靠且難以跟蹤。例如---,2017年發(fā)現(xiàn)的遠(yuǎn)程訪問(wèn)木馬DNSMessenger使用DNS查詢和響應(yīng)在受感染的主機(jī)上執(zhí)行惡意PowerShell命令。

二、DNS檢測(cè)

監(jiān)控網(wǎng)絡(luò)DNS活動(dòng)和阻止可疑域已被證明是抵御此類攻擊的有效技術(shù)。對(duì)于分析DNS流量以識(shí)別惡意網(wǎng)絡(luò)活動(dòng),人們提出了很多檢測(cè)方法,比如使用字符頻率分析的DNS隧道檢測(cè)方法等。

對(duì)于任何組織用以對(duì)抗各種安全威脅來(lái)說(shuō),在企業(yè)級(jí)水平上的單點(diǎn)Bot檢測(cè)至關(guān)重要。本文要介紹的DNS檢測(cè)工具BotDAD,它就是部署在企業(yè)的網(wǎng)絡(luò)邊界上進(jìn)行單點(diǎn)Bot檢測(cè)的,它通過(guò)觀察主機(jī)在一段時(shí)間內(nèi)的DNS指紋,嘗試尋找域正常的主機(jī)行為相當(dāng)不同的異常行為,從而識(shí)別受感染的主機(jī)。

本文以BotDAD工具為例,將對(duì)BotDAD進(jìn)行DNS檢測(cè)的技術(shù)分析。

1. DNS檢測(cè)特征

BotDAD中統(tǒng)計(jì)分析了15種DNS的行為特征,如下:    

序號(hào)DNS特征描述
p1每小時(shí)DNS請(qǐng)求的數(shù)量                
受感染的僵尸主機(jī)每小時(shí)的請(qǐng)求數(shù)量往往高于正常主機(jī)。                
p2每小時(shí)不同的DNS請(qǐng)求數(shù)                
感染DGA惡意軟件的主機(jī)往往比普通主機(jī)具有更多不同的請(qǐng)求。                
p3單個(gè)域的最大請(qǐng)求數(shù)                
幫助檢測(cè)DNS隧道,敏感信息通過(guò)DNS協(xié)議傳輸。                
p4每分鐘平均請(qǐng)求數(shù)                
用于檢測(cè)受惡意軟件感染的計(jì)算機(jī),該計(jì)算機(jī)不使用短暫的DNS請(qǐng)求,而是使用休眠間隔定期對(duì)DNS請(qǐng)求做出貢獻(xiàn)。                
它的計(jì)算方法是將主機(jī)發(fā)送的請(qǐng)求數(shù)除以主機(jī)處于活動(dòng)狀態(tài)并使用DNS服務(wù)的持續(xù)時(shí)間。                
p5每分鐘最多請(qǐng)求數(shù)                
幫助檢測(cè)感染惡意軟件的僵尸程序,這些惡意軟件使用短暫的DNS請(qǐng)求通過(guò)域生成算法生成的多個(gè)URL與C&C服務(wù)器進(jìn)行通信。                
p6MX記錄查詢數(shù)                
是網(wǎng)絡(luò)中基于垃圾郵件的僵尸網(wǎng)絡(luò)的強(qiáng)有力指標(biāo)。                
p7PTR記錄(從ip地址到域名的一條記錄)查詢數(shù)                
有助于檢測(cè)網(wǎng)絡(luò)中存在異常行為的主機(jī)以及可能的感染。                
p8查詢的不同DNS服務(wù)器的數(shù)量                
有助于檢測(cè)網(wǎng)絡(luò)中具有異常行為的機(jī)器,因?yàn)闃?biāo)準(zhǔn)系統(tǒng)查詢多個(gè)DNS服務(wù)器的情況并不常見(jiàn)。                
TLD: top level domain,頂級(jí)域名                
SLD: second level domain,二級(jí)域名                
p9不同TLD請(qǐng)求的數(shù)量                
在檢測(cè)基于DGA的機(jī)器人方面非常有效,這些機(jī)器人不僅生成具有不同二級(jí)域的隨機(jī)域,還生成具有不同頂級(jí)域名的隨機(jī)域。                
p10不同SLD請(qǐng)求的數(shù)量                
是網(wǎng)絡(luò)中存在基于DGA的機(jī)器人的強(qiáng)烈指示。                
p11唯一性比率                
是在主機(jī)每小時(shí)發(fā)送至少1000個(gè)請(qǐng)求的假設(shè)下,發(fā)送的請(qǐng)求數(shù)與發(fā)送的不同請(qǐng)求數(shù)之比。                
p12Failed/NXDOMAIN請(qǐng)求的數(shù)量                
是網(wǎng)絡(luò)中主機(jī)感染的一個(gè)非常強(qiáng)的指標(biāo)。                
它通過(guò)主機(jī)維護(hù)響應(yīng)代碼等于DNS_RCODE_NXDOMAIN的響應(yīng)數(shù)。                
p13已解析IP地址的不同城市數(shù)量                
是一個(gè)強(qiáng)烈的異常指標(biāo),尤其是當(dāng)IP地址分布在各個(gè)城市時(shí)。                
使用Maxmind數(shù)據(jù)庫(kù)(“Geo2 Databases | MaxMi,2017”)獲得城市映射的IP地址。                
p14已經(jīng)解析的ip地址的不同國(guó)家數(shù)量                

p15Flux ratio                
在主機(jī)發(fā)送至少100個(gè)查詢并且已收到至少100個(gè)響應(yīng)的條件下,發(fā)送的不同請(qǐng)求與解析的不同ip地址的比率。                

通過(guò)對(duì)BotDAD工作做源碼解析,找到其核心類與核心函數(shù),其中便對(duì)以上15種DNS特征進(jìn)行了使用。

核心類:BotDAD/DnsAnalyser.py/classs Network

核心函數(shù):BotDAD/DnsAnalyser.py/classs Network/find_anomaly()

2.BotDAD安裝與使用

2.1 安裝:

依賴python版本:python2.7

系統(tǒng)環(huán)境:windows

預(yù)安裝:

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.2 數(shù)據(jù)集準(zhǔn)備:

BotDAD提供了3種預(yù)備數(shù)據(jù)集的方式:

2.2.1 抓包、過(guò)濾、切片

(1)使用wireshark抓包

(2) 包過(guò)濾命令

tshark.exe -r "input.pcap" -F pcap -Y dns -t ad -w"big.pcap"     #windows

tshark -r "input.pcap" -F pcap -Y dns -t ad -w"big.pcap"         #linux

(3)切片命令

editcap.exe -F pcap -i 3600"big.pcap" "slice.pcap"              #windows

editcap -F pcap -i 3600"big.pcap" "slice.pcap"                  #linux

2.2.2 直接可用:20160421_150521.pcap

Manmeet Singh(BotDAD論文作者)提供,可直接使用。

鏈接:https://drive.google.com/file/d/14cRY6aEQz_xVsfySBb4Ik6mPYDLoIc88/view?usp=sharing

2.2.3 直接可用:校園DNS網(wǎng)絡(luò)流量

數(shù)據(jù)集由BotDAD論文作者提供。

2016年4月至5月期間,由超過(guò)4000個(gè)活躍用戶組成的校園DNS網(wǎng)絡(luò)流量(在高峰負(fù)載時(shí)間內(nèi))為10個(gè)隨機(jī)日,可在數(shù)據(jù)集中的每小時(shí)PCAP文件中獲得。

(由于10GB數(shù)據(jù)限制,目前只能上傳Day0(Full)和Day1(部分)的流量)

數(shù)據(jù)集鏈接為:https://data.mendeley.com/datasets/zh4wnddzxy/1

2.3 使用前的問(wèn)題與解決:

2.3.1 包導(dǎo)入問(wèn)題

下載后,嘗試直接運(yùn)行main.py,遇到一個(gè)問(wèn)題:

DNS檢測(cè)的特征以及BotDAD安裝與使用

由于問(wèn)題出現(xiàn)在pcapparser.py,而在BotDAD開(kāi)源的項(xiàng)目中,公布的是PcapParser.pyc文件,因此需要pyc反編譯,本文使用uncompyle實(shí)現(xiàn)反編譯。

通過(guò)反編譯得到PcapParser.py,利用python2命令行環(huán)境驗(yàn)證,發(fā)現(xiàn)問(wèn)題就出在這里:

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.3.2 問(wèn)題解決

查看win-inet-pton的API,發(fā)現(xiàn)其中提供的對(duì)于inet_ntop的使用方法與代碼中的使用方法不太一樣。

DNS檢測(cè)的特征以及BotDAD安裝與使用

檢索反編譯的PcapParser.py代碼中,inet_ntop出現(xiàn)的地方,發(fā)現(xiàn)只有兩處:

一處是文件導(dǎo)入的地方:DNS檢測(cè)的特征以及BotDAD安裝與使用

另一處的用法其實(shí)與win-inet-pton的API中提供的用法是一致的:DNS檢測(cè)的特征以及BotDAD安裝與使用

所以我這邊嘗試修改PcapParser.py代碼,然后用PcapParser.py替代PcapParser.py用于BotDAD的運(yùn)行:

修改前,原inet_ntop的導(dǎo)入方式:DNS檢測(cè)的特征以及BotDAD安裝與使用

修改后,直接導(dǎo)入win_inet_pton即可:DNS檢測(cè)的特征以及BotDAD安裝與使用

完成替換之后,再運(yùn)行main.py,如圖,運(yùn)行成功,問(wèn)題解決:DNS檢測(cè)的特征以及BotDAD安裝與使用

一開(kāi)始運(yùn)行,首先在main.py的上一級(jí)目錄中生成3個(gè)文件:DNS檢測(cè)的特征以及BotDAD安裝與使用

執(zhí)行到console>的耗時(shí)還是挺長(zhǎng)的,大概7分鐘。DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4  BotDAD的使用

BotDAD的使用命令總結(jié)如下:DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.1l命令

我這里使用l命令,主機(jī)列表包含571個(gè)主機(jī)。

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.2 m命令    

DNS檢測(cè)的特征以及BotDAD安裝與使用DNS檢測(cè)的特征以及BotDAD安裝與使用

輸入主機(jī)列表中的一個(gè)IP地址,無(wú)返回,在main.py的同級(jí)目錄下生成文件:

DNS檢測(cè)的特征以及BotDAD安裝與使用DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.3 p命令

生成圖像,plot DNS query timeline:

DNS檢測(cè)的特征以及BotDAD安裝與使用

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.4 d/D命令

主機(jī)IP后面出現(xiàn)的數(shù)字與主機(jī)列表中最后一列的數(shù)字對(duì)應(yīng)一致。

D命令是將d展示部分做保存。

DNS檢測(cè)的特征以及BotDAD安裝與使用DNS檢測(cè)的特征以及BotDAD安裝與使用

用D命令:    
DNS檢測(cè)的特征以及BotDAD安裝與使用DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.5 h命令

saving的過(guò)程可能會(huì)比較慢。

DNS檢測(cè)的特征以及BotDAD安裝與使用

好長(zhǎng)時(shí)間之后:DNS檢測(cè)的特征以及BotDAD安裝與使用

在main.py的上一級(jí)目錄下生成html文件:DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.6x命令

.csv:逗號(hào)分隔值文件格式。

DNS檢測(cè)的特征以及BotDAD安裝與使用

在main.py的上一級(jí)目錄下生成.pcap.csv文件:

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.7 F命令

很多主機(jī)被列出來(lái),說(shuō)明請(qǐng)求www.google.com的主機(jī)非常多。

DNS檢測(cè)的特征以及BotDAD安裝與使用

找一個(gè)特殊的URL,與前面執(zhí)行d命令中的截圖中的數(shù)據(jù)剛好對(duì)應(yīng):DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.8 f命令

DNS檢測(cè)的特征以及BotDAD安裝與使用

2.4.9 q命令

DNS檢測(cè)的特征以及BotDAD安裝與使用

到此,關(guān)于“DNS檢測(cè)的特征以及BotDAD安裝與使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI