關于慢速感染與慢速多態變形的爭論
文檔編號: S001-F006
原作者: Rogue Warrior
譯者: Arhat[ptg]
審校: NULL
發布時間: 2006-06-19
原文:
http://vx.netlux.org/lib/vrw01.html關鍵詞: 慢速感染 慢速多態變形
0 譯者注
1. 關于傳播速度有較多的爭論,仁者見仁,Kris Kaspersky 的《Shellcoder's Programming
Uncovered》中對蠕蟲傳播速度的討論與此類似,有興趣者可以參考。
2. 本文中所討論的方法已經過時,但關于慢速感染及慢速多態變形的想法可以借鑒,希望
讀者能舉一反三,而不是拘泥于本文的內容。
1 慢速傳播者
許多人認為快速傳播者比慢速傳播者要好一些,但我并不這樣認為。病毒的目標是盡可
能傳播更多的主機。你認為呢?
對于慢速感染的病毒來說,它必須做:
1. 不引起注意(秘密行動)。
2. 感染當前主機上有可能外出的文件。
2
S001-F001 P E d i y . c o m
OK,因此,我們寫一個秘密的快速傳播者,它能工作良好嗎?錯了…
下面是一些理由,第一點可以分成兩部分來看:
1.1 不能被檢測(文件/磁盤 隱藏)。
1.2 不能被用戶注意到(運行速度,內存占用,磁盤空間占用)。
大部分編程者忽略了1.2,從而使他們的病毒在主機系統上非常顯眼――導致系統性能
下降,有時候就像蝸牛爬一樣。
在病毒論壇里,我們看到過很多這樣的帖子,“我注意到有些異常――因此,我做了一
些調查研究,發現了X 病毒――我怎么清除它呢?” - 我們的目標是首先避免用戶產生
這種猜疑。
想想AIDS/HIV?它在受感染的人體內潛伏超過10年,期間會不斷感染與之接觸的人
-但只顯示了很少的癥狀。
這種道理同樣可應用到病毒傳播上,它們不能降低系統性能或引起不兼容(QEMM 異
常/崩潰,等等),因為人們非常在意計算機運行狀況可能出現的差異。
這導致我們采用慢速感染技術,現在,如果目標是使病毒感染另外的系統,那我們需要
做的是感染那些非常有可能被移到另外計算機系統上的文件,這些文件是:
1. 軟盤上的文件。
2. 網絡/遠程設備上的文件。
3. 在通信程序內打開的文件。
4. 在壓縮程序內打開的文件。
5. 在備份程序內打開的文件。
所有這些文件都有機會離開系統。
軟盤:- 14-y/o 盜版者用它們交換游戲,是近乎完美的接觸其它主機的方法。
網絡設備:- 如果你有超級用戶訪問權限的話這特別有用,你就有機會感染像login.exe
之類的文件,那么你就有250臺(或更多!)成為感染源的計算機。
N.B., Novell Netware允許把完整的可引導盤做為文件保存在服務器上。 因此,網絡客
Arhat[PTG] 2006-06-19 3
&關于慢速感染與慢速多態變形的爭論!
戶端可以從服務器上的文件啟動。這些文件也是非常有用的目標,但是我缺乏這樣的網絡環
境來生成/測試這樣的病毒。
通信程序:-上傳EXE/COM 文件的人都有他的理由(或許是發給某個人)。是另外
完美的感染一臺或多臺主機的方法。
壓縮程序:-通常是在用通信程序上傳/下載前用來壓縮軟件,于是,如果我們在壓縮
的過程中感染EXE/COM程序,那我們就有非常好的機會使外出見見世面。
備份程序:-這可以預防從主機上移去我們的病毒--如果用戶通過AV 程序發現了病
毒,那我們還有機會重新感染它。
圖示:
.-<<--backups-----.
.HOST SYSTEM------------------|---. |
|.------------------..--------'--.|----------> floppies
||ethernet/modem/fdd|| HARD DISK ||----------> network
|'------------------''--------.--'|----------> modem/comms
'-----------------------------|---' |
'-compressed-->>--'
感染硬盤文件用處不大,因此它們從來不會四處閑逛-不像感染軟盤,網絡和通信通道
的文件那樣。
確保你的病毒在其它程序前被加載是個好主意,這樣一來可以確保病毒活動秘密行動。
你應該自動感染\COMMAND.COM或把病毒分成多部分(感染mbr/track 0)。
1.1 這些方法的實現:
最好的實現方法是:
Floppy diskette and CDR (CD-ROM Writers) check:
Use AX=4408, DL=Logical Drive#, INT 21h
Network/Remote check:
Use AX=4409, DL=Logical Drive#, INT 21h
Use AX=440A, BX=File Handle, INT 21h
4
S001-F001 P E d i y . c o m
Comms/Compression/Backup check:
用LUT(lookup table)禁止秘密活動,并在適當的時候激活快速傳播者:
'CHKDSK' - Stops CHKDSK errors (well known).
'SCANDISK' - Ditto.
'NDD' - Ditto.
'PKLITE' - Protect virus in PKLITE compression wrapper.
'DIET' - Protect virus in DIET compression wrapper.
'LZ' - Protect virus in LZEXE compression wrapper.
'TM' - Telemate, to infect EXE/COM uploads.
'TE' - Telix/Terminate, to infect EXE/COM uploads.
'BACKUP' - To infect executable backups.
'MSBACKUP' - Ditto.
'CPBACKUP' - Ditto.
當壓縮程序輸出文件被打開時,也用下面的LUT 來查看。
'ZIP' - PKZIP tmpfile extension opened.
'LZH' - LHA tmpfile extension opened.
'ARJ' - ARJ tmpfile extension opened.
'ARC' - ARC tmpfile extension opened.
'RAR' - RAR tmpfile extension opened.
當你截取INT 21h AH=3C和INT 21h AH=3D調用時,檢查文件的后綴。
如果被打開的文件是上述的一種,那么激活快速傳播者并禁止秘密活動。
當它被關閉時(用SFT 來檢查AX=1220/INT2F AX=1216/INT2F),重新啟用
慢速傳播者并重新啟用秘密活動。
2 慢速多態變形
慢速多態變形差不多使AV團體陷入了無盡的煩惱之中,關于這個問題沒有太多的爭議。
這些人(AVer)每天都會收到許多病毒,他們不可能反匯編每一個病毒來看個詳細,這
對我們來說是個好消息,因為這意味著我們能使他們陷入浪費時間的煩惱之中。
如果再和Rajaat闡述的anti-goat技術結合起來使用,將會使他們相當的煩惱。AV 團體
為了下面的目的,將不得不花上至少一天的時間分析好的多態變形病毒:
Arhat[PTG] 2006-06-19 5
&關于慢速感染與慢速多態變形的爭論!
a)使它感染他們的“替罪羊”文件
b)使它產生大量的樣本(對于SMEG 來說,我認為大概能生成200,000個樣本)。
BTW: 如果你決定使你的代碼依賴anti-goat代碼的完整性,那么你將發現研究員在喂養
200,000 個病毒樣本時會有更多的問題:)
2.1 實現
多態變形過程基于隨機數的生成,怎樣選擇一個慢速生成的隨機數呢?我能想到的兩個
方法是:
1. BIOS date. -非常慢的多態變形,僅根據每個計算機而改變!
2. 當天的日期. -非常慢。
-------------------------------------------------------------
1. push 0FFFF
pop ds
mov si,0005 ;DS:SI -> FFFF:0005 (8 bytes).
xor bx,bx ;value=0
mov cx,4 ;size=4 words.
L1: lodsw ;fetch word.
add bx,ax ;checksum.
loop L1 ;next 3 words.
mov ds:rnd_seed,bx ;set seed.
-------------------------------------------------------------
2. mov ah,2A
int 21 ;get date.
rol dx,cl ;random adjustment.
xor dx,cx ;place cx into eqn.
mov ds:rnd_seed,dx ;set seed.
--------------------------------------------------------------------------------
posted on 2007-08-24 09:30
margin 閱讀(178)
評論(0) 編輯 收藏 引用