最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【PC樣本分析】一個(gè)botnet的樣本分析

2020-08-12 11:08 作者:吾愛破解論壇  | 我要投稿

作者論壇賬號(hào):Assassin_


一個(gè)botnet的樣本分析

前言

樣本涉及的網(wǎng)絡(luò)結(jié)構(gòu)和設(shè)計(jì)模式比較陌生。對(duì)于我來說值得一看,可能有些地方理解不準(zhǔn)確請(qǐng)海涵輕錘,但是深入研究,會(huì)發(fā)現(xiàn)這個(gè)樣本越看越有意思,并且會(huì)有不少收獲。

環(huán)境與工具

win 7 64位、IDA?7.0、exeinfo、OD

分析

其樣本整體行為如下,中間有涉及hook和隱藏自身模塊等操作還是可以學(xué)習(xí)的,其中隱藏模塊自己實(shí)現(xiàn)了一下,但樣本本身最有意思的地方還是網(wǎng)絡(luò)通信。


靜態(tài)分析

樣本基本信息

文件名稱:crashreporter.exe

MD5:41a867c465464efa23b2451ae1367396

SHA256:6c362198a8879579c074ee8b0b14e712e059ff7f6037305e26f6d9ed47c6d39b

大小:116.00 KB

類型:Win32 EXE

作用(下載/釋放):釋放執(zhí)行

打包/編譯語言:Microsoft Visual C++ ver. 8.0 / Visual Studio 2005 [ Debug:02 ]

編譯/保存日期:2015:05:20 12:48:00+01:00

pdb:C:\cc694wkw\x\4wiefw4\bv7mmx\67nqxrcs\g\e0q09q\2qnp\p4gxr\l9e7\xl4n6aq.pdb



靜態(tài)拖入IDA,發(fā)現(xiàn)代碼加密


查殼,發(fā)現(xiàn)無殼,不過代碼應(yīng)該還是被壓縮了


動(dòng)態(tài)分析

首先利用rdtsc進(jìn)行反調(diào)試


調(diào)用VirtualProtectEx修改內(nèi)存屬性


代碼解密


利用jmp指令跳轉(zhuǎn)到解密代碼


利用fs:[30]獲取指定模塊基址,通過獲取Loadlibrary和Getprocaddress,然后利用GetProcAddress獲取指定API


申請(qǐng)空間,并拷貝相應(yīng)數(shù)據(jù)到該空間


申請(qǐng)空間并解壓數(shù)據(jù)


解壓之后發(fā)現(xiàn)該段數(shù)據(jù)為一個(gè)PE文件


接下來就是樣本自身編寫的一個(gè)PE Loader

修改自身PE內(nèi)存屬性,并將解密后的PE拷貝到原PE內(nèi)存


重定位


獲取API


修復(fù)內(nèi)存屬性


最后跳轉(zhuǎn)到修改后的PE入口點(diǎn)


我們將其dump下來,此時(shí)就是惡意軟件的本體了,對(duì)其進(jìn)行分析

首先判斷是否存在參數(shù) /pid


對(duì) ZwQueryVirtualMemory 進(jìn)行Hook


我們查看該段代碼


對(duì)其進(jìn)行分析可以發(fā)現(xiàn)該段代碼是對(duì)付沙箱的內(nèi)存掃描,調(diào)用該函數(shù)會(huì)返回一段虛假的內(nèi)存以欺騙沙箱


返回來,繼續(xù)分析,通過申請(qǐng)空間,拷貝映像,并利用UnmapViewOfFile釋放之前的映射的本體內(nèi)存,這里可以自己寫代碼實(shí)現(xiàn)


發(fā)現(xiàn)找不到自身模塊了


我們自己把代碼摳出來,以后可以自己用

設(shè)置Token


解密字符串并拼接


與當(dāng)前目錄進(jìn)行比較,若存在指定目錄則直接返回,否則,繼續(xù)執(zhí)行


查看當(dāng)前是否位admin用戶,如果不是則創(chuàng)建兩個(gè)線程


這兩個(gè)線程執(zhí)行以下操作

線程1 :

以admin用戶進(jìn)行啟動(dòng)


線程2:

虛擬鍵盤輸入空格


根據(jù)時(shí)間創(chuàng)建目錄,并再次拷貝文件到該目錄


創(chuàng)建名為syshost的服務(wù),如果存在該服務(wù),則先刪除該服務(wù),然后再次創(chuàng)建


嘗試開啟服務(wù),如果開啟失敗,則不在利用服務(wù)進(jìn)行自啟動(dòng),而是通過注冊(cè)表進(jìn)行自啟動(dòng)


移動(dòng)源文件到臨時(shí)目錄


最后清理文件,結(jié)束該進(jìn)程


我們可以看到該進(jìn)程再駐留時(shí)存在兩種啟動(dòng)方式,一種是加參數(shù) \service的服務(wù)啟動(dòng),還有一種是直接注冊(cè)表不加參數(shù)再指定目錄直接啟動(dòng)的方式,二者無論以什么方式啟動(dòng),其最終的行為是類似的。

