Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DNS changerとハニーポット

6589e3179283043e0f5907144b9ad6eb?s=47 ninoseki
October 06, 2019

DNS changerとハニーポット

第1回ハニーポット情報共有会 発表用資料

6589e3179283043e0f5907144b9ad6eb?s=128

ninoseki

October 06, 2019
Tweet

More Decks by ninoseki

Other Decks in Technology

Transcript

  1. DNS Changerとハニーポット @ninoseki

  2. Abstract • Ghost DNSを題材に、DNS changerについて解説します • Roaming Mantisを題材に、ハニーポットでDNS changerを観測する手法 について解説します

    (Source: https://thehackernews.com/2018/10/ghostdns-botnet-router-hacking.html / https://www.kaspersky.com/blog/roaming-mantis-malware/22427/)
  3. What is DNS Changer? • DNS changer とは ◦ ルーターや端末のDNS設定を書き換え、ローグ

    DNSサーバーを使用するように仕向け るマルウェアやスクリプトの総称です ▪ ローグDNSサーバーは、被害者をフィッシングサイトやマルウェアのランディング ページに誘導します ◦ このプレゼンでは、インターネット経由でルーターの DNS設定を改ざんするDNS changer を取り上げます
  4. Examples • Ghost DNS ◦ 70+ different types of home

    routers(all together 100,000+) are being hijacked by GhostDNS (Netlab 360 / 2018-09-29) ▪ https://blog.netlab.360.com/70-different-types-of-home-routers-all-together-100000-are-bei ng-hijacked-by-ghostdns-en/ • Roaming Mantis ◦ DNS設定を乗っ取りAndroidデバイスに感染する Roaming Mantis (Kaspersky / 2018-05-21) ▪ https://blog.kaspersky.co.jp/roaming-mantis/20105/
  5. Ghost DNS • DNS設定を改ざんし、フィッシングサイトへ誘導するキャンペーン • 複数のDNS changerを使用 ◦ Shell DNS

    changer, JS DNS changer, PyPHP DNS changer ◦ 今回はShell DNS changerを取り上げます • Shell DNS changerの仕組み: ◦ fscan(Fast HTTP Auth Scanner)によるルーターの特定 ◦ 認証がある場合: ▪ ブルートフォースによる ID/PWの特定 + DNS/PW設定の改ざん ◦ 認証がない場合: ▪ DNS設定の改ざん
  6. Ghost DNS • ルーターを特定する仕組み ◦ 特定のバナーかどうか ◦ 特定の文字列が含まれるか ◦ 例:

    ▪ バナーが“RomPager/4.07 UPnP/1.0”かつ”<INPUT TYPE="SUBMIT" NAME="Prestige_Login" VALUE="Anmelden">”が含まれる場合、ルーター は”Zywall2 deutc”と特定
  7. Ghost DNS webforms.ini (fscan用コンフィグ)

  8. Ghost DNS changers.cfg (DNS Changer用コンフィグ)

  9. Ghost DNS • まとめ ◦ トップページにアクセスし、ルーターの機種を特定 ◦ 認証画面にブルートフォースを行い、 ID/PWを特定 ◦

    特定したID/PWを元に、DNS設定 + PWを変更
  10. Ghost DNS • おまけ(TLP:WHITE) ◦ reaperb0t/GhostDNS ▪ https://github.com/reaperb0t/GhostDNS ▪ PyPHP

    DNS changerのソースコードの一部
  11. Roaming Mantis • DNS設定を改ざんし、フィッシングサイトまたはAndroidマルウェアのラン ディングページに誘導するキャンペーン • Ghost DNSと違い、DNS changerの詳細は分かっていない

  12. Roaming Mantis • Roaming MantisのDNS changerを観測した例 ◦ LAC: ルータのDNS設定を変更するサイバー攻撃にご用心 ▪

    https://www.lac.co.jp/lacwatch/people/20180607_001647.html ◦ 実機を用意し、その手前にミラーリング用スイッチを置いてパケットキャプチャ
  13. Roaming Mantis • 典型的なDNS changerの仕組みのおさらい ◦ トップページをスキャンし、ルーターを特定 ◦ 認証がある場合: ▪

    ブルートフォースでID/PWを特定し、DNS設定を改ざん ◦ 認証がない場合: ▪ DNS設定を改ざん
  14. Roaming Mantis • DNS changerの仕組みを踏まえた仮説 ◦ 認証なしのルーターを模擬し、バナーを含めて実機そのままのトップページの HTTPレス ポンスを返すハニーポットを作れば Roaming

    MantisのDNS changerを観測できるので は?
  15. Roaming Mantis • 結果: できました

  16. Roaming Mantis • 実装例: ◦ https://github.com/ninoseki/cpg_honey ◦ https://github.com/ninoseki/next_honeypot

  17. まとめ • 特定のルーターを簡易的に模擬したハニーポットを作ることで、そのルー ターを標的にしたDNS changerを観測することができます • 単にOSSのハニーポットを運用してみるだけでなく、仮説を立ててそれを検 証する目的でハニーポットを自作・運用してみると面白いかもしれません