“代理蠕蟲變種ZAH”病毒技術細節
來源:瑞星公司 時間:2007-11-05 17:11:53
病毒摘要 技術細節
這是一個蠕蟲病毒.使用Microsoft Visual C++ 6.0編寫
1.exe部分
病毒運行後,創建一個線程,該線程先利用EnumWindows遍曆當前係統內的窗口,在CallBack中利用GetClassName,GetWindowText,查找"KAVStart"等名稱,找到後向該窗口發送WM_CLOSE和WM_COMMAND消息,再使用FindWindowEx查找"#32770","金山毒霸","Button",找到後向該窗口發送WM_LBUTTONDOWN,WM_LBUTTONUP消息,關閉殺毒軟件.病毒使用Process32First, Process32Next遍曆係統進程,查找進程中是否存在avp.exe如果遍曆到該進程,則使用GetSystemTime獲得當前係統時間,比較年份是否小於2005,如果不小於,則使用SetSystemTime將係統時間的年份改爲2005年,使avp殺毒軟件過期.
病毒會比較是否有"-k"參數,如果沒有,則創建一個Dispaly Name爲"61957A08"的服務,如果有的話,則創建一個線程.從自身文件中讀取一個94A5415E.DLL放到%SYSTEM32%目錄中,然後使用OpenProcess打開winlogon.exe進程,將94A5415E.DLL名稱使用WriteProcessMemory寫入,再使用CreateRemoteThread調用94A5415E.DLL.到此exe的工作完畢.
2.DLL部分
病毒上來先創建一個線程.該線程利用fopen,fseek,fread等,打開%SYSTEM32%目錄下的61957A08.EXE文件(病毒本身),通過解密得到"
http://nx.51ylb.c..."這個網址.再加載"rpcrt4.dll"調用 "UuidCreateSequential"來獲得當前機器的網卡MAC地址,再使用GetComputerNameA得到當前係統的計算機名稱.再使用strcat把"
http://alexa.very..."這個網址連接起來.
病毒判斷加載當前DLL的進程
a)如果是winlogon.exe進程,則創建五個線程.其中:
線程一:獲取當前計算機時間,比較年份是否大於2005,如果大於則改年份改爲2005
線程二:創建一個服務,使計算機在啓動時自動加載病毒
線程三:先通過解密得到"61957A08"字符,再加病毒本身複制到"SYSTEM32"目錄中.
線程四:刪除注冊表裏的SYSTEM\CurrentControlSet\Services\ERSvc子項.並把SOFTWARE\Microsoft\PCHealth\ErrorReporting下的ReportBootOk,DoReport,ShowUI三個DWORD值設爲0(修改的目的就是爲了禁止錯誤報告提示)
線程五:利用PathFileExistsA查找"SYSTEM32"目錄中的"61957A08.exe"文件是否存在,如果不存在,則下載
http://nx.51ylb.cn/...ata.txt列表文件,根據列表中的版本,地址,網址等信息.下載文件,修改IE主頁等操作.遍曆磁盤,向可移動磁盤中寫入auto.exe(爲病毒本身)和autorun.inf.其中autorun.inf的內容爲:
[AutoRun]
open=auto.exe
shellexecute=auto.exe
shell\Auto\command=auto.exe
修改注冊表內Software\Microsoft\windows\CurrentVersion\explorer\Advanced\Folder\ Hidden\SHOWALL的CheckedValue值爲0達到隱藏文件的目的.
最後將DLL注入到explorer.exe進程中.
b)如果是explorer.exe進程,則創建兩個線程,其中:
線程一:重複上面winlogon.exe裏的線程五的步驟.
線程二:重複上面exe部分查找病毒軟件窗口並關閉的步驟.
c)如果不是以上兩個進程,則複制61957A08.exe到%SYSTEM32%目錄中.