中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

DNS檢測的特征以及BotDAD安裝與使用

發布時間:2021-09-08 16:33:08 來源:億速云 閱讀:315 作者:chen 欄目:數據安全

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


一、基于DNS的隱蔽通信

企業網絡經常面臨網絡攻擊者竊取有價值和敏感數據的威脅。復雜的攻擊者越來越多地利用DNS通道來泄露數據,以及維護惡意軟件的隧道C&C(命令和控制)通信。這是因為DNS對于幾乎所有應用程序來說都是如此重要的服務,從本地計算機到Internet的任何通信(不包括基于靜態IP的通信)都依賴于DNS服務,限制DNS通信可能會導致合法遠程服務的斷開,因此,企業防火墻通常配置為允許UDP端口53(由DNS使用)上的所有數據包,即DNS流量通常允許通過企業防火墻而無需深度檢查或狀態維護。從攻擊者的角度來看,這使得DNS協議成為數據泄露地隱蔽通信通道。

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

DNS檢測的特征以及BotDAD安裝與使用

DNS這種穿透防火墻的能力為攻擊者提供了一個隱蔽的通道,盡管是低速通道,通過將其他協議(例如,SSH,FTP)隧道傳輸到命令和控制中心,可以通過該通道泄露私有數據并保持與惡意軟件的通信。現代惡意軟件和網絡攻擊在很大程度上依賴于DNS服務,使其活動可靠且難以跟蹤。例如---,2017年發現的遠程訪問木馬DNSMessenger使用DNS查詢和響應在受感染的主機上執行惡意PowerShell命令。

二、DNS檢測

監控網絡DNS活動和阻止可疑域已被證明是抵御此類攻擊的有效技術。對于分析DNS流量以識別惡意網絡活動,人們提出了很多檢測方法,比如使用字符頻率分析的DNS隧道檢測方法等。

對于任何組織用以對抗各種安全威脅來說,在企業級水平上的單點Bot檢測至關重要。本文要介紹的DNS檢測工具BotDAD,它就是部署在企業的網絡邊界上進行單點Bot檢測的,它通過觀察主機在一段時間內的DNS指紋,嘗試尋找域正常的主機行為相當不同的異常行為,從而識別受感染的主機。

本文以BotDAD工具為例,將對BotDAD進行DNS檢測的技術分析。

1. DNS檢測特征

BotDAD中統計分析了15種DNS的行為特征,如下:    

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

p15Flux ratio                
在主機發送至少100個查詢并且已收到至少100個響應的條件下,發送的不同請求與解析的不同ip地址的比率。                

通過對BotDAD工作做源碼解析,找到其核心類與核心函數,其中便對以上15種DNS特征進行了使用。

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

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

2.BotDAD安裝與使用

2.1 安裝:

依賴python版本:python2.7

系統環境:windows

預安裝:

DNS檢測的特征以及BotDAD安裝與使用

2.2 數據集準備:

BotDAD提供了3種預備數據集的方式:

2.2.1 抓包、過濾、切片

(1)使用wireshark抓包

(2) 包過濾命令

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網絡流量

數據集由BotDAD論文作者提供。

2016年4月至5月期間,由超過4000個活躍用戶組成的校園DNS網絡流量(在高峰負載時間內)為10個隨機日,可在數據集中的每小時PCAP文件中獲得。

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

數據集鏈接為:https://data.mendeley.com/datasets/zh4wnddzxy/1

2.3 使用前的問題與解決:

2.3.1 包導入問題

下載后,嘗試直接運行main.py,遇到一個問題:

DNS檢測的特征以及BotDAD安裝與使用

由于問題出現在pcapparser.py,而在BotDAD開源的項目中,公布的是PcapParser.pyc文件,因此需要pyc反編譯,本文使用uncompyle實現反編譯。

通過反編譯得到PcapParser.py,利用python2命令行環境驗證,發現問題就出在這里:

DNS檢測的特征以及BotDAD安裝與使用

2.3.2 問題解決

查看win-inet-pton的API,發現其中提供的對于inet_ntop的使用方法與代碼中的使用方法不太一樣。

DNS檢測的特征以及BotDAD安裝與使用

檢索反編譯的PcapParser.py代碼中,inet_ntop出現的地方,發現只有兩處:

一處是文件導入的地方:DNS檢測的特征以及BotDAD安裝與使用

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

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

修改前,原inet_ntop的導入方式:DNS檢測的特征以及BotDAD安裝與使用

修改后,直接導入win_inet_pton即可:DNS檢測的特征以及BotDAD安裝與使用

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

一開始運行,首先在main.py的上一級目錄中生成3個文件:DNS檢測的特征以及BotDAD安裝與使用

執行到console>的耗時還是挺長的,大概7分鐘。DNS檢測的特征以及BotDAD安裝與使用

2.4  BotDAD的使用

BotDAD的使用命令總結如下:DNS檢測的特征以及BotDAD安裝與使用

2.4.1l命令

我這里使用l命令,主機列表包含571個主機。

DNS檢測的特征以及BotDAD安裝與使用

2.4.2 m命令    

DNS檢測的特征以及BotDAD安裝與使用DNS檢測的特征以及BotDAD安裝與使用

輸入主機列表中的一個IP地址,無返回,在main.py的同級目錄下生成文件:

DNS檢測的特征以及BotDAD安裝與使用DNS檢測的特征以及BotDAD安裝與使用

2.4.3 p命令

生成圖像,plot DNS query timeline:

DNS檢測的特征以及BotDAD安裝與使用

DNS檢測的特征以及BotDAD安裝與使用

2.4.4 d/D命令

主機IP后面出現的數字與主機列表中最后一列的數字對應一致。

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

DNS檢測的特征以及BotDAD安裝與使用DNS檢測的特征以及BotDAD安裝與使用

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

2.4.5 h命令

saving的過程可能會比較慢。

DNS檢測的特征以及BotDAD安裝與使用

好長時間之后:DNS檢測的特征以及BotDAD安裝與使用

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

2.4.6x命令

.csv:逗號分隔值文件格式。

DNS檢測的特征以及BotDAD安裝與使用

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

DNS檢測的特征以及BotDAD安裝與使用

2.4.7 F命令

很多主機被列出來,說明請求www.google.com的主機非常多。

DNS檢測的特征以及BotDAD安裝與使用

找一個特殊的URL,與前面執行d命令中的截圖中的數據剛好對應:DNS檢測的特征以及BotDAD安裝與使用

2.4.8 f命令

DNS檢測的特征以及BotDAD安裝與使用

2.4.9 q命令

DNS檢測的特征以及BotDAD安裝與使用

到此,關于“DNS檢測的特征以及BotDAD安裝與使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦川县| 五台县| 鄂托克前旗| 齐河县| 武宁县| 仁怀市| 图木舒克市| 江都市| 临澧县| 尼勒克县| 离岛区| 平凉市| 筠连县| 阳江市| 安乡县| 吉木乃县| 拜城县| 于田县| 郎溪县| 太谷县| 乃东县| 泌阳县| 吉木乃县| 禹城市| 绥阳县| 巩留县| 黑龙江省| 康定县| 江达县| 左贡县| 博湖县| 斗六市| 静乐县| 搜索| 和龙市| 西平县| 永城市| 霞浦县| 沛县| 繁峙县| 巫溪县|