国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【2018-10-30】粗略分析某感染性病毒樣本

Atom / 2827人閱讀

摘要:樣本下載樣本原文件鏈接我的分析過程文件鏈接提示請勿實體機分析文件信息收集查看文件類型,標準的頭改名后使用查殼工具查看是否有殼總共個區段,不清楚是什么殼也不清楚是用什么編程語言寫的使用加載,查看是否有關鍵字符串信息看來字符串之類的也被加密或者

樣本下載

樣本原文件 鏈接
我的分析過程文件 鏈接
提示:請勿實體機分析

文件信息收集

查看文件類型,標準的PE頭

改名后使用查殼工具查看是否有殼

總共3個區段,不清楚是什么殼!也不清楚是用什么編程語言寫的

使用IDA加載,查看是否有關鍵字符串信息

看來字符串之類的也被加密或者壓縮了

動態分析-脫殼

由于不清楚是什么殼,所以只有嘗試多種通用脫殼的辦法:諸如單步法,ESP定律以及最后一次異常法!失敗的過程就不贅述了,最終是用最后一次異常配合單步找到的OEP,如下,首先取消勾選所有的忽略異常選項

然后Shift+F9忽略異常運行,運行8次之后會到0x430EF1這個位置進行一個很大的循環,是為了找到kernel32的基址,這時候在下一行下斷運行即可

之后再單步F8,程序跑飛就返回來下個斷點重新運行,然后F7進入這個函數內部,跟個幾分鐘就會到jmp oep的地方

段間大跳轉肯定是OEP了,使用Ollydump先dump內存

然后用Scylla修復導入表,最終完成脫殼

脫殼后的程序入口

動靜結合分析脫殼程序

初始化操作,包括獲取模塊句柄以及注冊句柄

該病毒最開始進行的關鍵操作就是分離原始PE文件,因為原始文件其實是由一個病毒體+一個注冊表編輯器組成的,所以需要分離
(1).讀取病毒體的全部內容到緩沖區

(2).創建” C:WINDOWSuninstall undll32.exe”這個文件,并把之前緩沖區的內容寫入到這個文件中,即病毒體寫入rundll32.exe

(3).寫注冊表,讓C:WINDOWSuninstall undll32.exe實現自啟動

(4).創建C:WINDOWSLogon1_.exe文件,并且寫入病毒體

(5).病毒體文件的大小問0x115D5,所以原文件的指針偏移0x115D5之后就是注冊表編輯器的所有數據

(6).然后在桌面新建a.exe.exe,把文件指針指向的地址起復制數據到a.exe.exe中,并且刪除原文件a.exe,之后重命名a.exe.exe為a.exe以實現文件分離

殺掉程序中所有跟殺毒相關的進程以及服務
(1).先創建查找到的殺毒進程,再kill掉

(2).調用cmd來停止殺軟服務諸如:金山的服務,江民殺毒服務等等

(3).創建線程繼續殺毒,以及關閉系統聲音

Temp目錄下寫入bat文件以及創建進程運行
(1).創建文件C:DOCUME~1ADMINI~1LOCALS~1Temp$$a13.bat

(2).解密字符串后寫入內容到$$a13.bat中

(3).創建進程運行該bat文件

(4)關閉本程序的進程,創建C:WINDOWSLogon1_.exe進程以及修改后a.exe即注冊表編輯器運行

加載自定義dll實現下載其它病毒文件
(1).解密下載鏈接,大概十來個這樣子的"http://down.97725.com/downma1.exe"

(2).在一個線程對應的函數中,先訪問資源文件dll1.dll,再創建C:WINDOWSRichDll.dll然后將dll1.dll寫入到Richdll.dll中

(3).加載資源管理器來加載這個Richdll.dll

(4).寫注冊表實現開機自動加載dll

創建一個線程,在線程中創建desktop.ini寫入時間并且遍歷Z盤文件
(1).創建C:\_desktop.ini文件,并寫入當前時間

(2).獲取Z盤類型,方便后續操作

(3).遍歷Z盤中的所有文件

(4).設置每個文件的屬性為共享可寫

再次創建一個線程,在線程中主要是創建套接字,發送ping測試,嘗試連接局域網以及枚舉共享文件夾中的文件
(1).創建套接字以及發送hello,world測試,需要加載icmp.dll使用其中的API

(2).爆破嘗試連接局域網

(3).獲取本機計算機名

(4).枚舉局域網共享文件夾中的共享文件

(5).進入消息循環,收到結束消息后會釋放資源關閉句柄

關于Win7不能運行該程序

崩潰點就在于遍歷系統dll時,地址訪0崩潰,而xp沒有崩潰的原因在于遍歷的第一個就是kernel32成功命中,win7崩潰就在于遍歷的時候遇到了不能尋址的地址,下面圖片中這個偏移計算其實就是IAT的內存搜索,因為IAT中有一個字段是該dll的名稱。但不是所有的dll都有導入表結構,當遇到沒有導入表結構的dll的時候上述尋址很容易遇到訪問地址崩潰

關于為什么xp能從kernel32開始遍歷,而win7卻從ntdll附近開始遍歷,并遍歷地址往高地址走,win7不可能訪問到kernel32這個模塊,原因很簡單:

這個賦值寫死了0x77000000,根據xp賦的值,win7賦值應該小于0x74000000

歸根結底就是操作系統不一樣,模塊加載的地址不一樣,寫死地址兼容性就不高

END

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11410.html

相關文章

  • 《阿里聚安全2016年報》

    摘要:每天新增近個新移動病毒樣本,每秒生成個阿里聚安全移動病毒樣本庫年新增病毒樣本達個,平均每天新增個樣本,這相當于每秒生成一個病毒樣本。阿里聚安全的人機識別系統,接口調用是億級別,而誤識別的數量只有個位數。 《阿里聚安全2016年報》發布,本報告重點聚焦在2016年阿里聚安全所關注的移動安全及數據風控上呈現出來的安全風險,在移動安全方面重點分析了病毒、仿冒、漏洞三部分,幫助用戶了解業務安全...

    2json 評論0 收藏0

發表評論

0條評論

Atom

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<