當前位置:
首頁 > 新聞 > Makednslog:讓我們來看一看這款能夠偽造DNS日誌的工具

Makednslog:讓我們來看一看這款能夠偽造DNS日誌的工具


寫在前面的話

2016年8月1日,我曾發表過一篇文章【點擊文末的閱讀原文查看】並介紹了如何使用哈希演算法來提升大型DNS日誌文件的搜索效率。但是這篇文章中還存在一個問題,當時我手中並沒有從真實環境中獲取的大型DNS日誌,所以我當時必須手動製作這些DNS日誌文件。但是現在,雖然我在研究的過程中已經獲取到了大量真實的DNS日誌,但我仍然不能使用它們,因為這些文件並不屬於我個人,而事件應急響應中最重要的部分就是客戶隱私。所以我還是要自己創建大量偽造的DNS日誌文件,而且我還專門開發了一款DNS日誌偽造生成工具。

工具:Makednslog.exe

Makednslog.exe是一個Win32可執行文件,開發工具為Visual Studio,編程語言為C語言。Makednslog可以用來生成DNS日誌文件,而這款工具對於那些想要提升自己在安全威脅檢測這方面能力的從業人員來說絕對是一個福利。在此,先給大家看一看偽造的DNS日誌長什麼樣:


20170208 20:40:10 544 PACKET 028B766A UDP Rcv 10.124.50.161F19 Q [0001 D NOERROR] A www.servo.com20170208 20:40:10 588 PACKET 06926D9E UDP Rcv 10.124.26.1133389 Q [0001 D NOERROR] A milestoneabroad.com20170208 20:40:11 544 PACKET 034235B6 UDP Rcv 10.124.185.16053C9 Q [0001 D NOERROR] A gp41jk3eg.izvestiia.ru20170208 20:40:11 588 PACKET 03835084 UDP Rcv 10.124.36.480ED2 Q [0001 D NOERROR] A sentimentindia.com20170208 20:40:12 8A8 PACKET 0CA32E7C UDP Rcv 10.124.10.766E5A Q [0001 D NOERROR] A nightcontrol.net

程序提供了多種選項來管理我們所生成的日誌文件內容、文件大小、記錄行數、日期格式以及域名等信息。

下面給出的是該工具的命令行選項:



Usage: makednslog [-v] [-ofile OUTPUT-FILE] [-noms] [-ampm][-datemode 1|2]


[-goback N] [-pci] [-split N] [-lines N] [-net172[,192][,10]]



-v Verbose,print out lots of extra nonsense as the program runs.


-ofile Specifythe OUTPUT-FILE filename. The default is dns.log.


-noms Select"No-Microsoft" format in domain names.


MicrosoftFormat: (3)www(5)yahoo(3)com(0)


NoMicrosoft Format: www.yahoo.com


-ampm SpecifyAM/PM time format. The default is 24-hour.


-datemode Specify the date mode in log entries. Options are:


Default:20170225


Mode 1:2017-02-25


Mode 2:Feb 25 2017


-goback Go backN months for initial log entry. Default is one month.


-pci Go backthree months (90 days) for initial log entry.


-split Splitlog file every N MB.


-lines Generatelog file with N lines. Default is 500,000.


-net Specifyone or more networks. Default is 10.x.x.x.


And/or: 172.x.x.x


And/or:192.168.x.x

下面給出的是幾條樣本命令以及相應的命令解釋:


C> makednslog –ofile server.log –pci –split 250

這行命令將輸出文件名設置為「server.log」,並從三個月前開始記錄日誌信息,然後將日誌文件按大小250MB進行分割。操作完成之後,我們就會得到下列日誌文件:


server.logserver1.logserver2.logserver3.log

依此類推…


C> makednslog –net 10,172

這行命令指定了日誌生成過程中所要用到的兩個網路,其中伺服器駐留在一個邏輯網路中,工作站駐留在另一個不同的邏輯網路中,而這種情況在企業的實踐生產過程中很常見。你可以在命令中指定一個、兩個或三個不同的網路。


C> makednslog -lines 4000000 –goback 2

這條命令將會創建一個包含4000000行數據的日誌文件,並保存在dns.log中,日誌記錄時間開始於兩個月前。

命令的執行過程如下:

我們可以看到,日誌文件中的每一行平均長度為106個字元(位元組),如果你想知道固定文件大小中的日誌文件有多少行數據,或者指定行數的日誌文件最終大小是多少,那麼這個信息就非常有用了。


日誌中有什麼寶藏?

