瑞星“超級(jí)火焰”病毒(Worm.Win32.Flame)技術(shù)分析報(bào)告
2012-06-05 13:28:33三、技術(shù)細(xì)節(jié)
“超級(jí)火焰”病毒的注入方法
“超級(jí)火焰”病毒注入DLL的方式是采用常規(guī)的遠(yuǎn)程線程的方法。首先通過OpenProcess獲取目標(biāo)進(jìn)程句柄,然后通過WrietProcessMemory向目標(biāo)注入代碼,最后通過CreateRemoteThread創(chuàng)建遠(yuǎn)程線程實(shí)現(xiàn)DLL的加載。
步驟
1.?在目標(biāo)進(jìn)程中注入模擬DLL卸載的ShellCode
2.?在目標(biāo)進(jìn)程中注入模擬DLL加載的ShellCode
3.?在目標(biāo)進(jìn)程中注入遠(yuǎn)程線程所要用到的數(shù)據(jù)
4.?創(chuàng)建遠(yuǎn)程線程,線程地址為模擬加載DLL的ShellCode起始地址,線程參數(shù)為注入到目標(biāo)中的數(shù)據(jù)的起始地址
特點(diǎn)
1.?Shellcode構(gòu)造得很精妙
2.?隱藏DLL模塊,通用性好
3.?內(nèi)存加載,不會(huì)產(chǎn)生文件
4.?手動(dòng)模擬DLL加載,而且還模擬DLL卸載
注入詳細(xì)分析
經(jīng)過分析,“超級(jí)火焰”病毒中注入DLL功能模塊有兩套,功能基本相同,只是在代碼上有少許不一樣,猜測(cè)應(yīng)該是在編譯的過程中有些地方?jīng)]有使用最新的注入模塊所造成的。
模塊(一)
模塊(二)
模擬系統(tǒng)DLL加載的功能代碼分析
該功能代碼在“超級(jí)火焰”病毒中發(fā)現(xiàn)有兩個(gè)版本,一個(gè)大小為0x70C字節(jié),另一個(gè)版本是0x603字節(jié),經(jīng)分析發(fā)現(xiàn)兩個(gè)版本的代碼實(shí)現(xiàn)的步驟功能相似,只是在代碼上有所差別。實(shí)現(xiàn)功能如下:
1)?通過參數(shù)指定的配置數(shù)據(jù)中找到是否要借用系統(tǒng)的shell32.dll映像名來隱藏自己,如果指定,則映射shell32.dll,并將其內(nèi)存數(shù)據(jù)全部清零,將要加載的PE文件按內(nèi)存粒度對(duì)齊后拷貝到shell32.dll所處的那塊內(nèi)存中。
2)?解析PE結(jié)構(gòu),處理導(dǎo)入表,處理重定位表,調(diào)用新映射的病毒代碼的入口點(diǎn)(從PE頭中取得)。
3)?加載msvcrt.dll,取得當(dāng)前進(jìn)程的PEB,通過基地址從LDR鏈表中找到msvcrt.dll所在的鏈表入口,修改掉該鏈表中標(biāo)記的DLL入口地址指向病毒代碼,病毒線程退出后,Hook DLL入口的代碼會(huì)獲得執(zhí)行權(quán),實(shí)現(xiàn)病毒DLL的卸載。
四、 總結(jié)
從目前分析的情況看,“超級(jí)火焰”是一款從事間諜活動(dòng)的病毒。它盜取的信息包羅萬象,包括各種文檔、截屏、錄音、按鍵信息等,其復(fù)雜度大大超過目前已知的所有病毒。
5/5 首頁 上一頁 3 4 5