
脆弱なバージョンのbind9を搭載したDebian (Wheezy) Linuxシステムで、CVS-2015-5477を実演します。
このDockerコンテナはDebian Wheezyをベースにしており、脆弱なバージョンのbind9と、それに対応する追加の依存関係を使用するように変更されています。
コンテナは docker pull hmlio/vaas-cve-2015-5477 で取得できます。
ポートマッピングを指定してコンテナを実行します(最大の「うわ、これはひどい!」効果を得るためには、コンテナをバックグラウンドプロセスとしてデタッチせずに起動することをお勧めします):
docker run -p 53:53/udp hmlio/vaas-cve-2015-5477
コンテナを介してDNSクエリを実行できるはずです:
dig @<your-ip> hml.io any
現在のところ、概念実証エクスプロイトは こちら から入手できます。
別のターミナルウィンドウから、次のようにエクスプロイトを起動します:
python exploit.py <your-ip>
元のターミナルウィンドウ(コンテナをフォアグラウンドで起動した方)に戻ると、次のような出力が表示されるはずです:
04-Aug-2015 20:47:14.841 createfetch: hml.io DS
04-Aug-2015 20:47:14.886 createfetch: de DNSKEY
04-Aug-2015 20:48:54.130 message.c:2311: REQUIRE(*name == ((void *)0)) failed, back trace
04-Aug-2015 20:48:54.130 #0 0x7fa696e2fdd9 in ??
04-Aug-2015 20:48:54.130 #1 0x7fa695770f3a in ??
04-Aug-2015 20:48:54.130 #2 0x7fa69669806f in ??
04-Aug-2015 20:48:54.130 #3 0x7fa696723bd9 in ??
04-Aug-2015 20:48:54.130 #4 0x7fa696e40615 in ??
04-Aug-2015 20:48:54.130 #5 0x7fa696e26e71 in ??
04-Aug-2015 20:48:54.130 #6 0x7fa69578fe1d in ??
04-Aug-2015 20:48:54.130 #7 0x7fa695143b50 in ??
04-Aug-2015 20:48:54.130 #8 0x7fa694b2d95d in ??
04-Aug-2015 20:48:54.130 exiting (due to assertion failure)
Aborted (core dumped)
failed!