JPCERT の ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起で問題になっているNTP増幅攻撃用のperlスクリプトが公開されていた。
https://gist.github.com/anonymous/d3abecdf9e828b3b7c37
VirtualBox で ubuntu server のvmを3台起動して,このスクリプトで攻撃をシュミレーションした。
vm#1(右)で攻撃スクリプトを実行した。vm#2 (左上)は増幅器にされたntpサーバで,vm#3(左下)がターゲットサーバ(vm#2,3は,tcpdump実行中)。
ターゲットサーバに大量データが行くが,増幅器にされたサーバもudpパケットで一杯になる。
vm#1—-[ntp要求]--->vm#2(ntpd)===[ntp応答]===>vm#3
攻撃スクリプトはソースIPアドレスをvm#3のIPアドレスにして,vm#2に要求パケットを送るので,vm#2は応答をvm#3に送る。応答の方がデータサイズが大きいので増幅攻撃になる。
ubuntu server(12.10)は, /etc/ntp.conf に
restrict –4 default … noquery
と書かれていたので応答できない。コメントアウトした。
vm#2で,tcpdumpを実行して,キャプチャファイルをwireshark で解析した。tcpdump –n –i eth0 –s 0 > dump.cap
vm#1 がvm#2に送信した要求データが,8,691,420バイトでvm#2がvm#3に送信した応答データが49,862,150バイト。6倍に増幅されている。
実際には最大200倍になるそうだ。
応答パケットは410バイトになる。応答パケット要求パケットの約7倍。 