為了讓偽造的DNS日誌文件儘可能地發揮其作用,我希望在日誌文件中包含有各種IoC(入侵指標)以便用戶可以直接查詢(通過正則表達式或Splunk等等)。


大量不同的域名

Makednslog所創建的日誌文件中包含大量域名的DNS請求。其中的域名需要從文本文件「domains.txt」中讀入,文件樣本如下:

你會發現,www.yahoo.com出現過兩次。不過除了這個域名之外,還有很多域名會出現一次以上,而這樣做的目的只是為了增加「熱門」域名的出現頻率。

需要注意的是,「domains.txt」中的最後一行必須是「/END/」,每一行添加進的域名都必須寫在「/END」的前面。


數據提取

惡意軟體可以通過DNS請求來從特定的子域名中提取信息,這些子域名中可能包含十六進位字元或看似隨機的字元。因此,Makednslog同樣會提供一些經過base64編碼的子域名,在對這些base64字元進行解碼之後,你會發現如下信息:


-操作系統信息-用戶賬號名-信用卡卡號(偽造的)-反病毒狀態

除此之外,其中還包括如下所示的代碼段,加碼後的文本信息如下:


「If you are reading this I assume you have been correctly identifying and decoding the different types of IoCs I have placed into the fake DNS log. My congratulations for a job well done. Of course I could be wrong, and you may never read any of this, but I choose to remain positive that you will solve my little mystery. Good luck and happy threat hunting!」

提取出數據樣本如下:


QWNjdDogc3lzYWRtaW43.petraplace.net (among other TLDs)IHBvc2l0aXZlIHRoYXQgeW91IHdpbGwgc29sdmUgbXkgbGl0.axa.biz(among other TLDs)a7fd03b9c629ffe7a9bee2c2a85bb18a3cf6e49b.starsearch.net(among other TLDs)p3483-72ca-9e67-9f9a.secret.org (among other TLDs)

國家碼

「domains.txt」文件中還包含大量國外域名,我們可以通過域名結尾的標識(例如「.ru」)來對域名所在國家進行定位。


運行時間

Makednslog的運行時間取決於你所要生成的日誌時間有多長。如果你要生成好幾個月的日誌,那麼你估計就得等待一段時間了。我使用的是Windows7 64位操作系統,CPU為2.8GHz AMD A4-3420,生成一個月的日誌大約需要四分鐘左右。

根據日誌大小和系統配置,我們統計出的運行時間如下:


總結

除了生成偽造日誌之外,Makednslog還可以幫助我們進行安全威脅研究,而且你只需要等待一小段時間,我們就可以為你生成最貼近實際的日誌數據。目前,我們已經將Makednslog的源碼託管到GitHub上了,感興趣的用戶可以自行下載獲取【點擊文末的閱讀原文按鈕查看】

。除此之外,我們也歡迎有能力的開發者貢獻自己的代碼。

* 參考來源:trustwave, FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

新式攻擊使用W3C環境光線感測器來竊取瀏覽器的敏感信息
俄羅斯黑客組織「Fancy Bear」最新釣魚手段
公有雲廠商DDoS防護產品競品分析
Pwnable.tw刷題之calc

TAG:FreeBuf |

您可能感興趣

Chromebook將能夠運行Linux應用 Pixelbook搶鮮
「像鴨子走路」的超模Remington Williams為什麼能夠大火?
FXG Nikk Mitchell:優質VR內容能夠帶你真正進入細節
霉霉Taylor Swift的粉色開衩裙,是否能夠撩到你的心?
能夠破解iPhone 的神器,iOS要涼?
Neurobiol Aging:認知訓練能夠幫助大腦保持年輕
New Surface Pro 測評:足夠輕薄且性能夠用
Nvidia的AI能夠補全圖像
Poseidon Foundation推出首個零售平台,讓消費者能夠利用區塊鏈技術支持氣候行動
華碩ZenFone5能夠取代iPhoneX的N個理由
PLoS Genet:什麼,卵巢癌還能夠從父親那遺傳?
IBM Project Debater人工智慧AI能夠拓展人類的智慧嗎?
Elon Musk如何能夠驅動三個公司呢?
iPhone SE2或將來襲,小屏手機是否能夠回歸?
能夠霸屏的不僅是Chloé的It bag 靠這些連衣裙也可以
高科技頭盔Cerebrotech Visor能夠檢測中風
iPhone5S:真的能夠再戰2年?
比 Air Jordan 年紀還大的它,依然能夠「跑到飛」!
Cellebrite聲稱能夠為政府機構解鎖 iOS 11 設備
王嘉爾唱的一首《Generation 2》推薦給大家,希望你們能夠喜歡