2014-01-23 GOM Playerのアップデートパケットを確認しよう
■ GOM Playerのアップデートパケットを確認しよう
韓国の動画再生ソフト GOM Playerのアップデートが原因で、トロイの木馬をダウンロードしてしまったケースを分析してみます。
LACさんが解説していたので、同じケースがないのか発見してみましょう。
PacketBlackHoleなどでフルバケットを記録している場合であれば、どのタイミングでやられてしまったのかが明確にわかります。
直接の原因はまだわかっていませんが、2、3の仮説が立てられます。
- 仮説1 DNSポイゾニングにより、偽サーバに行っていた。
- 仮説2 アップデートサーバが乗っ取られた
- 仮説3 インターネットの途中で書き換えられた
- 仮説4 何からの方法で、ローカルの、GrVersionJP.iniを書き換えた。
仮説1であれば、送信先のサーバが、本来のものとは異なります。
本来のアップデートサーバは、app.gomlab.comで 38.109.102.176,38.109.102.177
38.109.102.178で、正規のサーバ自体はニューヨークのマンハッタン島にあるようです。宛先がこれら以外のアドレスであった場合は、何かしら不正な情報を掴んでしまっているケースかも知れません。
仮説2の場合は、サーバが乗っ取られたということなので、サーバからのレスポンスデータを再現して、ダウンロードしているGrVersionJP.iniファイルをパケットから再現して下さい。DOWN_URL=の部分が画像と異なる場合は、このタイミングでやられていることがわかります。
仮説3の場合は、
ネットワークの途中で書き換えるという方法をとるので、送信先のIPアドレスは同じでも、正規のサーバには通信は届いていません。全通信区間の、GrVersionJP.iniから、DOWN_URL=がおかしい部分を探す必要があります。
GOM Playerのユーザを見つけるなら、
PacketBlackHoleのWeb解析から、URL前方一致で、http://app.gomlab.com/ で検索するとユーザが見つけられます。実際のアップデートはSSLで暗号化するので、Counter SSL Proxyが必要です。
OnePointWallを入れましょう。簡単に止まります。
2014-01-17 ケルベロスかなとおもったら?
2013-12-18 につぼんの温泉100選トッブ10
2013-07-10 MXを引いてみた
■MX codeを引く
かき捨てコード
#!/usr/bin/perl use Net::DNS; use IP::Country::Fast; while(<STDIN>){ chomp $_; $_=~s/^http\:\/\///; $_=~s/$\///; $_=~s/\/.*//; # MXの取得 my @mx = mx($_); if (scalar(@mx) eq 0){ $_=~s/.*?\.//; @mx = mx($_); } print $_," "; for my $tmp (@mx){ print $tmp->exchange; my $reg = IP::Country::Fast->new(); my $country = $reg->inet_atocc($tmp->exchange); if ($country eq ""){$country="ERROR";} print " on ",$country," "; } print "\n"; }