#前置き
どなたかが言いました
「IPv6では個人に割り当てられるIPは星の数ほどあるので、総当たりでPINGを打っても当たりっこない」
本当にそうでしょうか?
例として有名どころのNASをアタックする例を考えます。
ちなみにラズパイが乗っ取られるとこうなります。
https://qiita.com/maccadoo/items/56e2ad31cc6627ad7dfe
続編も書いてみました
https://qiita.com/maccadoo/items/56e2ad31cc6627ad7dfe
#手順
さてあなたがこのサイトにアクセスしてきた時点で、あなたのIPv6はサイト管理者にわかってしまいました。
あなたは、おそらくWindowsやmacOSやLinux、iPhoneやAndroidなどある程度のセキュリティを確保した機器(FWや匿名IPv6アドレス)でアクセスしているため、この機器に対してアタックをかけるのは効率が悪いのでやめときましょう。
しかし、あなたのIPv6からネットワークのプレフィクス(先頭から64bit)はわかってしまいました。
IPv6は128bitなので残り後半64bitを潰せばあなたの負けです。
残り後半64bitはインターフェースID、またはインターフェース識別子と言われます。
さてIPv6のプレフィクスがばれた時点でプロバイダがばれます。
プレフィクスの中の先頭21bitがプロバイダ情報だからです。
自分のプロバイダは以下から検索してみてください。
https://www.nic.ad.jp/ja/ip/irr/
さて、ここでじっくり品定めですね。
最近、話題のNUROにしようか。それとも網内折り返しはFWが全通過のNTTやSBにしようか。うっしっしってとこです。
https://qiita.com/maccadoo/items/41e4cde50d1a288a19d6
私の検索では見つからなかったのですが、auも網内折り返しはFWが全通過なんでしょうかね?コメントください。
さて攻撃対象は某有名どころのNASにします。理由は以下です。
1.初期ID/PASSが分かっている
2.初期状態ではFWが有効化されていない(またはFW機能そのものがない)
3.初期状態のIPv6がEUI-64形式のインターフェースIDが設定されている
ここで効いてくるのが、3.EUI-64形式のインターフェースIDです。
平たく言えば、macアドレスからインターフェースID生成する方法です。
https://www.infraexpert.com/study/ipv6z4.html
今回、予めターゲットは指定しているため、macアドレスは絞れます。
おっと、macアドレスの48bitのうち、前半24bitがベンダーIDであることがわかりました。
https://ja.wikipedia.org/wiki/MAC%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9
macアドレスとベンダーは以下のサイトで検索がかけれます
https://uic.jp/mac/vendor/search/
MAC | vendor |
---|---|
24:5E:BE | Q社 |
E8:43:B6 | Q社 |
EUI-64形式のインターフェースIDは48bitのmacアドレスを水増しして64bitにしているため、インターフェースIDの先頭から40bitは判明してしまいました。
MAC | インターフェースID |
---|---|
24:5E:BE | 275E:BEFF:FEXX:XXXX |
E8:43:B6 | EA43:B6FF:FEXX:XXXX |
大変です。残り24bit、3オクテットしかありません。
確率にして約1678万分の1、しかも相手は永久に変わらないインターフェースIDのため、時間をかけてPINGを打っていけば良いことになります。
PINGが帰ってきたらビンゴ。
初期ID/PASSでアクセスを試みるなり、ブルートフォースアタックをかけるなりできてしまいます。
あるいは、永久に変わらないインターフェースIDを利用して、セキュリティホールが見つかるまで待つということもできてしまいます。
これをセキュアな状態と言えるでしょうか?
あなたは、どのように対策します?
#対策
筆者は、HGWでのFW有効化とインターフェースIDを任意の数値に置き換えるという手法を取っています。
HGWでのFW有効化
https://qiita.com/maccadoo/items/41e4cde50d1a288a19d6
インターフェースIDを任意の数値に置き換える
https://qiita.com/maccadoo/items/84c8ebaa4ad541ccea3b
#その他
IPv6でサーバーを立てるとなると、匿名IPv6は使えないため何かしらの対策が必要ですので苦労しますね。
最近のローカルネットワークでの名前解決はmDNSを利用しており、こいつはIPv6のグローバルを返してくるので、おそらく個別のFWでグローバルIPv6全遮断、リンクローカルのみ通過とかやると、ローカル環境で障害が出るでしょうね。
https://qiita.com/maccadoo/items/48ace84f8aca030a12f1
IPv6を諦めるのが手っ取り早いのかな?