作者:SuperHei 來自:安全天使:http://www.4ngel.net
腳本攻擊在網(wǎng)絡(luò)安全中永遠是個“重頭戲”,由此產(chǎn)生的各種攻擊性腳本如vbs/js腳本,各種webshell 尤其是webshell是web入侵中必不可少的工具,
小議腳本變形
。現(xiàn)在的webshell版本繁多,功能越來越強,這也成為管理員防范和各大殺毒軟件追殺的目標(biāo)。下面我以asp的webshell為例子簡單說下腳本的變形思路:
1.classid的使用
aspshell里的常用的對象名往往是殺毒軟件采用的特征碼,管理員也可以通過修改注冊表,來改變asp對象的名稱,但是沒個asp對象在系統(tǒng)里有個規(guī)定的classid(ps:classid在各個系統(tǒng)有所不同)那么我們就可以通過classid來建立對象,如我們通常建立fso對象是采用下面的語句:
Set hh=Server.CreateObject("Scripting.FileSystemObject") 那么通過查找“Scripting.FileSystemObject" 來查殺你的腳本,那么我們就可以通過fso對應(yīng)的classid來建立:
這樣還有個好處就是即使管理員改fso的名字,也可以使用。
以下是常用對象對應(yīng)的classid:
WSCRIPT.SHELL 72C24DD5-D70A-438B-8A42-98424B88AFB8
WSCRIPT.NETWORK 093FF999-1EA0-4079-9525-9614C3504B74
Scripting.FileSystemObject 0D43FE01-F093-11CF-8940-00A0C9054228
Scripting.Encoder 32DA2B15-CFED-11D1-B747-00C04FC2B085
Scripting.Dictionary EE09B103-97E0-11CF-978F-00A02463E06F
adodb.stream 00000566-0000-0010-8000-00AA006D2EA4
shell.application 13709620-C279-11CE-A49E-444553540000
2.使用+或&連接符的妙用
殺毒軟件一般是提高提取特征碼來查殺病毒的,所以asp對象名一般就成為了“特征碼”了,
電腦資料
《小議腳本變形》(http://m.msguai.com)。我們就可以通過使用+或&來拆分對象名。如:Set hh=Server.CreateObject("Scripting.FileSystemObject")
我們就可以提高下面的語句替換:
Set hh=Server.CreateObject("Scrip"+"ting.file"+"systemobject")
或
Set hh=Server.CreateObject("Scrip"&"ting.file"&"systemobject")
值得一提的是“思易ASP木馬追捕”也是一個有asp編寫的腳本,用來查殺webshell的,這個腳本先替換掉目標(biāo)代碼里的&在進行查找對象名,那上面簡單的使用&就沒用了,不過我們可以同過插入空變量來防殺:
Set hh=Server.CreateObject("Scrip"&"ting.file"&qsdsdsdf&"systemobject")
其中qsdsdsdf就為空變量,即使替換了所有的&,對象名還是有改變。
3.改變字母大小寫(本文的重點所在)
其實要通過改變字母的大小寫來改變特征碼,大小寫對應(yīng)的asii或其他的編碼也不同,這樣我們可以到達防殺的目的。實現(xiàn)起來也簡單,一個系統(tǒng)自帶的“記事本”就可以搞定,不過這樣要手工一個字母的去替換,你可以自己寫個簡單的程序幫助你處理,不過注意的問題是,有的代碼里有密碼加密的函數(shù)會受到影響,還有對shell里的htm代碼有影響,建立在變形事,采用部分變形(改變大小寫)。下面是我vb寫的一個變形工具。
PS:程序只是替換了指定的幾個字母,還有就是加入空變量(見2). 如果你編程夠好的話,你可以寫個程序可以隨機改變大小寫的,還有部分變形代碼。
相關(guān)附件: bx.rar (63.52 K)