StormWorm DNS、StormBotnet
Published: 2007/10/16
「大量のDNSクエリ」といえば、、、
Storm Worm、感染のきっかけはメールにMalwareが添付されてくるとかメール本文に誘導URLが書き込まれているとかblogにURLが書き込まれるとか、ソーシャル系のものがほとんどというイメージが強かったが、exploitを利用されてネットワーク越しに勝手にインストールされる例もたくさん観測している。基本的に新旧あらゆる感染手法が用いられているということだろう。
大量に亜種が存在し、さまざまなMalwareがインストールされるので挙動的にはさまざまなものが報告されており正体がつかみにくいが(というかE-mail Wormだろ?という認識)、特に目立つネットワーク的な挙動は、以下の3点ではないかと思う。
- spam送信
- DNS queryの大量送信
- P2Pによるコミュニケーション
■spam送信
spam送信は、あるhttpサーバーから各種情報をdownloadしてきて自立的に送信するもので前述の「大量のDNSクエリの発生 その2」と同じ手法が目立つ。
■DNS queryの大量送信
DNS queryに関しては、自分のIPアドレスのAレコードを検索するクエリを送信する。ここでは1,000台のDNSサーバーに対して約10分間に3周、約12,000クエリを送信した。下表のように意外と日本国内のDNSサーバーもたくさん利用されている。
DNSサーバーの国別存在数
DNSサーバーのAS別存在数
■P2Pによるコミュニケーション
「eDonkey」もしくは「overnet」のUDP実装として解読できる。ここで観測された例ではまず171個のSuperNodeに接続し、そこからPeer情報を得て1時間で1956のpeerと接続した。待ちうけに利用したUDP portは12100や2266など数種類あり、亜種ごとに違うportを利用している。
長期間観測してみたが、今のところ定期的に各peerに自分自身をPublicizeし続け、Searchが発生するのみで、P2P経由で何のコミュニケーションもdownloadも観測できていない。
1293366 10:10:54.066935 x.x.x.x -> 154.37.66.209 eDonkey eDonkey UDP: Publicize 1294473 10:10:54.415990 x.x.x.x -> 217.160.208.201 eDonkey eDonkey UDP: Connect 1294474 10:10:54.416047 x.x.x.x -> 217.160.208.201 eDonkey eDonkey UDP: IP Query 1294876 10:10:54.753133 217.160.208.201 -> x.x.x.x eDonkey eDonkey UDP: IP Query End 1294878 10:10:54.753924 217.160.208.201 -> x.x.x.x eDonkey eDonkey UDP: Connect Reply 1295198 10:10:54.857251 x.x.x.x -> 84.16.239.110 eDonkey eDonkey UDP: Publicize 1295769 10:10:55.022947 84.80.109.203 -> x.x.x.x eDonkey eDonkey UDP: Publicize ACK 1295770 10:10:55.023233 x.x.x.x -> 84.80.109.203 eDonkey eDonkey UDP: Connect 1295771 10:10:55.023288 x.x.x.x -> 84.80.109.203 eDonkey eDonkey UDP: IP Query 1296774 10:10:56.010358 84.80.109.203 -> x.x.x.x eDonkey eDonkey UDP: IP Query End 1296777 10:10:56.011130 84.80.109.203 -> x.x.x.x eDonkey eDonkey UDP: IP Query Answer 1296783 10:10:56.013090 x.x.x.x -> 82.55.220.212 eDonkey eDonkey UDP: Publicize 1296786 10:10:56.020542 84.80.109.203 -> x.x.x.x eDonkey eDonkey UDP: Connect R 1553352 10:13:17.056519 x.x.x.x -> 71.227.120.46 eDonkey eDonkey UDP: Search 1553705 10:13:17.129618 x.x.x.x -> 68.205.67.204 eDonkey eDonkey UDP: Search 1553706 10:13:17.129765 x.x.x.x -> 69.249.70.53 eDonkey eDonkey UDP: Search 1553707 10:13:17.129861 x.x.x.x -> 212.35.84.240 eDonkey eDonkey UDP: Search 1553708 10:13:17.130004 x.x.x.x -> 69.244.45.146 eDonkey eDonkey UDP: Search 1553709 10:13:17.130096 x.x.x.x -> 220.237.166.193 eDonkey eDonkey UDP: Search 1553753 10:13:17.192508 x.x.x.x -> 172.142.80.191 eDonkey eDonkey UDP: Search 1553765 10:13:17.198261 67.174.246.119 -> x.x.x.x eDonkey eDonkey UDP: Search Next 1553781 10:13:17.222207 x.x.x.x -> 67.174.246.119 eDonkey eDonkey UDP: Search Info 1553828 10:13:17.252959 130.215.156.72 -> x.x.x.x eDonkey eDonkey UDP: Search Next 1553829 10:13:17.254451 x.x.x.x -> 130.215.156.72 eDonkey eDonkey UDP: Search Info
eDonkey Protocol eDonkey Message Protocol: eDonkey (0xe3) Message Type: Search (0x0e) Search Type: 2 Hash: 079ADF329A3FA55126A1860E770C6E62 eDonkey Protocol eDonkey Message Protocol: eDonkey (0xe3) Message Type: Search Next (0x0f) Hash: 079ADF329A3FA55126A1860E770C6E62 Overnet Peer List Size: 5 Overnet Peer Hash: 07B682364E29764803553A76CB095870 IP: 70.71.242.198 (70.71.242.198) Port: 29500 Peer Type: 0 Overnet Peer Hash: 051FAF726AC068F7EB3D47917111BC69 IP: 74.138.7.99 (74.138.7.99) Port: 8468 Peer Type: 0 Overnet Peer Hash: 00B3320B7FE5DA8474218F4E84BA8583 IP: 75.47.238.142 (75.47.238.142) Port: 22505 Peer Type: 0
eDonkey Protocol eDonkey Message Protocol: eDonkey (0xe3) Message Type: Connect (0x0a) Overnet Peer Hash: E2EFC04641302BBB731547EF698EC541 IP: 74.119.116.18 (74.119.116.18) Port: 32811 Peer Type: 0 eDonkey Protocol eDonkey Message Protocol: eDonkey (0xe3) Message Type: Connect Reply (0x0b) Overnet Peer List Size: 7 Overnet Peer Hash: E8CE35BE8F737E94647535634A01D0B6 IP: 64.250.201.230 (64.250.201.230) Port: 9154 Peer Type: 0 Overnet Peer Hash: 1883288016319AE8918FAFEB7AE9A030 IP: 195.128.95.178 (195.128.95.178) Port: 29003 Peer Type: 0 Overnet Peer Hash: 1CBC09BF540F3E3DC344FC0515CA0D1C IP: 89.85.25.240 (89.85.25.240) Port: 3527 Peer Type: 1 Overnet Peer Hash: 69ADC8F1E672A61AD5EED16C1F91CF08 IP: 212.76.37.134 (212.76.37.134) Port: 30886 Peer Type: 2
接続されたP2P nodeの国別存在状況は下表のとおり。北中米が多いが、アジア、ヨーロッパ等広範囲に存在している。
国別P2P node数
■検体
関連するMalwareをwww.virustotal.comでチェックした結果であるが、8月に捕獲したものも10月に捕獲したものも検出率はこのぐらい。大量に亜種があるがだいたい似たような検出状況。
8月の捕獲検体
10月の捕獲検体
■まとめ
P2P(しかもUDP)という点が技術的にはなかなか面白いが、P2Pにしろ、DNSにしろ、挙動が派手なので感染端末の発見および、逆に、それを利用して他の感染端末の発見、追跡に利用できてしまう。DNSクエリの部分の挙動がないパターンも見受けられるのはそのせいか?意外に発見、追跡は簡単なのではないかと思われるわけだが、相変わらず「猛威が!」といわれ続けるのは、それ以上に「踏んでしまう人」が多いのか?それはそれで残念な世の中ではあるが、発見できたとしても、それを直接伝えるということにすべてが直結できるわけではないので、やはり注意喚起、ウイルスチェック対応をがんばるというところに行き着くわけで、結局いつもと同じことになっているんだろう。
by jyake