摘要:樣本下載樣本原文件鏈接我的分析過程文件鏈接提示請勿實(shí)體機(jī)分析文件信息收集查看文件類型,標(biāo)準(zhǔn)的頭改名后使用查殼工具查看是否有殼總共個區(qū)段,不清楚是什么殼也不清楚是用什么編程語言寫的使用加載,查看是否有關(guān)鍵字符串信息看來字符串之類的也被加密或者
樣本下載
樣本原文件 鏈接
我的分析過程文件 鏈接
提示:請勿實(shí)體機(jī)分析
查看文件類型,標(biāo)準(zhǔn)的PE頭
改名后使用查殼工具查看是否有殼
總共3個區(qū)段,不清楚是什么殼!也不清楚是用什么編程語言寫的
使用IDA加載,查看是否有關(guān)鍵字符串信息
看來字符串之類的也被加密或者壓縮了
動態(tài)分析-脫殼由于不清楚是什么殼,所以只有嘗試多種通用脫殼的辦法:諸如單步法,ESP定律以及最后一次異常法!失敗的過程就不贅述了,最終是用最后一次異常配合單步找到的OEP,如下,首先取消勾選所有的忽略異常選項(xiàng)
然后Shift+F9忽略異常運(yùn)行,運(yùn)行8次之后會到0x430EF1這個位置進(jìn)行一個很大的循環(huán),是為了找到kernel32的基址,這時候在下一行下斷運(yùn)行即可
之后再單步F8,程序跑飛就返回來下個斷點(diǎn)重新運(yùn)行,然后F7進(jìn)入這個函數(shù)內(nèi)部,跟個幾分鐘就會到j(luò)mp oep的地方
段間大跳轉(zhuǎn)肯定是OEP了,使用Ollydump先dump內(nèi)存
然后用Scylla修復(fù)導(dǎo)入表,最終完成脫殼
脫殼后的程序入口
動靜結(jié)合分析脫殼程序初始化操作,包括獲取模塊句柄以及注冊句柄
該病毒最開始進(jìn)行的關(guān)鍵操作就是分離原始PE文件,因?yàn)樵嘉募鋵?shí)是由一個病毒體+一個注冊表編輯器組成的,所以需要分離
(1).讀取病毒體的全部內(nèi)容到緩沖區(qū)
(2).創(chuàng)建” C:WINDOWSuninstall undll32.exe”這個文件,并把之前緩沖區(qū)的內(nèi)容寫入到這個文件中,即病毒體寫入rundll32.exe
(3).寫注冊表,讓C:WINDOWSuninstall undll32.exe實(shí)現(xiàn)自啟動
(4).創(chuàng)建C:WINDOWSLogon1_.exe文件,并且寫入病毒體
(5).病毒體文件的大小問0x115D5,所以原文件的指針偏移0x115D5之后就是注冊表編輯器的所有數(shù)據(jù)
(6).然后在桌面新建a.exe.exe,把文件指針指向的地址起復(fù)制數(shù)據(jù)到a.exe.exe中,并且刪除原文件a.exe,之后重命名a.exe.exe為a.exe以實(shí)現(xiàn)文件分離
殺掉程序中所有跟殺毒相關(guān)的進(jìn)程以及服務(wù)
(1).先創(chuàng)建查找到的殺毒進(jìn)程,再kill掉
(2).調(diào)用cmd來停止殺軟服務(wù)諸如:金山的服務(wù),江民殺毒服務(wù)等等
(3).創(chuàng)建線程繼續(xù)殺毒,以及關(guān)閉系統(tǒng)聲音
Temp目錄下寫入bat文件以及創(chuàng)建進(jìn)程運(yùn)行
(1).創(chuàng)建文件C:DOCUME~1ADMINI~1LOCALS~1Temp$$a13.bat
(2).解密字符串后寫入內(nèi)容到$$a13.bat中
(3).創(chuàng)建進(jìn)程運(yùn)行該bat文件
(4)關(guān)閉本程序的進(jìn)程,創(chuàng)建C:WINDOWSLogon1_.exe進(jìn)程以及修改后a.exe即注冊表編輯器運(yùn)行
加載自定義dll實(shí)現(xiàn)下載其它病毒文件
(1).解密下載鏈接,大概十來個這樣子的"http://down.97725.com/downma1.exe"
(2).在一個線程對應(yīng)的函數(shù)中,先訪問資源文件dll1.dll,再創(chuàng)建C:WINDOWSRichDll.dll然后將dll1.dll寫入到Richdll.dll中
(3).加載資源管理器來加載這個Richdll.dll
(4).寫注冊表實(shí)現(xiàn)開機(jī)自動加載dll
創(chuàng)建一個線程,在線程中創(chuàng)建desktop.ini寫入時間并且遍歷Z盤文件
(1).創(chuàng)建C:\_desktop.ini文件,并寫入當(dāng)前時間
(2).獲取Z盤類型,方便后續(xù)操作
(3).遍歷Z盤中的所有文件
(4).設(shè)置每個文件的屬性為共享可寫
再次創(chuàng)建一個線程,在線程中主要是創(chuàng)建套接字,發(fā)送ping測試,嘗試連接局域網(wǎng)以及枚舉共享文件夾中的文件
(1).創(chuàng)建套接字以及發(fā)送hello,world測試,需要加載icmp.dll使用其中的API
(2).爆破嘗試連接局域網(wǎng)
(3).獲取本機(jī)計(jì)算機(jī)名
(4).枚舉局域網(wǎng)共享文件夾中的共享文件
(5).進(jìn)入消息循環(huán),收到結(jié)束消息后會釋放資源關(guān)閉句柄
關(guān)于Win7不能運(yùn)行該程序崩潰點(diǎn)就在于遍歷系統(tǒng)dll時,地址訪0崩潰,而xp沒有崩潰的原因在于遍歷的第一個就是kernel32成功命中,win7崩潰就在于遍歷的時候遇到了不能尋址的地址,下面圖片中這個偏移計(jì)算其實(shí)就是IAT的內(nèi)存搜索,因?yàn)镮AT中有一個字段是該dll的名稱。但不是所有的dll都有導(dǎo)入表結(jié)構(gòu),當(dāng)遇到?jīng)]有導(dǎo)入表結(jié)構(gòu)的dll的時候上述尋址很容易遇到訪問地址崩潰
關(guān)于為什么xp能從kernel32開始遍歷,而win7卻從ntdll附近開始遍歷,并遍歷地址往高地址走,win7不可能訪問到kernel32這個模塊,原因很簡單:
這個賦值寫死了0x77000000,根據(jù)xp賦的值,win7賦值應(yīng)該小于0x74000000
歸根結(jié)底就是操作系統(tǒng)不一樣,模塊加載的地址不一樣,寫死地址兼容性就不高
END文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/11410.html
摘要:每天新增近個新移動病毒樣本,每秒生成個阿里聚安全移動病毒樣本庫年新增病毒樣本達(dá)個,平均每天新增個樣本,這相當(dāng)于每秒生成一個病毒樣本。阿里聚安全的人機(jī)識別系統(tǒng),接口調(diào)用是億級別,而誤識別的數(shù)量只有個位數(shù)。 《阿里聚安全2016年報》發(fā)布,本報告重點(diǎn)聚焦在2016年阿里聚安全所關(guān)注的移動安全及數(shù)據(jù)風(fēng)控上呈現(xiàn)出來的安全風(fēng)險,在移動安全方面重點(diǎn)分析了病毒、仿冒、漏洞三部分,幫助用戶了解業(yè)務(wù)安全...
閱讀 3259·2023-04-25 19:09
閱讀 3964·2021-10-22 09:54
閱讀 1831·2021-09-29 09:35
閱讀 2994·2021-09-08 09:45
閱讀 2428·2021-09-06 15:00
閱讀 2836·2019-08-29 15:32
閱讀 1115·2019-08-28 18:30
閱讀 423·2019-08-26 13:43