我們首先分析直接啟動(dòng)的方式,經(jīng)過之前的分析,我們定位到比較指定目錄的地方,即上文中的下圖,我們可以看到此時(shí)該函數(shù)直接返回


返回之后執(zhí)行如下代碼


我們沒有參數(shù),所以執(zhí)行的是函數(shù) 00405BAC這個(gè)函數(shù)

進(jìn)入該函數(shù),首先判斷進(jìn)程類型


設(shè)置安全級(jí)別到最低,并且創(chuàng)建事件。其事件名分別為之前的解密字符串 Global/NitrGB 和 Local_NitrGB


設(shè)置錯(cuò)誤處理函數(shù),查看異常所在線程及其原因

之后遍歷進(jìn)程,排除自身對(duì)其他進(jìn)程進(jìn)行代碼注入


注入采用CreateRemoteThread的方式


利用特殊指令檢查虛擬機(jī)


更改并設(shè)置防火墻規(guī)則


解密內(nèi)置域名


解密內(nèi)置ip,總共有32個(gè)


獲取卷GUID


根據(jù)卷GUID查詢相關(guān)注冊(cè)表


解碼樣本內(nèi)置數(shù)據(jù)并利用WinAPI進(jìn)行加密


將加密后的數(shù)據(jù)寫入臨時(shí)文件中


并復(fù)制其數(shù)據(jù)到注冊(cè)表中


利用p2p進(jìn)行網(wǎng)絡(luò)連接

首先獲取隨機(jī)端口


進(jìn)入主函數(shù)

開放tcp和udp的隨機(jī)端口,并創(chuàng)建一個(gè)線程


[b]進(jìn)入該線程,該線程功能為通過發(fā)送請(qǐng)求到其他bot,解析接收到的內(nèi)容并更新自己的bot list或者C2或者ip list 或者發(fā)送內(nèi)容到bot list中的任意bot,默認(rèn)每5S發(fā)送一次,這段代碼要好好看一下,如果能夠理解,真的挺有意思的。


之后設(shè)置注冊(cè)表,其值為隨機(jī)端口進(jìn)行加密后的值


其后再次查詢并設(shè)置一系列注冊(cè)表


開始進(jìn)行網(wǎng)絡(luò)連接, 利用C2進(jìn)行數(shù)據(jù)的更新和惡意軟件的分發(fā)


利用facebook.com和microsoft.com進(jìn)行網(wǎng)絡(luò)測試


創(chuàng)建4個(gè)線程


并4個(gè)線程中獲取隨機(jī)的域名迷惑分析者并通過對(duì)其進(jìn)行DNS查詢,將可以查詢到的ip數(shù)據(jù)保存在一個(gè)列表中


對(duì)DNS查詢的ip與之前獲取facebook.com和microsoft.com的信息進(jìn)行對(duì)比,確保不等于這兩個(gè)ip的地址


然后連接硬編碼域名,進(jìn)行數(shù)據(jù)傳輸,獲取當(dāng)前精確時(shí)間


完成之后開始真正的C2連接

首先第一種就是硬編碼的域名進(jìn)行連接


第二種方式就是利用硬編碼的Ip進(jìn)行連接


如果C2連接成功之后,減慢bot之間的連接,變?yōu)槊?0S請(qǐng)求一次


如果以上兩種連接不成功則加快bot之間的通信變?yōu)槊恳幻胝?qǐng)求一次,利用第三種方法繼續(xù)嘗試C2的連接.




第三種方式,分為兩部分拼接域名

第一部分


第二部分,獲取后綴


最后進(jìn)行數(shù)據(jù)的傳輸與交互


返回?cái)?shù)據(jù)需要解密等復(fù)雜操作,故根據(jù)之前的分析,對(duì)其只能靜態(tài)分析,不過我們可以看到后續(xù)的部分操作

如更新Botlist


代碼執(zhí)行


創(chuàng)建驅(qū)動(dòng)文件等操作


結(jié)語

路漫漫其修遠(yuǎn)兮,吾將上下而求索。


原帖地址:https://www.52pojie.cn/thread-1235576-1-1.html

【PC樣本分析】一個(gè)botnet的樣本分析的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
潍坊市| 章丘市| 土默特右旗| 富锦市| 苏尼特右旗| 都昌县| 长沙市| 宜宾市| 永德县| 德安县| 和林格尔县| 泰州市| 响水县| 丰镇市| 淄博市| 昭通市| 师宗县| 特克斯县| 荔浦县| 郓城县| 河池市| 盈江县| 凌海市| 东平县| 霸州市| 新民市| 黑河市| 尉氏县| 龙海市| 康定县| 保康县| 环江| 湄潭县| 新河县| 巨鹿县| 青田县| 旌德县| 剑川县| 正镶白旗| 江都市| 乌鲁木齐市|