第一篇:個(gè)人分享木馬病毒查殺總結(jié)
一、前言
《病毒木馬查殺》系列以真實(shí)的病毒木馬(或統(tǒng)稱為惡意程序)為研究對象,通過現(xiàn)有的技術(shù)手段對其分析,總結(jié)出它的惡意行為,進(jìn)而制定出相應(yīng)的應(yīng)對方法(如編寫專殺工具),對其徹底查殺。當(dāng)然,本系列更多地是討論如何應(yīng)對某一個(gè)特定的病毒,而不涉及廣義的殺毒軟件的編寫。因?yàn)槿缃駳④浀脑矸浅?fù)雜,并不是一個(gè)人就能夠完成的,加之我個(gè)人水平有限,因此不會(huì)涉及殺軟編寫的問題。不過,我會(huì)在以后的文章中在理論層面對此進(jìn)行分析。
在本系列的文章中,對于某一個(gè)病毒或木馬,我可能會(huì)從以下三個(gè)方面進(jìn)行查殺:手動(dòng)查殺、監(jiān)測惡意行為編寫專殺工具或通過逆向分析其反匯編代碼進(jìn)行徹底查殺。這幾種方式通過對病毒的不斷深入分析,從而更有效地對抗惡意程序。需要說明的是,手動(dòng)查殺病毒是比較粗淺的,難以徹底清除病毒,但是有些時(shí)候卻是快速而有效的。而通過行為對惡意程序進(jìn)行監(jiān)測,雖說比手動(dòng)查殺的效果要好很多,但是有些時(shí)候往往也會(huì)有些遺漏。所以其實(shí)最好的還是通過逆向分析來了解惡意程序,只是這樣往往耗時(shí)較多。希望本系列的文章能夠起到科普作用,讓大家打消對病毒木馬的恐懼感,使得每一位讀者都能成為反病毒的專家。
二、病毒分析方法
一般來說,除非是感染型病毒,否則是不需要對病毒進(jìn)行逆向分析的,只需要對病毒進(jìn)行行為分析就可以編寫專殺工具。而如果是感染型病毒,由于需要修復(fù)被病毒感染的文件,那么就不能僅僅簡單地分析病毒的行為,而必須對病毒進(jìn)行逆向分析,從而修復(fù)被病毒所感染的文件。因此,實(shí)際中的分析方法有以下兩種:
1、行為分析。惡意程序?yàn)榱诉_(dá)到目的,都有自己的一些特殊的行為,這些特殊的行為是正常的應(yīng)用程序所沒有的。比如把自己復(fù)制到系統(tǒng)目錄下,或把自己添加進(jìn)啟動(dòng)項(xiàng),或把自己的某個(gè)DLL文件注入到其它進(jìn)程中去……這些行為都不是正常的行為。我們拿到一個(gè)病毒樣本后,通常就是將病毒復(fù)制到虛擬機(jī)中,然后打開監(jiān)控工具,比如Process Monitor。將各種準(zhǔn)備工作做好以后,在虛擬機(jī)中把病毒運(yùn)行起來,看病毒對注冊表、對文件進(jìn)行了哪些操作,連接了哪個(gè)IP地址、創(chuàng)建了哪些進(jìn)程等。通過觀察這一系列的操作,就可以寫一個(gè)程序。只要把它創(chuàng)建的進(jìn)程結(jié)束掉,把它寫入注冊表的內(nèi)容刪除掉,把新建的文件刪除掉,就等于把這個(gè)病毒殺掉了。這也是手動(dòng)查殺病毒所慣用的方法。當(dāng)然,這整個(gè)過程不會(huì)像說起來那么容易。
2、逆向分析。當(dāng)惡意程序感染了可執(zhí)行文件之后,所感染的內(nèi)容是無法通過行為監(jiān)控工具發(fā)現(xiàn)的。而病毒對可執(zhí)行文件的感染,有可能是通過PE文件結(jié)構(gòu)中的節(jié)與節(jié)之間的縫隙來存放病毒代碼,也可能是添加一個(gè)新節(jié)來存放病毒代碼。無論是哪種方式,都需要通過逆向的手段進(jìn)行分析。常用的逆向分析工具有OllyDbg、IDA Pro以及WinDBG。
三、病毒查殺方法
病毒的查殺方法有很多種,在網(wǎng)絡(luò)安全知識日益普及的今天,在各大殺軟公司大力宣傳的今天,想必大部分網(wǎng)絡(luò)安全愛好者對于病毒查殺技術(shù)都有一定的了解。當(dāng)今常見的主流病毒查殺技術(shù)有特征碼查殺、啟發(fā)式查殺、虛擬機(jī)查殺和主動(dòng)防御等。
1、特征碼查殺。特征碼查殺是殺軟廠商查殺病毒的一種較為原始的方法。它是通過從病毒體內(nèi)提取病毒特征碼,從而識別病毒。但是這種方法只能查殺已知病毒,對于未知病毒則無能為力。
2、啟發(fā)式查殺。靜態(tài)地通過一系列“帶權(quán)規(guī)則組合”對文件進(jìn)行判定,如果計(jì)算出的值高于某個(gè)界限則被認(rèn)為是病毒,否則不認(rèn)為是病毒。啟發(fā)式查殺可以相對有效地識別出病毒,但是往往也會(huì)出現(xiàn)誤報(bào)的情況。
3、虛擬機(jī)查殺。在內(nèi)存中虛擬一個(gè)運(yùn)行環(huán)境用于病毒的運(yùn)行,根據(jù)其行為或釋放出的已知病毒特征碼,來判斷其是否為病毒程序。這個(gè)技術(shù)用來應(yīng)對加殼和加密的病毒比較有效,因?yàn)檫@兩類病毒在執(zhí)行時(shí)最終還是要自身脫殼和解密的,這樣,殺軟可以在其現(xiàn)出原形之后進(jìn)行查殺。
4、主動(dòng)防御?;诔绦蛐袨樽灾鞣治雠袛嗟膶?shí)時(shí)防護(hù)技術(shù),不以病毒的特征碼作為判斷病毒的依據(jù),而是從最原始的病毒定義出發(fā),直接將程序的行為作為判斷病毒的依據(jù)。主動(dòng)防御是用軟件自動(dòng)實(shí)現(xiàn)了反病毒工程師分析判斷病毒的過程,解決了傳統(tǒng)安全軟件無法防御未知惡意軟件的弊端,從技術(shù)上實(shí)現(xiàn)了對木馬和病毒的主動(dòng)防御。
四、環(huán)境的配置
我們所有的病毒分析工作都會(huì)在虛擬機(jī)中進(jìn)行,因此安裝虛擬機(jī)是一個(gè)必須的步驟。虛擬機(jī)也是一個(gè)軟件,用于模擬計(jì)算機(jī)的硬件系統(tǒng),在虛擬機(jī)中可以安裝操作系統(tǒng),之后可以安裝各種各樣的應(yīng)用程序,這與真實(shí)的計(jì)算機(jī)是沒有區(qū)別的。在虛擬機(jī)中的操作完全不會(huì)對我們真實(shí)的系統(tǒng)產(chǎn)生影響。但是這里要特別說明的是,某些特別強(qiáng)的病毒能夠繞出虛擬機(jī),進(jìn)而感染我們真實(shí)的系統(tǒng)。這種情況可能是因?yàn)槲覀兊奶摂M機(jī)中存在漏洞,而病毒正好利用了這個(gè)漏洞。因此一定要選擇最新版本的虛擬機(jī)軟件。除了對病毒進(jìn)行分析需要使用虛擬機(jī)外,在進(jìn)行雙機(jī)調(diào)試系統(tǒng)內(nèi)核時(shí)(比如使用WinDBG),往往也是要借助于虛擬機(jī)的。常用的虛擬機(jī)有VMware和Oracle公司的VM VirtualBox。我個(gè)人最喜歡使用VMware,因?yàn)樗墓δ芊浅?qiáng)大,而且基本上所有的教程都會(huì)以這款軟件作為講解對象。但是Vmware在我的系統(tǒng)中總是會(huì)出現(xiàn)莫名的問題,所以在我的實(shí)驗(yàn)環(huán)境中,我選擇使用開源且免費(fèi)的VirtualBox。我的VirtualBox采用的是4.3.12版,虛擬機(jī)中安裝的操作系統(tǒng)為Windows XP Professional SP3,為其虛擬1個(gè)處理器,1GB內(nèi)存、10GB硬盤空間與128M顯存。而我的真實(shí)系統(tǒng)采用的是Windows 8.1(64位),使用Intel Core i5-3230M 2.60GHz的CPU,4GB內(nèi)存。如無特別說明,本系列所有的實(shí)驗(yàn)都會(huì)在這個(gè)配置中完成。這里還需要說一下系統(tǒng)的備份,因?yàn)樵诜治霾《境绦驎r(shí),我們的虛擬系統(tǒng)或多或少地會(huì)被病毒所破壞,而備份功能則可以將系統(tǒng)很好地恢復(fù)到被破壞前的狀態(tài)。在VirtualBox中,可以在“控制”菜單下選擇“生成備份”,輸入備份名稱后保存。這樣,以后如果想還原系統(tǒng),可以選擇“恢復(fù)備份”,至此,我們的實(shí)驗(yàn)環(huán)境基本配置完畢。
一、前言
作為本系列研究的開始,我選擇“熊貓燒香”這個(gè)病毒為研究對象。之所以選擇這一款病毒,主要是因?yàn)樗哂幸欢ǖ拇硇?。一方面它?dāng)時(shí)造成了極大的影響,使得無論是不是計(jì)算機(jī)從業(yè)人員,都對其有所耳聞;另一方面是因?yàn)檫@款病毒并沒有多高深的技術(shù),即便是在當(dāng)時(shí)來講,其所采用的技術(shù)手段也是很一般的,利用我們目前掌握的知識,足夠?qū)⑵淦饰?。因此,我相信從這個(gè)病毒入手,會(huì)讓從前沒有接觸過病毒研究的讀者打消對病毒的恐懼心理,在整個(gè)學(xué)習(xí)的過程中開個(gè)好頭。
本篇文章先研究如何對“熊貓燒香”進(jìn)行手動(dòng)查殺。這里所說的手動(dòng)查殺,主要是指不通過編寫代碼的方式對病毒進(jìn)行查殺。說白了,基本上就是通過鼠標(biāo)的指指點(diǎn)點(diǎn),有時(shí)再利用幾條DOS命令就能夠?qū)崿F(xiàn)殺毒的工作。但是不可否認(rèn)的是,采用這種方法是非常粗淺的,往往不能夠?qū)⒉《緩氐撞闅⒏蓛簦菑膶W(xué)習(xí)手動(dòng)查殺病毒起步,有助于我們更好地理解反病毒的工作,從而為以后更加深入的討論打下基礎(chǔ)。需要說明的是,手動(dòng)查殺病毒并不代表在什么軟件都不使用的前提下對病毒進(jìn)行查殺,其實(shí)利用一些專業(yè)的分析軟件對于我們的查殺病毒的還是很有幫助的,這些工具我會(huì)在對不同的病毒的研究中進(jìn)行講解。另外,出于安全考慮,我的所有研究文章,都不會(huì)給大家提供病毒樣本,請大家自行上網(wǎng)尋找,我只會(huì)給出我所使用的病毒樣本的基本信息。
二、手動(dòng)查殺病毒流程
手動(dòng)查殺病毒木馬有一套“固定”的流程,總結(jié)如下:
1、排查可疑進(jìn)程。因?yàn)椴《就鶗?huì)創(chuàng)建出來一個(gè)或者多個(gè)進(jìn)程,因此我們需要分辨出哪些進(jìn)程是由病毒所創(chuàng)建,然后刪除可疑進(jìn)程。
2、檢查啟動(dòng)項(xiàng)。病毒為了實(shí)現(xiàn)自啟動(dòng),會(huì)采用一些方法將自己添加到啟動(dòng)項(xiàng)中,從而實(shí)現(xiàn)自啟動(dòng),所以我們需要把啟動(dòng)項(xiàng)中的病毒清除。
3、刪除病毒。在*步的檢查啟動(dòng)項(xiàng)中,我們就能夠確定病毒主體的位置,這樣就可以順藤摸瓜,從根本上刪除病毒文件。
4、修復(fù)被病毒破壞的文件。這一步一般來說無法直接通過純手工完成,需利用相應(yīng)的軟件,不是我們討論的重點(diǎn)。
三、查殺病毒
我這里研究的“熊貓燒香”病毒樣本的基本信息如下: MD5碼:87551e33d517442424e586d25a9f8522,Sha-1碼:cbbab396803685d5de593259c9b2fe4b0d967bc7 文件大?。?9KB 大家在網(wǎng)上搜索到的病毒樣本可能與我的不同,但是基本上都是大同小異的,查殺的核心思想還是一樣的。
這里我將病毒樣本拷貝到之前配置好的虛擬機(jī)中(注意要備份),首先打開“任務(wù)管理器”查看一下當(dāng)前進(jìn)程:因?yàn)槲业奶摂M機(jī)系統(tǒng)中沒有安裝任何軟件,是很純凈的,所以一共有18個(gè)進(jìn)程(包含任務(wù)管理器進(jìn)程),可以認(rèn)為這18個(gè)進(jìn)程是系統(tǒng)所必須的。有時(shí)我們就需要這樣的一個(gè)純凈系統(tǒng),來與疑似中毒的系統(tǒng)進(jìn)行進(jìn)程的對比操作。然后我們運(yùn)行病毒,再次嘗試打開“任務(wù)管理器”,發(fā)現(xiàn)它剛打開就立刻被關(guān)閉了,說明病毒已經(jīng)對我們的系統(tǒng)產(chǎn)生了影響,而這第一個(gè)影響就是使得“任務(wù)管理器”無法打開。不過沒關(guān)系,我們可以在cmd中利用“tasklist”命令進(jìn)行查看:通過對比可見這里多出了一個(gè)名為spoclsv.exe的進(jìn)程,那么我們可以通過命令“taskkill /f /im 1820”(強(qiáng)制刪除PID值為1820的文件映像),從而將這個(gè)進(jìn)程結(jié)束掉:這時(shí)就可以發(fā)現(xiàn)“任務(wù)管理器”可以被打開了,說明我們工作的第一步是成功的。然后需要對啟動(dòng)項(xiàng)進(jìn)行排查,可以在“運(yùn)行”中輸入“msconfig”:
這里很快就能夠鎖定“spoclsv.exe”這一項(xiàng),我們首先需要記下其文件位置: C:WINDOWSsystem32driversspoclsv.exe 然后是注冊表位置:
HKCUSOFTWAREMicrosoftWindowsCurrentVersionRun 然后將這個(gè)啟動(dòng)項(xiàng)前面的對勾取消,來到注冊表相應(yīng)的位置,將Run中的“spoclsv.exe”刪除,并且刪除病毒文件本體:
以上工作完畢后,重啟系統(tǒng),再次打開“任務(wù)管理器”,可以被正常打開,說明我們的工作是成功的。然后打開“我的電腦”,用鼠標(biāo)右鍵點(diǎn)擊一下各個(gè)盤符(我的系統(tǒng)只有C盤):我們在手動(dòng)查殺病毒的時(shí)候,就應(yīng)該養(yǎng)成一個(gè)習(xí)慣,那就是使用右鍵來打開盤符,而不是通過雙擊左鍵的方式。在這里我們可以看到,鼠標(biāo)右鍵菜單中多出來了一個(gè)“Auto”項(xiàng),那么很明顯C盤中存在autorun.inf的文件??梢栽赾md中查看一下:因?yàn)槲乙呀?jīng)確定C盤中存在autorun.inf文件,而使用dir命令卻沒有看到,說明它應(yīng)該是被隱藏了,所以這里要使用“dir /ah”(查看屬性為隱藏的文件和文件夾)命令。而我們也確實(shí)發(fā)現(xiàn)了autorun.inf與setup.exe這兩個(gè)可疑文件(因?yàn)檎N募遣恍枰[藏的,特別是EXE文件更加不需要隱藏自己,所以這個(gè)setup.exe屬于可疑文件)。因?yàn)檫@兩個(gè)可疑程序的屬性是隱藏的,所以這里可以先去掉其隱藏屬性,然后再進(jìn)行刪除:
重啟系統(tǒng)后,所有手動(dòng)查殺病毒的工作完畢,我們的系統(tǒng)就又恢復(fù)正常了。
四、小結(jié)
事實(shí)上,“熊貓燒香”對于我們的電腦的危害遠(yuǎn)不止于此,只是說在不使用任何輔助工具的前提下,我們能做的基本上就是這些了。對于“熊貓燒香”病毒的手動(dòng)查殺部分就到這里,在以后對于別的病毒的研究中,由于它們比“熊貓”要強(qiáng)大,我們不得不使用一些專業(yè)工具作為輔助。也希望大家能夠親自去嘗試,勤動(dòng)手,由這里開始,不再懼怕病毒。
一、前言
為了分析“熊貓燒香”病毒的行為,我這里使用的是Process Monitor v3.10版。
行為分析的目的,是為了編寫出病毒的專殺程序。當(dāng)然,由于現(xiàn)實(shí)環(huán)境的種種限制,可能無法發(fā)現(xiàn)病毒的所有行為,這些我都會(huì)在文章中進(jìn)行說明。
二、對“熊貓燒香.exe”進(jìn)程樹的監(jiān)控分析
這里我將病毒和Process Monitor v3.10復(fù)制到之前配置好的虛擬機(jī)中,并做好備份。然后先打開Process Monitor,在篩選條件中將“熊貓燒香.exe”加入到篩選器的“Process Name”中,然后運(yùn)行病毒,首先可以查看一下進(jìn)程樹: 圖①
在進(jìn)程樹中可以發(fā)現(xiàn),“熊貓燒香.exe”衍生出了“spoclsv.exe”。衍生出的進(jìn)程又打開了兩次“cmd.exe”。第一次運(yùn)行的命令是“cmd.exe /c net share C$ /del /y”,它的意思是在命令行模式下刪除C盤的網(wǎng)絡(luò)共享,執(zhí)行完后關(guān)閉cmd.exe。因?yàn)槲业南到y(tǒng)只有一個(gè)C盤,因此有理由相信,這個(gè)病毒應(yīng)該是會(huì)關(guān)閉系統(tǒng)中所有的盤的網(wǎng)絡(luò)共享。第二次運(yùn)行的命令是“cmd.exe /c net share admin$ /del /y”,這里取消的是系統(tǒng)根目錄的共享。那么由此就可以總結(jié)出病毒的兩點(diǎn)行為:
病毒行為1:病毒本身創(chuàng)建了名為“spoclsv.exe”的進(jìn)程,該進(jìn)程文件的路徑為“C:WINDOWSsystem32driversspoclsv.exe”。
病毒行為2:在命令行模式下使用net share命令來取消系統(tǒng)中的共享。
三、對“熊貓燒香.exe”注冊表監(jiān)控分析
對于注冊表的監(jiān)控,我們發(fā)現(xiàn)只有一項(xiàng)需要注意: 注冊表的這個(gè)位置主要用于隨機(jī)數(shù)種子的生成,僅僅依靠這條信息是無法推測病毒的行為的,所以可以認(rèn)為“熊貓燒香.exe”對于注冊表沒有什么實(shí)質(zhì)的影響。
四、對“熊貓燒香.exe”文件監(jiān)控分析
對于文件的監(jiān)控,也只有一條需要注意:創(chuàng)建文件
可見,“熊貓燒香.exe”在“C:WINDOWSsystem32drivers”中創(chuàng)建了“spoclsv.exe”,其它再無可疑操作,那么可以認(rèn)為,這個(gè)病毒真正的破壞部分是由“spoclsv.exe”實(shí)現(xiàn)的,那么接下來的工作就是專門監(jiān)控這個(gè)進(jìn)程。
五、對“spoclsv.exe”注冊表監(jiān)控分析 這里需要將進(jìn)程名為“spoclsv.exe”的進(jìn)程加入篩選器進(jìn)行分析。一般來說,病毒所產(chǎn)生的操作會(huì)比較多,所以我這里為了便于討論,我每次只會(huì)列出幾項(xiàng)操作進(jìn)行顯示,其它的操作就由篩選器排除掉。首先可以查看一下“Reg*Value”這個(gè)操作:
可見病毒程序?qū)?dāng)時(shí)幾乎所有的安全類工具的自啟動(dòng)項(xiàng)給刪除了,就有: 病毒行為3:刪除安全類軟件在注冊表中的啟動(dòng)項(xiàng)。然后只保留“Reg*Key”與“RegSetValue”
可見,病毒程序?yàn)樽陨韯?chuàng)建了自啟動(dòng)項(xiàng),使得每次啟動(dòng)計(jì)算機(jī)就會(huì)執(zhí)行自身,則有:
病毒行為4:在注冊表“HKCUSoftwareMicrosoftWindowsCurrentVersionRun”中創(chuàng)建“svcshare”,用于在開機(jī)時(shí)啟動(dòng)位于“C:WINDOWSsystem32driversspoclsv.exe”的病毒程序。對注冊表的這個(gè)位置進(jìn)行設(shè)置,能夠?qū)崿F(xiàn)文件的隱藏。此處進(jìn)行設(shè)置后,即便在“文件夾選項(xiàng)”中選擇“顯示所有文件和文件夾”,也無法顯示隱藏文件,則有:
病毒行為5:修改注冊表,使得隱藏文件無法通過普通的設(shè)置進(jìn)行顯示,該位置為:HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL,病毒將CheckedValue的鍵值設(shè)置為了0。至此,注冊表部分就基本分析完畢了。
六、對“spoclsv.exe”文件監(jiān)控分析
文件的監(jiān)控,主要看的是病毒是否將自己復(fù)制到其他目錄,或者創(chuàng)建刪除了哪些文件等,監(jiān)控如下所示:
圖二在圖中可以看到,病毒文件在“C:WINDOWSsystem32drivers”中創(chuàng)建了“spoclsv.exe”這個(gè)文件,在C盤根目錄下創(chuàng)建了“setup.exe”與“autorun.inf”,并且在一些目錄中創(chuàng)建了“Desktop_.ini”這個(gè)文件。由于創(chuàng)建這些文件之后就對注冊表的SHOWALL項(xiàng)進(jìn)行了設(shè)置,使得隱藏文件無法顯示,那么有理由相信,所創(chuàng)建出來的這些文件的屬性都是“隱藏”的,于是有:
病毒行為6:將自身拷貝到根目錄,并命名為“setup.exe”,同時(shí)創(chuàng)建“autorun.inf”用于病毒的啟動(dòng),這兩個(gè)文件的屬性都是“隱藏”。
病毒行為7:在一些目錄中創(chuàng)建名為“Desktop_.ini”的隱藏文件。
七、對“spoclsv.exe”網(wǎng)絡(luò)監(jiān)控分析
現(xiàn)在只進(jìn)行網(wǎng)絡(luò)監(jiān)控,來查看病毒是否有聯(lián)網(wǎng)動(dòng)作:從監(jiān)控結(jié)果可以看到,病毒會(huì)向“124.16.31.148”發(fā)送并接收信息,并不斷嘗試連接“10.0.2.X”即局域網(wǎng)中的其它計(jì)算機(jī),于是有:
病毒行為8:向外發(fā)包,連接局域網(wǎng)中其他機(jī)器。
八、小結(jié)
至此,我們已總結(jié)出病毒的8點(diǎn)行為,在分析的過程中,我基本上是一語帶過,主要是因?yàn)椴《颈容^簡單,加上它在Process Monitor面前也是無所遁形。但是請大家注意,以上8點(diǎn)不代表就是病毒的所有行為,因?yàn)楦釉敿?xì)的結(jié)論是要通過逆向分析才能得出的。而通過上述的分析結(jié)果,我們就可以著手專殺工具的編寫了,這將會(huì)在*文章中詳述。
一、前言
為了分析“熊貓燒香”病毒的行為,我這里使用的是Process Monitor v3.10版。
行為分析的目的,是為了編寫出病毒的專殺程序。當(dāng)然,由于現(xiàn)實(shí)環(huán)境的種種限制,可能無法發(fā)現(xiàn)病毒的所有行為,這些我都會(huì)在文章中進(jìn)行說明。
二、對“熊貓燒香.exe”進(jìn)程樹的監(jiān)控分析
這里我將病毒和Process Monitor v3.10復(fù)制到之前配置好的虛擬機(jī)中,并做好備份。然后先打開Process Monitor,在篩選條件中將“熊貓燒香.exe”加入到篩選器的“Process Name”中,然后運(yùn)行病毒,在進(jìn)程樹中可以發(fā)現(xiàn),“熊貓燒香.exe”衍生出了“spoclsv.exe”。衍生出的進(jìn)程又打開了兩次“cmd.exe”。第一次運(yùn)行的命令是“cmd.exe /c net share C$ /del /y”,它的意思是在命令行模式下刪除C盤的網(wǎng)絡(luò)共享,執(zhí)行完后關(guān)閉cmd.exe。因?yàn)槲业南到y(tǒng)只有一個(gè)C盤,因此有理由相信,這個(gè)病毒應(yīng)該是會(huì)關(guān)閉系統(tǒng)中所有的盤的網(wǎng)絡(luò)共享。第二次運(yùn)行的命令是“cmd.exe /c net share admin$ /del /y”,這里取消的是系統(tǒng)根目錄的共享。那么由此就可以總結(jié)出病毒的兩點(diǎn)行為:
病毒行為1:病毒本身創(chuàng)建了名為“spoclsv.exe”的進(jìn)程,該進(jìn)程文件的路徑為“C:WINDOWSsystem32driversspoclsv.exe”。
病毒行為2:在命令行模式下使用net share命令來取消系統(tǒng)中的共享。
三、對“熊貓燒香.exe”注冊表監(jiān)控分析
對于注冊表的監(jiān)控,我們發(fā)現(xiàn)只有一項(xiàng)需要注意,對注冊表的寫入 注冊表的這個(gè)位置主要用于隨機(jī)數(shù)種子的生成,僅僅依靠這條信息是無法推測病毒的行為的,所以可以認(rèn)為“熊貓燒香.exe”對于注冊表沒有什么實(shí)質(zhì)的影響。
四、對“熊貓燒香.exe”文件監(jiān)控分析
對于文件的監(jiān)控,也只有一條需要注意: 創(chuàng)建文件
可見,“熊貓燒香.exe”在“C:WINDOWSsystem32drivers”中創(chuàng)建了“spoclsv.exe”,其它再無可疑操作,那么可以認(rèn)為,這個(gè)病毒真正的破壞部分是由“spoclsv.exe”實(shí)現(xiàn)的,那么接下來的工作就是專門監(jiān)控這個(gè)進(jìn)程。
五、對“spoclsv.exe”注冊表監(jiān)控分析
這里需要將進(jìn)程名為“spoclsv.exe”的進(jìn)程加入篩選器進(jìn)行分析。一般來說,病毒所產(chǎn)生的操作會(huì)比較多,所以我這里為了便于討論,我每次只會(huì)列出幾項(xiàng)操作進(jìn)行顯示,其它的操作就由篩選器排除掉。首先可以查看一下“Reg*V
可見病毒程序?qū)?dāng)時(shí)幾乎所有的安全類工具的自啟動(dòng)項(xiàng)給刪除了,就有: 病毒行為3:刪除安全類軟件在注冊表中的啟動(dòng)項(xiàng)。然后只保留“Reg*Key”與“RegSetValue”進(jìn)行分析:
可見,病毒程序?yàn)樽陨韯?chuàng)建了自啟動(dòng)項(xiàng),使得每次啟動(dòng)計(jì)算機(jī)就會(huì)執(zhí)行自身,則有:
病毒行為4:在注冊表“HKCUSoftwareMicrosoftWindowsCurrentVersionRun”中創(chuàng)建“svcshare”,用于在開機(jī)時(shí)啟動(dòng)位于“C:WINDOWSsystem32driversspoclsv.exe”的病毒程序。接下來還有
對注冊表的這個(gè)位置進(jìn)行設(shè)置,能夠?qū)崿F(xiàn)文件的隱藏。此處進(jìn)行設(shè)置后,即便在“文件夾選項(xiàng)”中選擇“顯示所有文件和文件夾”,也無法顯示隱藏文件,則有:
病毒行為5:修改注冊表,使得隱藏文件無法通過普通的設(shè)置進(jìn)行顯示,該位置為:HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL,病毒將CheckedValue的鍵值設(shè)置為了0。至此,注冊表部分就基本分析完畢了。
六、對“spoclsv.exe”文件監(jiān)控分析
文件的監(jiān)控,主要看的是病毒是否將自己復(fù)制到其他目錄,或者創(chuàng)建刪除了哪些文件等,監(jiān)控如下所示:
在圖中可以看到,病毒文件在“C:WINDOWSsystem32drivers”中創(chuàng)建了“spoclsv.exe”這個(gè)文件,在C盤根目錄下創(chuàng)建了“setup.exe”與“autorun.inf”,并且在一些目錄中創(chuàng)建了“Desktop_.ini”這個(gè)文件。由于創(chuàng)建這些文件之后就對注冊表的SHOWALL項(xiàng)進(jìn)行了設(shè)置,使得隱藏文件無法顯示,那么有理由相信,所創(chuàng)建出來的這些文件的屬性都是“隱藏”的,于是有:
病毒行為6:將自身拷貝到根目錄,并命名為“setup.exe”,同時(shí)創(chuàng)建“autorun.inf”用于病毒的啟動(dòng),這兩個(gè)文件的屬性都是“隱藏”。
病毒行為7:在一些目錄中創(chuàng)建名為“Desktop_.ini”的隱藏文件。
七、對“spoclsv.exe”網(wǎng)絡(luò)監(jiān)控分析
現(xiàn)在只進(jìn)行網(wǎng)絡(luò)監(jiān)控,來查看病毒是否有聯(lián)網(wǎng)動(dòng)作:
從監(jiān)控結(jié)果可以看到,病毒會(huì)向“124.16.31.148”發(fā)送并接收信息,并不斷嘗試連接“10.0.2.X”即局域網(wǎng)中的其它計(jì)算機(jī),于是有:
病毒行為8:向外發(fā)包,連接局域網(wǎng)中其他機(jī)器。
八、小結(jié)
至此,我們已總結(jié)出病毒的8點(diǎn)行為,在分析的過程中,我基本上是一語帶過,主要是因?yàn)椴《颈容^簡單,加上它在Process Monitor面前也是無所遁形。但是請大家注意,以上8點(diǎn)不代表就是病毒的所有行為,因?yàn)楦釉敿?xì)的結(jié)論是要通過逆向分析才能得出的。而通過上述的分析結(jié)果,我們就可以著手專殺工具的編寫了,這將會(huì)在*文章中詳述。
一、前言
對病毒進(jìn)行逆向分析,可以徹底弄清楚病毒的行為,從而采取更有效的針對手段。為了節(jié)省篇幅,在這里我不打算將“熊貓燒香”進(jìn)行徹底的分析,只會(huì)講解一些比較重要的部分,大家只要掌握了這些思想,那么就可以處理很多的惡意程序了。一般來說,對病毒的靜態(tài)分析,我們采用的工具是IDA Pro,動(dòng)態(tài)分析則采用OllyDbg。由于后者會(huì)使病毒實(shí)際運(yùn)行起來,所以為了安全起見,最好在虛擬機(jī)中操作。另外,在實(shí)際分析過程中,我們可能還需要一些輔助工具,比如偵殼或脫殼程序等。為了簡單起見,這次研究的“熊貓燒香”程序并沒有加殼,但是以后我們會(huì)討論如何應(yīng)對加殼或采用了其它保護(hù)手段的病毒。
二、查殼操作
逆向分析的第一步就是用查殼工具對目標(biāo)程序進(jìn)行查殼操作。由Delphi所編寫的代碼與VC++所編寫的代碼有所不同,最明顯的兩點(diǎn)區(qū)別如下:
1、函數(shù)調(diào)用時(shí)參數(shù)的傳遞不完全用棧,而是主要用寄存器,即Delphi編譯器默認(rèn)以register方式傳遞函數(shù)參數(shù)。這一點(diǎn)與VC編譯的程序完全不同。Delphi一般將第一個(gè)參數(shù)放入eax寄存器,第二個(gè)參數(shù)放入edx,第三個(gè)參數(shù)放入ecx寄存器,其余參數(shù)按照與VC程序類似的方式壓棧。
2、棧上給局部變量分配空間的時(shí)候,棧是向下增長的,而棧上的數(shù)組、字符串、結(jié)構(gòu)體等卻是向上增長的。理解這一點(diǎn)可以幫助識別棧上的變量。對病毒樣本進(jìn)行了簡單的偵測之后,就確定了分析的方向,那么接下來就需要使用反匯編工具進(jìn)行分
三、“熊貓燒香”的初步分析 這里我使用IDA Pro載入病毒樣這里最開始的兩個(gè)*調(diào)用的都是名為sub_403C98的函數(shù),IDA Pro已經(jīng)將其中第二個(gè)*上方的字符分析出來了,是一段作者感言信息。所以有理由相信,第一個(gè)*上方應(yīng)該也是一段字符串,這里可以結(jié)合OD來查看一下:可見,第一個(gè)*上方的字符串就是“***武*漢*男*生*感*染*下*載*者***”,可以理解為是病毒作者信息,那么接下來就有必要分析一下病毒程序利用這兩段字符串究竟做了什么。也就是進(jìn)入*的內(nèi)部,即sub_403C98去研究一下:
[mw_shl_code=asm,true]CODE:00403C98 sub_403C98 proc near;CODE XREF: sub_403ED4+8j CODE:00403C98;sub_403F18+6j...CODE:00403C98 test edx, edx;對edx 進(jìn)行驗(yàn)證,這里的test相當(dāng)于and,不同的是test只進(jìn)行比較,而不會(huì)將結(jié)果保存;在edx中。由于edx保存的是病毒作者所編寫的一段字符串,因此這里的結(jié)果一定是非0的。
CODE:00403C9A jz short loc_403CC0;由于*條語句的結(jié)果是非0的,因此這條跳轉(zhuǎn)語句并不會(huì)被執(zhí)行到。CODE:00403C9C mov ecx, [edx-8];利用OD進(jìn)行動(dòng)態(tài)分析可知,[edx-8]是將edx-8這個(gè)地址中的值取出來,賦給ecx,那么賦值
;完以后,ecx的值為0x0FFFFFFFF。CODE:00403C9F inc ecx;ecx自增1,那么ecx的值就變?yōu)榱?x0,注意這個(gè)自增的運(yùn)算會(huì)使得ZF的值變?yōu)?。CODE:00403CA0 jg short loc_403CBC;這里的jg表明不大于則跳轉(zhuǎn)?;蛘吒鼫?zhǔn)確地說,其跳轉(zhuǎn)條件是SF=OF且ZF=0。由于經(jīng)過*步
;的運(yùn)算,ZF=1,因此本跳轉(zhuǎn)不成立。CODE:00403CA2 push eax CODE:00403CA3 push edx CODE:00403CA4 mov eax, [edx-4];經(jīng)過賦值后,eax中保存的值為0x20。CODE:00403CA7 * sub_403D08;結(jié)合OD在虛擬機(jī)中進(jìn)行動(dòng)態(tài)分析,進(jìn)入一層又一層的調(diào)用可以得知,這個(gè)*主要是調(diào)用了;LocalAlloc函數(shù),它從堆中分配大小為0xFF8的空間,函數(shù)參數(shù)uFlags=0,即
;LMEM_FIXED,意思是分配固定內(nèi)存,返回值是指向一個(gè)內(nèi)存對象的指針。LocalAlloc函數(shù);如果執(zhí)行成功則返回一個(gè)指向新分配的內(nèi)存對象的句柄。CODE:00403CAC mov edx, eax CODE:00403CAE pop eax CODE:00403CAF push edx CODE:00403CB0 mov ecx, [eax-4] CODE:00403CB3 * sub_402650;結(jié)合OD在虛擬機(jī)中進(jìn)行動(dòng)態(tài)分析,這個(gè)*的主要功能是將之前保存在edx中的字符串(病;毒信息與作者感言)拷貝到上面所分分配的堆空間中。如圖5所示。CODE:00403CB8 pop edx CODE:00403CB9 pop eax CODE:00403CBA jmp short loc_403CC0[/mw_shl_code] 至此,sub_403C98分析完畢。這個(gè)函數(shù)有兩個(gè)參數(shù),由于采用的是Delphi編譯器,因此在反匯編中,第一個(gè)參數(shù)保存在eax中,第二個(gè)參數(shù)保存在edx中。這個(gè)函數(shù)首先完成堆空間的申請,然后將edx中保存的字符串復(fù)制到新申請的空間中。這個(gè)函數(shù)在最初賦值的時(shí)候,eax的值均為0,而在執(zhí)行后,eax中保存的就是新申請的堆空間中,所復(fù)制的字符串的首地址。
這里又是兩個(gè)字符串,其中第一個(gè)是“xboy”,而第二個(gè)借助于OD可以知道是一堆亂碼 之后可以借助于OD進(jìn)入sub_405360內(nèi)部進(jìn)行動(dòng)態(tài)查看,不過這里我們無需關(guān)注所有的細(xì)節(jié),僅僅有一處循環(huán)需要注意:
[mw_shl_code=asm,true]CODE:004053D1 loc_4053D1:;CODE XREF: sub_405360+B5 j CODE:004053D1 mov eax, [ebp+var_14] CODE:004053D4 * sub_403ECC CODE:004053D9 push eax CODE:004053DA mov eax, ebx CODE:004053DC pop edx CODE:004053DD mov ecx, edx CODE:004053DF cdq CODE:004053E0 idiv ecx CODE:004053E2 mov edi, edx CODE:004053E4 inc edi CODE:004053E5 mov eax, [ebp+var_14] CODE:004053E8 movzx eax, byte ptr [eax+edi-1];每次循環(huán)逐字節(jié)取出“xboy”中的字符進(jìn)行運(yùn)算,注意這里首先取出的是“b”。CODE:004053ED mov ecx, 0Ah;將ecx賦值為0x0A,作為接下來除法運(yùn)算的除數(shù)。CODE:004053F2 xor edx, edx;清空edx。
CODE:004053F4 div ecx;做除法運(yùn)算,商保存在eax中,余數(shù)保存在edx中。CODE:004053F6 mov eax, [ebp+var_4];這里由于給eax重新賦值,說明程序?qū)嶋H想使用的是edx中的余數(shù)。CODE:004053F9 movzx eax, byte ptr [eax+ebx-1];每次循環(huán)逐字節(jié)取出亂碼中的字符,賦值給eax進(jìn)行接下來的運(yùn)算。CODE:004053FE xor edx, eax;異或運(yùn)算,結(jié)果保存在edx中,也就是通過運(yùn)算最終得出的字符。CODE:00405400 lea eax, [ebp+var_18] CODE:00405403 * sub_403E2C CODE:00405408 mov edx, [ebp+var_18] CODE:0040540B lea eax, [ebp+var_10] CODE:0040540E * sub_403ED4 CODE:00405413 inc ebx CODE:00405414 dec esi CODE:00405415 jnz short loc_4053D1[/mw_shl_code] 很明顯,這是一段解密代碼,利用關(guān)鍵字“xboy”將亂碼進(jìn)行還原,通過OD觀察,可以得到還原后的字符串為“***武*漢*男*生*感*染*下*載*者***”。那么就可以將函數(shù)sub_405360重命名為:DecodeSt*。繼續(xù)分析:
這里第一句反匯編代碼中的[ebp-14h]所保存的就是上面經(jīng)過解密后的字符串的地址,而ds:dword_40E7D4保存的是之前所分配的堆空間中所保存的字符串地址。通過OD的動(dòng)態(tài)分析,我們很容易就能夠確定sub_404018函數(shù)的用途是對字符串進(jìn)行比較,那么可以將其重命名為:St*Cmp。正常來說經(jīng)過比對之后,二者是一致的,所以下面“相等則跳轉(zhuǎn)”就會(huì)執(zhí)行,跳到loc_40CBBC處執(zhí)行:
由于之前已經(jīng)進(jìn)行了相應(yīng)的分析,并進(jìn)行了重命名的工作,所以這里的代碼功能就一目了然了。首先進(jìn)行解密,然后是字符串的比對。那么接下來的條件跳轉(zhuǎn)也會(huì)成立,直接來到loc_40CBE6:
這里連續(xù)使用了3個(gè)*,限于篇幅,我會(huì)在接下來的文章中再做分析。
四、小結(jié)
本文對“熊貓燒香”病毒樣本的反匯編程序的起始部分做了初步的分析。由于反匯編代碼總會(huì)出現(xiàn)各種調(diào)用與跳轉(zhuǎn),所以分析時(shí)會(huì)顯得很是凌亂,可能會(huì)打消大家的積極性。可見逆向分析工作需要各位讀者的耐心與細(xì)致。耐心,需要大家沉得住氣,不斷跟蹤每一個(gè)可疑的*;細(xì)致,需要大家時(shí)刻留意寄存器中的內(nèi)容,才能夠找到我們需要的信息。當(dāng)然經(jīng)驗(yàn)也是非常重要的。成功分析出病毒功能的喜悅是不言而喻的,它也吸引著病毒分析人員不斷探索,一口氣完成工作。也希望各位讀者能夠以此作為起點(diǎn),體驗(yàn)到其中的樂趣。
一、前言
*篇文章講解了“熊貓燒香”病毒樣本的反匯編代碼入口處的分析,雖然尚未研究到病毒的核心部分,但其實(shí)我們后續(xù)的分析與之前的思想是一致的。而越到核心部分,可能會(huì)遇到越來越多的API函數(shù),結(jié)合所調(diào)用函數(shù)的參數(shù)進(jìn)行分析,反而有助于我們更容易地理解病毒的行為。應(yīng)當(dāng)將分析出的每一個(gè)*函數(shù),改為我們能夠理解的名字,這往往也有助于對后續(xù)程序的理解。
二、病毒功能分析
*篇文章的最后,我留下了三個(gè)*沒有分析,現(xiàn)在進(jìn)入第一個(gè)*,即sub_408024的內(nèi)部查看 程序先將0x84賦值給ecx,此即為循環(huán)次數(shù)。然后使用了兩個(gè)push 0,每個(gè)push能夠開辟8個(gè)字節(jié)(32位)空間,所以這里每次能夠獲取16個(gè)字節(jié)的空間,這樣的空間一共申請ecx次。那么本段代碼的功能在于空間的申請。接下來有:
這段代碼的最后出現(xiàn)了sub_40277C這個(gè)函數(shù),我們跟進(jìn)后可以看到這幾句代碼: 可見sub_40277C主要是調(diào)用GetMuduleFileNameA這個(gè)API函數(shù),而這個(gè)函數(shù)的功能就是獲取當(dāng)前進(jìn)程已加載模塊的文件的完整路徑,那么就可以將sub_40277C重命名為:GetFilePathAndName。獲取成功后,結(jié)合OD,可以看到如下信息:
圖4 獲取當(dāng)前進(jìn)程的完整路徑 接下來有:
注意第一句代碼中的[ebp+var_3B8]保存的就是圖4中所獲取的路徑地址,這個(gè)地址值賦給了eax。然后進(jìn)入sub_405684分析。這個(gè)函數(shù)中有一處循環(huán)結(jié)構(gòu),是我們重點(diǎn)關(guān)注的對象,利用OD動(dòng)態(tài)分析:
僅僅進(jìn)行靜態(tài)分析,不容易明白這個(gè)循環(huán)的作用,但是結(jié)合OD單步執(zhí)行,觀察寄存器中的值,就很容易明白這段代碼的功用:它利用之前獲取的文件完整路徑,從后向前以單字節(jié)為單位,不斷循環(huán)搜索,直至遇到*碼值為0x5C或0x2F或0x3A,然后便跳出循環(huán)。而0x5C所表示的是字符“”,可以知道這段程序要么是獲取文件名,要么是獲取不包含文件名的路徑。進(jìn)入最后一條語句的*分析,很快就能夠發(fā)現(xiàn):
可見,程序?qū)⑷コ宋募穆窂娇截惖搅酥吧暾埖目臻g中,于是可以將sub_405684重命名為:GetFilePath。接下來有:
這三句代碼的第一句,是將上面所獲取的不帶文件名的路徑的地址賦值給eax,然后將字符串“Desktop_.ini”的地址賦給edx。然后進(jìn)入sub_403ED4進(jìn)行分析:
上圖中代碼的最后一個(gè)*,在分析sub_405684(GetFilePath)時(shí)遇到過,其作用是將字符串復(fù)制到指定的位置。對于這段程序來說,就是將“Desktop_.ini”這段字符復(fù)制到之前的路徑字符后面。那么可以得知,sub_403ED4的作用是字符串的連接,那么就將其重命名為:St*Cat。繼續(xù)分析:
第一句代碼是將之前所處理完畢的路徑字符串地址賦給eax,然后調(diào)用sub_4057A4函數(shù),進(jìn)入該函數(shù)可以發(fā)現(xiàn):
這里調(diào)用了FindFirstFileA這個(gè)函數(shù),說明它是在查找當(dāng)前目錄下“Desktop_.ini”文件是否存在,那么sub_4057A4函數(shù)的作用就在于檢測文件是否存在,可將其改名為:CheckFileExist。接下來有:
由于有了之前的分析并進(jìn)行了重命名,那么這一段代碼的作用就很明顯了,首先根據(jù)*段代碼的查找結(jié)果進(jìn)行判定,即如果當(dāng)前目錄下Desktop_.ini文件存在,那么就將該文件的文件屬性調(diào)整為NORMAL,接下來有: 停止1毫秒后,將Desktop_.ini刪除。
可見這個(gè)函數(shù)用于檢測待刪除的文件路徑是否為空。那么就可以將sub_4040CC重命名為:CheckPath。當(dāng)然,以上分析是建立在Desktop_.ini文件存在的前提下,如果文件不存在,那么程序就會(huì)直接跳到loc_408110處執(zhí)行
這里最后一句調(diào)用了sub_4078E0函數(shù),跟進(jìn)去發(fā)現(xiàn)這個(gè)函數(shù)較長,并且也調(diào)用了很多其它的函數(shù),乍一看,似乎不知這個(gè)函數(shù)究竟是做了什么。既然如此,我們可以先不管其具體的實(shí)現(xiàn)細(xì)節(jié),只看看該函數(shù)執(zhí)行完后,我們寄存器等位置產(chǎn)生了什么變化,主要關(guān)注該函數(shù)執(zhí)行前后,程序使用了哪些寄存器。利用OD可以很容易發(fā)現(xiàn)變化: 由截圖可以發(fā)現(xiàn),在獲取了當(dāng)前文件的路徑后,該函數(shù)利用了很大的一片區(qū)域來寫入了大量看似無意義的字符。結(jié)合右邊分析出的*碼,發(fā)現(xiàn)這些可以理解為是一個(gè)暴力破解字典,病毒編寫者企圖利用暴力破解的方式,來攻破計(jì)算機(jī)中的某些驗(yàn)證機(jī)制。當(dāng)然截圖中僅僅展示了一小部分變化,病毒還寫入了很多其它信息,有興趣的讀者可以自行查看,這里不再贅述,這有助于我們獲取病毒的行為信息。那么這里可以將sub_4078E0函數(shù)重命名為:WriteVirusInfoToMem。接下來有
這里第一句執(zhí)行完后,eax的值為ebp+var_8的地址,通過OD可以知道,這個(gè)地址中保存的是0,可以理解為沒有數(shù)據(jù)。之后有一個(gè)*,我們進(jìn)入查看一下:
這里首先取出eax所保存的地址中的值,也就是0,并賦給edx,那么edx保存的也就是0值。之后的test運(yùn)算,使得ZF變?yōu)?,滿足跳轉(zhuǎn)條件,那么本段函數(shù)也就結(jié)束了。如果說edx所保存的不是0值,那么接下來的語句就會(huì)把eax所保存的地址中的值設(shè)為0。這么看上去,這段函數(shù)似乎并沒有實(shí)現(xiàn)什么特別清晰具體的功能,那么不妨將這個(gè)操作理解為某種標(biāo)志的設(shè)置,將sub_403C44重命名為:SetZeroFlags。繼
結(jié)合OD可以知道,第一句是獲取文件在內(nèi)存中的首地址,然后進(jìn)入sub_403ECC查看: 這里需要特別強(qiáng)調(diào)的是,由于本病毒程序是使用Delphi編寫的,那么字符串的首地址減去4后,所取出的4個(gè)字節(jié)的內(nèi)容就是此字符串的長度。也就是說,這段代碼中的[eax-4]就是eax所指向的文件長度。于是可以將sub_403ECC重命名為:GetFileLen。在獲取文件長度后,程序會(huì)跳轉(zhuǎn)到loc_408163處執(zhí)行:
在獲取了文件長度后,這段代碼首先會(huì)驗(yàn)證文件長度是否為0,這里由于文件真實(shí)存在,所以接下來的跳轉(zhuǎn)不成立。接下來,eax中保存的是文件起始地址,而ebx是文件的長度,于是可以知道,倒數(shù)第二句的對比,是驗(yàn)證文件的尾端數(shù)據(jù)是否為0,如果為0,則接下來的跳轉(zhuǎn)不成立。經(jīng)過OD的動(dòng)態(tài)分析,這里文件尾端的值為0,所以不執(zhí)行跳轉(zhuǎn),繼續(xù)向下執(zhí)行。
接下來代碼的分析,留給*文章。
三、小結(jié)
經(jīng)過一整篇文章的討論,我并沒有將病毒的一個(gè)完整功能塊分析完全,主要是我需要講得細(xì)致些,帶領(lǐng)大家弄清楚每一個(gè)*的功能。接下來的最后一篇文章也無法將整個(gè)病毒分析完全,但是我相信,只要各位讀者勤于動(dòng)手,并將我所講的逆向分析的基本原理搞清楚,那么這個(gè)“熊貓燒香”就根本不在話下了。
一、前言
這次我們會(huì)接著*篇的內(nèi)容繼續(xù)對病毒進(jìn)行分析。分析中會(huì)遇到一些不一樣的情況,畢竟之前的代碼我們只要按照流程順序一步一步往下走,就能夠弄清楚病毒的行為,但是在接下來的代碼中,如果依舊如此,在某些分支中的重要代碼就執(zhí)行不到了,所以我們需要采取一些策略,走完每個(gè)分支,徹底分析出病毒的行為。
二、病毒分析
現(xiàn)在程序執(zhí)行到了loc_408171位置處:
程序首先進(jìn)行比較操作,由于二者都為0,所以在比較過后ZF=1,那么接下來的跳轉(zhuǎn)并不執(zhí)行。之后的*獲取到了病毒程序所在的路徑(包含文件名),并將完整路徑名的首地址保存在eax中,注意[ebp+var_3D8]中所保存的是一個(gè)地址數(shù)值,該地址指向文件路徑字符串。而接下來賦給edx的地址,則是病毒程序完整地址向后4個(gè)字節(jié)的位置,正好跳過了兩個(gè)大寫字母和兩個(gè)符號。接下來進(jìn)入sub_40532C進(jìn)行查看,可以發(fā)現(xiàn):
這里的CharUpperBuff函數(shù)的作用是把緩沖區(qū)中指定數(shù)目的字符轉(zhuǎn)為大寫。于是可以將sub_40532C重命名為:ToUpper。接下來有: 這里出現(xiàn)了sub_4054BC函數(shù),跟進(jìn)查看可以發(fā)現(xiàn)
這里的GetSystemDirectory函數(shù)的作用在于獲取系統(tǒng)路徑,于是可以將sub_4054BC重命名為:GetSystemDir??梢娨陨线@幾個(gè)函數(shù)分析得還是比較順利的,因?yàn)椴《局苯诱{(diào)用了API函數(shù),讓我們對于程序的功能一目了然。接下來程序首先將剛才獲取的系統(tǒng)路徑字符串的首地址入棧,然后分別壓入“drivers”與“spoclsv.exe”這兩個(gè)字符串,之后利用OD對sub_403F8C進(jìn)行分析,執(zhí)行完后可以發(fā)現(xiàn):
由此可見,sub_403F8C的作用是將兩個(gè)字符串與另一個(gè)字符串連接起來,從而組成一個(gè)長路徑,所以可以將其重命名為:TwoSt*sCat。接下來是:結(jié)合OD動(dòng)態(tài)分析可知,這段程序首先將之前連接好的路徑字符串轉(zhuǎn)換為大寫字母,然后將該字符串與之前所轉(zhuǎn)換的病毒程序路徑的大寫字符串作對比操作,這里執(zhí)行時(shí),二者是不同的,所以接下來的跳轉(zhuǎn)不成立(如果想要理解這里為什么要利用比對的操作,可以結(jié)合之前文章中對于病毒的行為分析,病毒會(huì)將自身改名為“spoclsv.exe”,并復(fù)制到“drivers”目錄中,這里的對比就是要確認(rèn)病毒到底有沒有被復(fù)制到該目錄下,如果沒有,即對比結(jié)果不為零,那么就執(zhí)行接下來的病毒復(fù)制操作)。dword_408658中保存的是字符串“spoclsv.exe”,然后可以進(jìn)入sub_4060D4中進(jìn)行分析。sub_4060D4這個(gè)函數(shù)也是比較長,內(nèi)部有眾多的*,一個(gè)一個(gè)*進(jìn)行查看,可以發(fā)現(xiàn)它調(diào)用了非常多的API函數(shù),依據(jù)這些API函數(shù)的功能可以知道,sub_4060D4的作用在于查找當(dāng)前內(nèi)存中的指定進(jìn)程,若存在,則將其終止。由于較長,這里就不進(jìn)行截圖分析了。于是可以將sub_4060D4重命名為:SearchAndTerminateProcess。接下來有:這段代碼已經(jīng)有了足夠的注釋,就不再贅述。接下來還有:由最后一句的CopyFile函數(shù)可以知道,這里主要是實(shí)現(xiàn)文件的拷貝操作,也就是將本病毒文件改名為“spoclsv.exe”后,復(fù)制到“drivers”目錄中。這段代碼調(diào)用了Win*函數(shù),查看它上面的eax中所保存的字符信息可以發(fā)現(xiàn),當(dāng)病毒本體將自身復(fù)制到“drivers”中并改名后,這里就是對改了名字的病毒程序執(zhí)行運(yùn)行的操作,然后主體程序就退出了。至此,如果想繼續(xù)用OD進(jìn)行動(dòng)態(tài)分析,要么載入“spoclsv.exe”,要么對之前的一處條件跳轉(zhuǎn)進(jìn)行修改,令程序以為自己就是“spoclsv.exe”。該位置就是圖7中的0x004081E8,我們先在該位置*個(gè)斷點(diǎn),然后用OD重新載入本程序,令其停在斷點(diǎn)處。正常來說,這里的跳轉(zhuǎn)是不成立的,為了使其成立,當(dāng)然可以將jz改為jnz,但是這改變了病毒程序。最好的辦法是改變ZF標(biāo)志位,將原來的0改為1就可以了。但是,經(jīng)過了之前的行為分析可以知道,真正實(shí)現(xiàn)病毒功能的,可以說就是“spoclsv.exe”這個(gè)程序,雖說這個(gè)程序和“熊貓燒香.exe”是完全一樣的,可是畢竟其內(nèi)部的執(zhí)行流程是不同的。為了得到病毒完整的資料,這里我利用OD載入“spoclsv.exe”進(jìn)行動(dòng)態(tài)分析。那么0x004081E8處的跳轉(zhuǎn)得以執(zhí)行,一段代碼出現(xiàn)了sub_40416C這個(gè)函數(shù),它也是比較抽象,不太容易分析,這需要耐心與細(xì)致,在此我將過程省略。其實(shí)這個(gè)函數(shù)的功能是刪除字符串中的信息,其中eax保存的是欲操作字符串的地址,ecx保存的是欲刪除的字符的個(gè)數(shù)。那么就將sub_40416C重命名為:*St*Buff。然后程序跳轉(zhuǎn)到loc_4085D3:
在*函數(shù)之上,eax保存的是一個(gè)標(biāo)記數(shù)值,這里為0x01。之后的*就是查找文件中是否包含有這個(gè)標(biāo)記,如果包含有這個(gè)標(biāo)記,那么就執(zhí)行跳轉(zhuǎn),否則不跳轉(zhuǎn)。由此我們可以假設(shè),這個(gè)0x01標(biāo)記應(yīng)該就是病毒將程序感染后,在原本正常的程序中添加的,用于標(biāo)識該程序是否被感染的標(biāo)記。如果真是這樣的話,若想分析跳轉(zhuǎn)后的程序內(nèi)容,要么在OD中修改標(biāo)志位,要么對一個(gè)被感染的程序進(jìn)行分析,這里我不再贅述,有興趣的讀者可以拿一個(gè)被感染的程序自行分析。這里可以將sub_4041B4重命名為:SearchSignPos。
由于我現(xiàn)在分析的是病毒程序,他自身沒有0x01標(biāo)志位,因此跳轉(zhuǎn)不成立,繼續(xù)執(zhí)行。一部分的代碼主要用于收尾工作,最后的*用于刪除堆棧中所保存的地址,這些地址指向的是病毒寫入的一些信息。這部分代碼返回后,那么sub_408024就執(zhí)行完了??赡艽蠹乙呀?jīng)不記得sub_408024是什么了,這個(gè)就是我在本逆向分析系列的上篇的最后,所分析出的病毒三大功能的第一項(xiàng)功能。分析至此,可見這第一項(xiàng)功能主要用于病毒的初始化工作。余下的兩大功能我在此就不進(jìn)行分析,有興趣的讀者可以獨(dú)立研究試試看。
三、小結(jié) 至此,熊貓燒香病毒的逆向分析系列就結(jié)束了,我用了三篇文章的篇幅來一步一步地給大家做了較為詳盡的分析。盡管只分析了病毒的一項(xiàng)大功能,但是我相信大家或多或少地了解到了病毒逆向分析的基本方法。在我看來,這里面并沒有多高深的技術(shù),重要的是經(jīng)驗(yàn)的積累以及個(gè)人的耐心的培養(yǎng)。希望各位讀者能夠踏踏實(shí)實(shí)地將這個(gè)病毒親自動(dòng)手分析完全,相信這會(huì)令大家的收獲巨大。
一、前言
之前用了六篇文章的篇幅,分別從手動(dòng)查殺、行為分析、專殺工具的編寫以及逆向分析等方面,對“熊貓燒香”病毒的查殺方式做了討論。相信大家已經(jīng)從中獲取了自己想要的知識,希望大家在閱讀完這幾篇文章后,能夠有一種“病毒也不過如此”的感覺,更希望這些文章能夠?yàn)橛兄居谠谖磥韰⑴c到反病毒工作的朋友,打下堅(jiān)實(shí)的理論基礎(chǔ)。以下就是我在這幾篇文章的分析中所總結(jié)出來的一些知識點(diǎn),分為靜態(tài)分析與動(dòng)態(tài)分析兩個(gè)方面進(jìn)行討論,并加入了一些延伸知識,為大家查漏補(bǔ)缺。
二、病毒的靜態(tài)分析
靜態(tài)分析技術(shù)通常是研究惡意代碼的第一步。靜態(tài)分析指的是分析程序指令與結(jié)構(gòu)來確定目標(biāo)程序的功能的過程。在這個(gè)時(shí)候,病毒本身并不在運(yùn)行狀態(tài)。我們一般采用以下幾種方式進(jìn)行靜態(tài)分析:
1、采用反病毒引擎掃描
如果尚不確定目標(biāo)程序是否為病毒程序,我們可以首先采用多個(gè)不同的反病毒軟件來掃描一下這個(gè)文件,看是否有哪個(gè)引擎能夠識別它。當(dāng)然殺軟也存在著誤報(bào)的可能性,但如果說多款殺軟都認(rèn)為目標(biāo)程序有問題,那么這個(gè)程序十有八九就是一個(gè)惡意程序了。
2、計(jì)算哈希值
哈希是一種用來唯一標(biāo)識目標(biāo)程序的常用方法。目標(biāo)程序通過一個(gè)哈希程序,會(huì)產(chǎn)生出一段唯一的用于標(biāo)識這個(gè)樣本的哈希值,我們可以將這個(gè)值理解為是目標(biāo)程序的指紋。常用的哈希算法有MD5、Sha-1以及CRC32等。由于僅僅采用一種算法,特別是MD5算法,有可能使得不同程序產(chǎn)生同樣的哈希結(jié)果,所以為了謹(jǐn)慎起見,一般會(huì)運(yùn)用多種哈希方式進(jìn)行計(jì)算,比如“火眼”(https://fireeye.ijinshan.com/)的檢測結(jié)果中就包含了計(jì)算出的哈希值
哈希運(yùn)算的結(jié)果在病毒大規(guī)模爆發(fā)時(shí)可以快速響應(yīng),成為檢測病毒的一種方式。我在《病毒木馬查殺第004篇:熊貓燒香之專殺工具的編寫》那篇文章中就采用了CRC32算法來驗(yàn)證目標(biāo)
查找字符串
程序中的字符串就是一串可打印的字符序列,一個(gè)程序通常都會(huì)包含一些字符串,比如打印輸出信息、連接的*,或者是程序所調(diào)用的API函數(shù)等。從字符串中進(jìn)行搜索是獲取程序功能提示的一種簡單方法。這里我使用微軟推出的St*s程序(http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx),來搜索可執(zhí)行文件中的可打印字符串。將St*s與病毒樣本都拷貝到C盤根目錄下,然后在CMD中輸入: C: >St*s setup.exe 得到的部分結(jié)果
由結(jié)果可見,并不是所有的字符串都是有意義的,但是利用這個(gè)結(jié)果,也能夠給我們的靜態(tài)分析帶來很大的便利了。比如“*DownloadToFile”這個(gè)API函數(shù)就經(jīng)常被惡意程序用來執(zhí)行文件的下載操作,該函數(shù)需要*MON.DLL動(dòng)態(tài)鏈接庫的支持,在上述截圖中也有所體現(xiàn)。
4、偵殼操作
病毒木馬編寫者經(jīng)常會(huì)使用加殼技術(shù)來讓他們的惡意程序難以被檢測或分析。正常的程序總是會(huì)包含很多字符串。而加了殼的惡意代碼通過分析所得到的可打印字符串就會(huì)很少。如果使用St*s程序來檢測一個(gè)程序,發(fā)現(xiàn)它的字符串很少時(shí),那么這個(gè)程序就很有可能是加了殼的。此時(shí)往往就需要使用其它方法來進(jìn)一步檢測它們的行為。
對于這次的研究對象“熊貓燒香”來說,使用了PEiD這一款靜態(tài)分析工具,用于檢測目標(biāo)程序是否有殼以及由什么軟件編寫的。因?yàn)槿绻《緲颖居袣?,那么就一定要先脫殼才可以進(jìn)行分析。而弄清楚了病毒是由什么軟件編寫的,我們就能夠確定其函數(shù)調(diào)用方式以及棧的分配方式等特點(diǎn),從而更好地進(jìn)行分析。比如我的“熊貓燒香”樣本是由Delphi編寫的,如果我們不懂Delphi編譯器的特性,依舊以C++的眼光來看待它,那么很可能會(huì)給接下來的分析工作帶來困擾。
5、偵測動(dòng)態(tài)鏈接
在對病毒木馬進(jìn)行分析的過程中,我們一定要關(guān)注目標(biāo)程序中的動(dòng)態(tài)鏈接,因?yàn)檫@些信息有助于我們猜測目標(biāo)程序到底干了什么事情。Dependency Walker這款工具(http://004km.cn/)就是我們常用的用于偵測動(dòng)態(tài)鏈接的軟件。比如我們用它來檢測“熊貓燒香”:
可見Dependency Walker很清晰地指出了“熊貓燒香”使用了*MON.DLL中的“*DownloadToFile”這個(gè)API函數(shù)。有經(jīng)驗(yàn)的反病毒工程師,利用這款軟件往往就能將惡意代碼的大概功能基本分析完全了。
6、PE分析
對于目標(biāo)程序PE結(jié)構(gòu)的分析,往往可以使我們獲取更多的信息。常用的工具有PEview和Resource Hacker等。由于PE的分析較為復(fù)雜,所以這里不再詳述。有興趣的讀者可以參考相應(yīng)的PE類資料。
7、使用IDA Pro進(jìn)行高級靜態(tài)分析
IDAPro這款軟件可以說是所有反病毒工程師的首選,我在對“熊貓燒香”病毒樣本進(jìn)行靜態(tài)逆向分析時(shí),使用的就是這款軟件。相信大家在之前的三篇文章中,已經(jīng)深有體會(huì)。它除了能夠反匯編整個(gè)程序以外還能執(zhí)行查找函數(shù)、棧分析、本地變量標(biāo)識等任務(wù)。而且IDA Pro生來就是交互式的,其反匯編過程的所有屬性都可以被修改、操作、重新安排或重新定義。而我們在實(shí)際分析的過程中,也應(yīng)當(dāng)及時(shí)地將已分析出的內(nèi)容進(jìn)行重命名或進(jìn)行標(biāo)注。我在分析的過程中全都是在文本模式下進(jìn)行分析的,其實(shí)我覺得這款軟件很好的一點(diǎn)是它能夠以圖形化的界面來為用戶揭示程序的整個(gè)執(zhí)行流程,可見,圖形模式會(huì)給我們的分析工作帶來更加直觀化的體驗(yàn)。當(dāng)然這款軟件還有很多十分強(qiáng)大的功能,我會(huì)在未來的分析中,給大家一一展示。
三、病毒的動(dòng)態(tài)分析
所謂動(dòng)態(tài)分析就是在運(yùn)行惡意代碼之后進(jìn)行檢查的過程,它能夠讓你觀察到惡意代碼的真實(shí)功能。雖然動(dòng)態(tài)分析技術(shù)非常強(qiáng)大,但是它們還是應(yīng)該在靜態(tài)分析之后進(jìn)行,并且應(yīng)該在虛擬的環(huán)境中進(jìn)行。一般有以下幾種方式:
1、使用沙箱
現(xiàn)在有很多自動(dòng)化的軟件可以用來對病毒進(jìn)行基本的動(dòng)態(tài)分析,最常用的就是沙箱技術(shù)。沙箱是一種在安全環(huán)境里運(yùn)行可疑程序的一種分析方法,從而無需擔(dān)心傷害到我們真實(shí)的系統(tǒng)。有些安全類企業(yè)也在線提供了這樣的服務(wù),比如“火眼”(https://fireeye.ijinshan.com/),可見“火眼”已經(jīng)較為全面地揭示了病毒樣本的行為,這對我們*步的分析很有幫助。不過,沙箱也存在著很多缺點(diǎn),比如,如果我們分析的是一個(gè)后門程序,需要等待一條控制指令才會(huì)啟動(dòng)特定的行為,那么在沙箱中這個(gè)后門程序就無法被徹底分析了。而且沙箱也不能記錄所有事件,因?yàn)槿绻麗阂獯a將自己設(shè)置為等待一天甚至更長的時(shí)間才去執(zhí)行自己的行為,那么沙箱往往就無能為力了。諸如此類的缺點(diǎn)還有很多,但不管怎樣,沙箱都是我們在反病毒工作中不可或缺的利器。
2、行為監(jiān)控
Process Monitor可以說是在反病毒領(lǐng)域最為常用的軟件了。我在《病毒木馬查殺第003篇:熊貓燒香之行為分析》中所使用的就是它,而且在以后的分析中,還會(huì)經(jīng)常使用。Process Monitor一旦開始運(yùn)行,它就會(huì)監(jiān)控所有能夠捕獲的系統(tǒng)調(diào)用,但并不是所有的數(shù)據(jù)都能捕獲。所以往往也需要多款軟件的同時(shí)使用,才能夠獲取惡意程序的完整行為。比如我們經(jīng)常使用Process Explorer來查看進(jìn)程,使用Regshot來比較注冊表在病毒運(yùn)行前后所發(fā)生的變化,利用Netcat進(jìn)行網(wǎng)絡(luò)監(jiān)視等。每款軟件都有各自的優(yōu)點(diǎn),我們在實(shí)際分析中要善于利用。
3、動(dòng)態(tài)調(diào)試
使用調(diào)試器對病毒進(jìn)行分析在反病毒工作中扮演著十分重要的角色。調(diào)試器允許你查看任意內(nèi)存地址的內(nèi)容、寄存器的內(nèi)容以及每個(gè)函數(shù)的參數(shù)。調(diào)試器也允許你在任意時(shí)刻改變關(guān)于程序執(zhí)行的任何東西。比如你可以在任意時(shí)刻改變一個(gè)變量的值——前提是你需要獲得關(guān)于這個(gè)變量足夠的信息,包括在內(nèi)存中的位置。在實(shí)際的動(dòng)態(tài)調(diào)試過程中,我們最常用的是OllyDbg和WinDbg,前者是病毒分析人員使用最多的調(diào)試器,缺點(diǎn)是不支持內(nèi)核調(diào)試,如果想調(diào)試內(nèi)核,WinDbg基本上就是唯一的選擇了。雖然IDA Pro也能夠進(jìn)行動(dòng)態(tài)調(diào)試,但是它遠(yuǎn)遠(yuǎn)不如OD方便。因此在實(shí)際分析的過程中,往往是將二者結(jié)合使用的。因?yàn)槿绻肐DA Pro在靜態(tài)分析中遇到了十分抽象的函數(shù),那么用OD動(dòng)態(tài)地執(zhí)行一下,該函數(shù)的功能往往就能一目了然了。
四、病毒分析的幾點(diǎn)補(bǔ)充
我們在病毒分析的過程中,不要過于陷入細(xì)節(jié)。大多數(shù)病毒木馬程序是龐大而復(fù)雜的,你不可能也沒有必要去了解每一個(gè)細(xì)節(jié)。真正需要關(guān)注的是惡意程序最關(guān)鍵最主要的功能。在實(shí)際分析過程中,當(dāng)遇到了一些困難和復(fù)雜的代碼段后,應(yīng)當(dāng)在進(jìn)入到細(xì)節(jié)之前有一個(gè)概要性的了解。另外,在面對不同的工作任務(wù)中,應(yīng)當(dāng)善于使用不同的工具和方法。不存在通吃的做法。如果在一個(gè)點(diǎn)上被卡住了,不要花太長的時(shí)間在這個(gè)問題上,嘗試轉(zhuǎn)移到其他問題,嘗試從不同的角度進(jìn)行分析。最后,病毒的分析工作就如同貓捉老鼠的游戲,正所謂道高一尺魔高一丈,惡意代碼分析技術(shù)與惡意代碼編寫技術(shù)是對立統(tǒng)一的,二者都在不斷地相互促進(jìn)并發(fā)展著。所以我們應(yīng)當(dāng)能夠認(rèn)識、理解和戰(zhàn)勝這些不斷涌現(xiàn)的新技術(shù),并能夠快速適應(yīng)這個(gè)領(lǐng)域中的新的變化。也就只有這樣,才能夠在這個(gè)領(lǐng)域有所成就。
第二篇:常見木馬病毒速查表
常見木馬病毒速查表.txt25愛是一盞燈,黑暗中照亮前行的遠(yuǎn)方;愛是一首詩,冰冷中溫暖渴求的心房;愛是夏日的風(fēng),是冬日的陽,是春日的雨,是秋日的果。
常見木馬病毒速查表常見木馬病毒速查表
文章轉(zhuǎn)自: 陪你醉生夢死
exe→BF EvolutionMbbmanager.exe→聰明基因
_.exe→TryitMdm.exe1.6-1.7
Aboutagirl.exe→初戀情人Microsoft.exe密碼使者
Absr.exe→Backdoor.AutoupderMmc.exeAplica32.exe→將死者病毒Mprdll.exeAvconsol.exe→ 將死者病毒Msabel32.exeAvp.exe→將死者病毒Msblast.exe病毒
Avp32.exe→將死者病毒Mschv.exeAvpcc.exe→將死者病毒Msgsrv36.exeAvpm.exe→將死者病毒Msgsvc.exeAvserve.exe→震蕩波病毒Msgsvr16.exeShiver
Bbeagle.exe→惡鷹蠕蟲病毒Msie5.exeBrainspy.exe→BrainSpy vBetaBackdoor.livup
Cfiadmin.exe→將死者病毒Mstesk.exe1.1-1.5
Cfiaudit.exe→將死者病毒Netip.exe2000 Beta
Cfinet32.exe→將死者病毒Netspy.exe靈
Checkdll.exe→網(wǎng)絡(luò)公牛Notpa.exeCmctl32.exe→Back Construction Telecommando
Command.exe→AOL TrojanPcfwallicon.exe死者病毒
Diagcfg.exe→廣外女生Pcx.exeDkbdll.exe→Der SpaeherPw32.exe毒
Dllclient.exe→BoboRecycle-Bin.exes**tHeap
Dvldr32.exe→口令病毒Regscan.exe→Doly →傳奇→尼姆達(dá)病毒→Bla→ Cain and Abel→沖擊波→Control→Coma→火鳳凰→Acid →CanassonMsstart.exe→→Doly →Spirit →網(wǎng)絡(luò)精→BackdoorOdbc.exe→→將→Xplorer→將死者病→→波特后
門變種
Esafe.exe→將死者病毒Tftp.exe→尼姆達(dá)病毒
Expiorer.exe→Acid BatteryThing.exe→ThingFeweb.exe→將死者病毒User.exe→Schwindler
Flcss.exe→Funlove病毒Vp32.exe→將死者病毒
Frw.exe→將死者病毒Vpcc.exe→將死者病毒
Icload95.exe→將死者病毒Vpm.exe→將死者病毒Icloadnt.exe→將死者病毒Vsecomr.exe→將死者病毒
Icmon.exe→將死者病毒Server.exe→Revenger, WinCrash, YAT
Icsupp95.exe→將死者病毒Service.exe→TrinooIexplore.exe→惡郵差病毒Setup.exe→密碼病毒或Xanadu
Rpcsrv.exe→惡郵差病毒Sockets.exe→Vampire
Rundll.exe→SCKISS愛情森林Something.exe→BladeRunner
Rundll32.exe→狩獵者病毒Spfw.exe→瑞波變種PXRunouce.exe→中國黑客病毒Svchost.exe(線程105)→藍(lán)色代碼
Scanrew.exe→傳奇終結(jié)者Sysedit32.exe→SCKISS愛情森林
Scvhost.exe→安哥病毒Sy***plor.exe→wCrat
Server 1.2.exe→Spirit 2000 1.2fixed Sy***plr.exe→冰河Intel.exe→傳奇叛逆Syshelp.exe→惡郵差病毒
Internet.exe→傳奇幽靈Sysprot.exe→Satans Back Door
Internet.exe→網(wǎng)絡(luò)神偷Sysrunt.exe→RipperKernel16.exe→Transmission ScountSystem.exe→s**tHeap
Kernel32.exe→壞透了或冰河System32.exe→DeepThroat 1.0
Kiss.exe→傳奇天使Systray.exe→DeepThroat 2.0-3.1
Krn132.exe→求職信病毒Syswindow.exe→Trojan Cow
Libupdate.exe→BioNetTask_Bar.exe→WebEx
Load.exe→尼姆達(dá)病毒Taskbar→密碼病毒 Frethem
Lockdown2000.exe→將死者病毒Taskmon.exe→諾維格蠕蟲病毒
Taskmon32→傳奇黑眼睛Tds2-98.exe→將死者病毒
Tds2-Nt.exe→將死者病毒Temp $01.exe→SnidTempinetb00st.exe→ The UnexplainedTempserver.exe→Delta Source
Vshwin32.exe→將死者病毒Vsstart.exe病毒
Vw32.exe→將死者病毒W(wǎng)indown.exe2000 1.2
Windows.exe→黑洞2000Winfunctions.exeDark Shadow
Wingate.exe→惡郵差病毒W(wǎng)ink.exe信病毒
Winl0g0n.exe→笑哈哈病毒W(wǎng)inmgm32.exe霸病毒
Winmsg32.exe→XtcpChupachbra
Winprotecte.exe→StealthWinrpc.exe病毒
Winrpcsrv.exe→惡郵差病毒Softwarst
Wubsys.exe→傳奇獵手Sckiss愛情森林
Winver.exe→Sckiss愛情森林Winvnc.exe病毒
Winzip.exe→ShadowPhyreWqk.exeWscan.exe→AttackFTPXx.Tmp.exe病毒
Zcn32.exe→AmbushZonealarm.exe者病
Powered by 無名小鬼 wumingxiaogui.blog.163.com
→將死者→Spirit →→求職→巨無Winprot.exe→→惡郵差Winserv.exe→Winupdate.exe→→惡郵差→求職信病毒→尼姆達(dá)→將死
第三篇:病毒查殺分析報(bào)告
東營市醫(yī)藥公司和扣分公司
病毒查殺分析報(bào)告
2013本企業(yè)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)未發(fā)生重大病毒感染情況,計(jì)算機(jī)系統(tǒng)運(yùn)行正常。
信息科
2014年1月6日
第四篇:防范局域網(wǎng)ARP欺騙,手動(dòng)查殺木馬,介紹和認(rèn)識IP地址
解決和防患局域網(wǎng)內(nèi)Arp欺騙
當(dāng)局域網(wǎng)種存再ARP欺騙包的話,總的來說有主要又這么兩種可能。
一、有人惡意破壞網(wǎng)絡(luò)。
這種事情,一般會(huì)出現(xiàn)在網(wǎng)吧,或是一些人為了找到更好的網(wǎng)吧上網(wǎng)座位,強(qiáng)行讓別人斷線。
又或是通過ARP欺騙偷取內(nèi)網(wǎng)帳號密碼。
二,病毒木馬
如:傳奇網(wǎng)吧殺手等,通過ARP欺騙網(wǎng)絡(luò)內(nèi)的機(jī)器,假冒網(wǎng)關(guān)。從而偷取對外連接傳奇服務(wù)器的密碼。
ARP欺騙的原理如下:
假設(shè)這樣一個(gè)網(wǎng)絡(luò),一個(gè)交換機(jī)接了3臺機(jī)器
HostA HostB HostC 其中
A的地址為:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA---------網(wǎng)關(guān)B的地址為:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB--------黑客C的地址為:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC---------被欺騙者
正常情況下 C:arp-a
Interface: 192.168.1.3 on Interface 0x100000
3Internet Address Physical Address Type
192.168.1.1 BB-BB-BB-BB-BB-BBdynamic
現(xiàn)在假設(shè)HostB開始了罪惡的ARP欺騙:假冒A像c發(fā)送ARP欺騙包
B向C發(fā)送一個(gè)自己偽造的ARP欺騙包,而這個(gè)應(yīng)答中的數(shù)據(jù)為發(fā)送方IP地址是192.168.1.1(網(wǎng)關(guān)的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本來應(yīng)該是AA-AA-AA-AA-AA-AA,這里被偽造了)。當(dāng)C接收到B偽造的ARP應(yīng)答,就會(huì)更新
本地的ARP緩存(C可不知道被偽造了)。而且C不知道其實(shí)是從B發(fā)送過來的,這樣C就受到了B的欺騙了,凡是發(fā)往A的數(shù)據(jù)就會(huì)發(fā)往B,這時(shí)候那么是比較可怕的,你的上網(wǎng)數(shù)據(jù)都會(huì)先流向B,在通過B去上網(wǎng),如果這時(shí)候B上裝了SNIFFER軟件,那么你的所有出去的密碼都將被截獲。
為了以后出現(xiàn)問題的時(shí)候好查找,我建議大家平時(shí)建立一個(gè)MAC和IP的對應(yīng)表,把局域網(wǎng)內(nèi)所有網(wǎng)卡的MAC地址和IP、地理位置統(tǒng)統(tǒng)裝入數(shù)據(jù)庫,以便當(dāng)以后發(fā)現(xiàn)ARP 欺騙時(shí)找出欺騙者的機(jī)器。
二、防范措施和解決方法。
方法一
通過arp –s 來綁定網(wǎng)關(guān)的MAC 地址和IP 地址。
這種方法對于XP 和2003系統(tǒng)是有用的,使用arp –s 來綁定的話。那么在ARP表中顯示的是一條靜態(tài)的記錄。
這樣就不會(huì)被動(dòng)態(tài)的ARP 欺騙包給欺騙,而修改。
那么在2000的系統(tǒng)上也是可以使用arp-s來進(jìn)行綁定得,在SP4的2000系統(tǒng)上需要下載2000 Rollup v2更新補(bǔ)丁包,ARP的補(bǔ)丁已經(jīng)包含在里面 了,大小應(yīng)該在38MB那樣。http://download.microsoft.com/download/7/e/9/7e969f31-e33d-45a2-9d1a-fecbcde29a0e/Windows2000-KB891861-v2-x86-CHS.EXE
并且裝好后,下面幾個(gè)文件不能小于下面的版本號。
DateTimeVersionSizeFile name
-------------------------
19-Jun-200320:055.0.2195.6602108,816Msafd.dll
02-Jun-200422:445.0.2195.6938318,832Tcpip.sys
19-Jun-200320:055.0.2195.660117,680Wshtcpip.dll
19-Jun-200320:055.0.2195.6687120,240Afd.sys
19-Jun-200320:055.0.2195.665516,240Tdi.sys
相關(guān)文章,大家可以看微軟的KB.http://support.microsoft.com/kb/842168
例:arp-s192.168.1.1 00-0B-AD-DD-22-35
方法二
有些木馬或是一些駭客總是使用本地網(wǎng)卡上的網(wǎng)關(guān)來做欺騙。網(wǎng)關(guān)是通往外網(wǎng)或是和不同網(wǎng)絡(luò)互聯(lián)的一個(gè)中間設(shè)備。
而通過添加路由表中的記錄,設(shè)置優(yōu)先級高于網(wǎng)關(guān)默認(rèn)路由,那么網(wǎng)關(guān)的路由在級別高的路由可用時(shí)將不會(huì)生效。
施行方法:1.先手動(dòng)修改客戶機(jī)的網(wǎng)關(guān)地址為任意ip地址,最好是同一網(wǎng)段中,沒使用的一個(gè)IP,以免被懷疑。
2.手動(dòng)添加或是通過批處理,或是腳本來添加永久對出口路由。
此中方法可以欺騙過大部份,菜鳥或是所謂的駭客和大部份ARP欺騙木馬。
缺點(diǎn)是: 如果以后網(wǎng)關(guān)以后網(wǎng)卡或是機(jī)器改變。那么以后還得重新修改已有得路由。route delete 0.0.0.0-----刪除到默認(rèn)得路由
route add 0.0.0.0 mask 0.0.0.0 192.168.1.254 metric 1--- 添加路由route add-p 0.0.0.0 mask 0.0.0.0 192.168.1.254 metric 1------參數(shù)-p 就是添加永久的記錄。
route change--修改路由
http:///dispbbs.asp?BoardID=33&ID=2631&replyID=6840&skin=1方法 三
1.如果你但前使用得交換機(jī)器有網(wǎng)卡和MAC地址綁定功能,那么將你所在得網(wǎng)得IP地址和MAC 地址進(jìn)行綁定。
但有時(shí)候,我們可能沒有這些設(shè)備那么要想做就很困難了。
另類方法思路--如何全面解決讓ARP欺騙,ARP木馬無法在本機(jī)器安裝,運(yùn)行。
大部分監(jiān)控,arp 欺騙軟件,都會(huì)使用到一個(gè)winpcap驅(qū)動(dòng)。那么現(xiàn)在的思路就是讓其無法在本地計(jì)算機(jī)安裝。
這樣arp欺騙軟件就無法被使用了使用了,此方法可以用于任何程序的安裝。需要的條件:
1.所在的系統(tǒng)盤為NTFS 分區(qū)格式。
2.知道所要安裝的文件所要在系統(tǒng)中生成的文件。
3.使用注冊表和文件安裝監(jiān)視軟件來監(jiān)視安裝所生成的文件。
方法四:
利用些別人做好的ARP 監(jiān)控工具。
實(shí)驗(yàn):
作業(yè):
1.使用arp-s 來添加一條arp靜態(tài)記錄,使用arp-a 查看添加的記錄。使用arp-d 來刪除剛添加的那條記錄
2.使用route print 來查看現(xiàn)有的路由表,使用route add-p 來添加一條永久記錄,最后使用route delete來刪除剛建的那條記錄。
3.使用組策略禁止本地系統(tǒng)中的記事本程序。
4.利用注冊表和文件安裝監(jiān)視軟件,來查找組策略中設(shè)置后,對注冊表中鍵值的修改。并通過修改注冊表,禁止記事本軟件(notepad.exe)的執(zhí)行。
第五篇:個(gè)人總結(jié)
2016年個(gè)人工作總結(jié)
時(shí)光的車輪無情的碾壓過生活的軌跡,轉(zhuǎn)眼間2016即將過去,迎來嶄新的2017?;叵脒@一年的工作,感受頗多,有成功,有失誤,每一次成功都是成長,每一次失誤都是經(jīng)歷。通過工作中的不斷實(shí)踐,我對本職工作有了更深刻的認(rèn)識,了解了出納崗位的各種工作制度以及日常工作流程,出納工作雖簡單,但繁瑣,對工作質(zhì)量要求極高,不容許出一點(diǎn)點(diǎn)的差錯(cuò),每項(xiàng)工作都必須準(zhǔn)確、耐心的完成。想要做好出納工作還必須嚴(yán)格遵守并執(zhí)行公司的有關(guān)財(cái)務(wù)制度,認(rèn)真貫徹和執(zhí)行國家有關(guān)財(cái)經(jīng)的各項(xiàng)法律法規(guī)、方針政策,堅(jiān)持理論與實(shí)踐相結(jié)合。
現(xiàn)將2016年工作總結(jié)列示如下:
一、工作總結(jié)
1.嚴(yán)格按照公司的財(cái)務(wù)管理制度進(jìn)行資金的把關(guān),杜絕公司的資金流失。
2.嚴(yán)格保證現(xiàn)金的安全,每天核對庫存現(xiàn)金與現(xiàn)金日記賬余額是否相符,防止收付差錯(cuò),確?,F(xiàn)金收支的準(zhǔn)確無誤,及時(shí)登記現(xiàn)金日記賬,做到日清月結(jié)。
3.每日終了,核對銀行存款余額與銀行日記賬余額是否相符,月底堅(jiān)持網(wǎng)銀對賬,以保證資金收付的準(zhǔn)確無誤。
4.嚴(yán)格執(zhí)行借款手續(xù),對于有關(guān)業(yè)務(wù)需要借支的備用金,限定還款期限為3個(gè)月,嚴(yán)格把控還款期限,對于逾期未歸還者及時(shí)提醒,并要求其作出詳細(xì)說明。
5.堅(jiān)持以財(cái)務(wù)的規(guī)章制度為準(zhǔn),嚴(yán)格審核(報(bào)銷憑證上必須有經(jīng)辦人及相關(guān)領(lǐng)導(dǎo)的簽字才能給予報(bào)銷),對不符合報(bào)銷手續(xù)的憑證堅(jiān)決不予支付。
6.及時(shí)打印銀行以及稅務(wù)系統(tǒng)的各種支付回單,并找領(lǐng)導(dǎo)簽字確認(rèn)。
7.堅(jiān)持完成月底的結(jié)賬工作,作出相關(guān)財(cái)務(wù)報(bào)表,并完成報(bào)稅工作。
8.積極完成領(lǐng)導(dǎo)交辦的其他工作。
二、培訓(xùn)經(jīng)歷 1.“營改增”培訓(xùn)
眾所周知,自2016年5月1日起,在全國范圍內(nèi)全面推開營業(yè)稅改征增值稅試點(diǎn),全面實(shí)行營改增,有利地支持了服務(wù)業(yè)發(fā)展和制造業(yè)的轉(zhuǎn)型升級,另外,將不動(dòng)產(chǎn)納入抵扣范圍,比較完整的實(shí)現(xiàn)了規(guī)范的消費(fèi)型增值稅制度,有利于擴(kuò)大企業(yè)投資,增強(qiáng)了企業(yè)的經(jīng)營活力。一些制造業(yè)在獲取服務(wù)的同時(shí),也獲得了進(jìn)項(xiàng)增值稅抵扣,降低了企業(yè)稅負(fù)。通過參加營改增的培訓(xùn),對于國家政策有了更深層次的解讀,對于營改增的抵扣范圍以及注意事項(xiàng)也有了更多的了解,有助于更好的完成日常工作,使自己能夠積極適應(yīng)當(dāng)前發(fā)展的大環(huán)境,與時(shí)俱進(jìn)。
2.“一諾365”開票軟件的升級培訓(xùn)
企業(yè)的發(fā)展需要與時(shí)俱進(jìn),而相應(yīng)配套設(shè)施也應(yīng)及時(shí)的完成升級,以適應(yīng)不斷發(fā)展的企業(yè)需要。通過對開票軟件的升級,實(shí)現(xiàn)了增值稅專用發(fā)票、普通發(fā)票、貨運(yùn)增值稅專用發(fā)票、機(jī)動(dòng)車統(tǒng)一銷售發(fā)票的統(tǒng)一管理,實(shí)現(xiàn)了增值稅管理模式的根本性變革。四類發(fā)票的全覆蓋、發(fā)票數(shù)據(jù)信息的全面集中,有效的解決了虛假發(fā)票泛濫的問題,為建立全國統(tǒng)一的發(fā)票真?zhèn)尾轵?yàn)平臺提供了保障。開票軟件的有效升級,將“營改增”納稅人全部納入增值稅規(guī)范管理的軌道,既為“營改增”保駕護(hù)航,也將作為一項(xiàng)重大的信息技術(shù)配套支撐系統(tǒng),保障稅制改革的運(yùn)行。
3.增值稅發(fā)票的認(rèn)證培訓(xùn)
根據(jù)《國家稅務(wù)總局關(guān)于納稅信用A級納稅人取消增值稅發(fā)票認(rèn)證有關(guān)問題的公告》以及《國家稅務(wù)總局關(guān)于全面推開營業(yè)稅改征增值稅試點(diǎn)有關(guān)稅收征收管理事項(xiàng)的公告》,河北航天信息就有關(guān)增值稅發(fā)票抵扣問題進(jìn)行了相關(guān)培訓(xùn)。通過培訓(xùn),用戶可以直接通過認(rèn)證系統(tǒng)的“發(fā)票勾選”或“批量勾選”模塊,對稅款所屬期內(nèi)需要抵扣(或退稅)的發(fā)票進(jìn)行勾選認(rèn)證處理;摒棄了之前使用的掃描認(rèn)證方法,抵扣方法的升級,節(jié)省了之前掃描發(fā)票耗費(fèi)的時(shí)間,更進(jìn)一步提高了工作效率,還可以實(shí)時(shí)通過抵扣統(tǒng)計(jì)模塊查詢當(dāng)期已認(rèn)證的所有發(fā)票數(shù)據(jù),保證了納稅人當(dāng)期申報(bào)代扣數(shù)據(jù)的真實(shí)完整。.三、經(jīng)驗(yàn)教訓(xùn)
1.日常工作中,對相關(guān)的政策法規(guī)還需要更進(jìn)一步的了解,積極關(guān)注國家對于財(cái)經(jīng)方面的新規(guī)定,新政策,只有這樣,才更有利于做好日常工作。
2.在細(xì)節(jié)方面完善自己,更加嚴(yán)格的要求自己,認(rèn)真的完成各項(xiàng)工作。
3.更加注重學(xué)習(xí),在理論知識方面更加進(jìn)步,認(rèn)真堅(jiān)持理論與實(shí)踐相結(jié)合,不斷在工作中吸取教訓(xùn),提高自己的業(yè)務(wù)水平和解決問題的能力,進(jìn)一步提高工作效率。
4.積極把握更多的學(xué)習(xí)機(jī)會(huì),積極參加稅務(wù)部門以及各財(cái)政部門組織的相關(guān)培訓(xùn),不斷的充實(shí)自己,完善自己。
新的一年意味著新的起點(diǎn)、新的機(jī)遇、新的挑戰(zhàn),在以后的工作和學(xué)習(xí)中我將更加努力的拼搏,逆流而上,揚(yáng)長避短,克服自身缺點(diǎn),找準(zhǔn)工作的突破口,更好的完成本職工作。在此,我更應(yīng)該感謝各位領(lǐng)導(dǎo)及同事們對我的關(guān)心和幫助。我相信,在新的一年里一定會(huì)更加進(jìn)步,不會(huì)辜負(fù)領(lǐng)導(dǎo)的期望,為公司貢獻(xiàn)自己的一份微薄之力!