1. 體驗(yàn)軟件分析
工具準(zhǔn)備:WinHex二進(jìn)制編譯器封寞、ProcessMonitor文件和注冊表監(jiān)控
a. 程序sample_mal.exe
sample_mal.exe
運(yùn)行程序后,彈出一個(gè)對話框惭适,關(guān)閉對話框后.exe文件本身也消失
通過ProcessMonitor看一下程序行為:
我們發(fā)現(xiàn)他在C:\Users\用戶名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup的位置新建了一個(gè)文件0.exe康栈。那么就會(huì)導(dǎo)致在系統(tǒng)重新啟動(dòng)的時(shí)候递递,自動(dòng)的運(yùn)行這個(gè)程序0.exe。在實(shí)踐的過程中發(fā)現(xiàn)電腦中安裝的安全軟件會(huì)提示建議阻止這種在startup中新建程序的行為啥么。但是由于已知本程序不是惡意程序登舞,我們允許這種創(chuàng)建操作。
然后利用WinHex比較兩個(gè)程序悬荣,發(fā)現(xiàn)他們的二進(jìn)制表示一致菠秒。我們重啟電腦,發(fā)現(xiàn)啟動(dòng)后會(huì)自動(dòng)運(yùn)行0.exe這個(gè)程序氯迂,即彈出對話框然后關(guān)閉后此程序也會(huì)自動(dòng)刪除践叠。
此外言缤,我們還發(fā)現(xiàn)程序在C:\Users\用戶名\Documents目錄下還新建了1.exe的程序,他也是sample_mal.exe的一個(gè)副本酵熙。想要系統(tǒng)恢復(fù)原狀我們需要?jiǎng)h除0.exe與1.exe轧简。
總結(jié)一下這個(gè)程序做了什么:
1. 修改注冊表以便在系統(tǒng)重啟時(shí)自動(dòng)運(yùn)行
2. 將自己復(fù)制到startup文件夾,在系統(tǒng)重啟時(shí)自動(dòng)運(yùn)行
附:
1. 什么是逆向工程:
閱讀反匯編后的代碼匾二,使用調(diào)試器分析軟件行為哮独。
2. svchost是什么
在做上面實(shí)驗(yàn)使用ProcessMonitor看到了大量的svchost,然后就了解了一下相關(guān)內(nèi)容察藐。
svchost.exe是微軟Windows操作系統(tǒng)中的系統(tǒng)文件皮璧,微軟官方對它的解釋是:svchost.exe 是從動(dòng)態(tài)鏈接庫(DLL) 中運(yùn)行服務(wù)的通用主機(jī)進(jìn)程名稱:Host Process for Windows Services。這個(gè)程序?qū)ο到y(tǒng)的正常運(yùn)行是非常重要分飞,而且是不能被結(jié)束的悴务。許多服務(wù)通過注入到該程序中啟動(dòng),所以會(huì)有多個(gè)該文件的進(jìn)程譬猫。
由于計(jì)算機(jī)性能普遍提高讯檐,為了提高系統(tǒng)安全性和穩(wěn)定性,在最新版本的Windows 10操作系統(tǒng)中染服,系統(tǒng)不再使多個(gè)服務(wù)共享1個(gè)svchost.exe進(jìn)程别洪,而會(huì)為每個(gè)服務(wù)都分配一個(gè)獨(dú)立的svchost.exe進(jìn)程。
參考材料:
1.《有趣的二進(jìn)制·軟件安全與逆向分析》【日】愛甲健二