Modern Honey Networkを使ったハニーポットの管理

B57b8c21e1e93cea5181c0e17599f4d3?s=47 blackle0pard
February 23, 2018

Modern Honey Networkを使ったハニーポットの管理

第3回 ハニーポッター技術交流会 (2018/02/24)
https://hanipo-tech.connpass.com/event/78002/
公開用に一部を修正しています。 #hanipo_tech

B57b8c21e1e93cea5181c0e17599f4d3?s=128

blackle0pard

February 23, 2018
Tweet

Transcript

  1. Modern Honey Networkを使ったハニーポットの管理 第3回 ハニーポッター技術交流会 2018.02.24 (SAT) 1

  2. 自己紹介 • 黒彪 (くろひょう) • 医薬品の営業→インフラ系SE • ハニーポッター歴 約7ヶ月 2

    @blackle0pard_
  3. 今回のLTについて 3 • ツールの紹介がメインになります。 • ログ分析や攻撃についての考察などの話は少ないです。 • 本日紹介するツールにログイン出来るアカウントを用意しました(実際 に数週間、ハニーポットとして運用しています)。適当に触りながら、お 聞きください。

  4. 今回の構成 4 Splunk MHN 日本 各インスタンス : 25GB SSD /

    $5 1CPU, 1024MB, 1000GB Bandwith フランスなど 管理サーバー
  5. 注意事項 • アカウント情報を変更しないで下さい。 • Twitterなどにアカウント情報を公開しないようにお願いします(公 開は勉強会の参加者のみです)。 • アカウント情報は本日中に削除する予定です。 • 個人利用の範囲であれば、データのダウンロードやキャプチャの取

    得はご自由にどうぞ! 5
  6. アカウント情報 6 • Modern Honey Network  ログインURL:https://hp.blackle0pard.net/  Email:bee@example.com

     Password:hanipotech0224 • Splunk  ログインURL:https://hp.blackle0pard.net:7443  Email:bee  Password:hanipotech0224 勉強会参加者のみに公開m(_ _)m
  7. Modern Honey Network(MHN)とは • ハニーポットの管理サーバー  複数のハニーポットのデータを一つにまとめて、一元管理できるようにする • ログの可視化 

    ログの集計(過去24時間の攻撃回数、送信元IP、攻撃されたポート番号など)  SSH系ハニーポットへの攻撃に使用されたユーザ名、パスワードなどの集計  ログの分類(glastopf、suricata、dionaea、snort) • インストール用スクリプトの提供・構築の自動化  ハニーポット  ELK(Elasticsearch, Logstash, Kibana)  Splunkと連携するためのツール 7
  8. Modern Honey Network(MHN)とは (参考) • GitHub - threatstream/mhn: Modern Honey

    Network https://github.com/threatstream/mhn • mhn - GitHub Pages https://threatstream.github.io/mhn/ • Modern Honey Network - Google グループ https://groups.google.com/forum/#!forum/modern-honey- network 8
  9. MHNの大雑把な構成 ① Sensors ハニーポット ② hpfeeds, Mnemosyne, mongoDB ハニーポットから情報を収集・格納 https://github.com/rep/hpfeeds

    https://github.com/johnnykv/mnemosy ne ③ honeymap, Webapp, REST API 収集した情報の可視化。 9 ref : https://threatstream.github.io/mhn/images/architecture.png ハニーポット 管理サーバー
  10. MHNの良いところ、駄目なところ • 良いところ  構築が簡単。スクリプトを実行するだけで管理サーバー、ハニーポットをインストー ルすることができる。  ログの可視化や集計が簡単にできる。  使っている人がわりと多いので、何かしらの情報は見つかる(ただし、日本語の情

    報は皆無)。 • 駄目なところ  エラーでスクリプトの実行に失敗することが多い気がする(個人的な感想)。  スクリプトがメンテナンスされていないものもあり、インストールされるバージョンが古 い場合がある(例:Kibana)。  デフォルトの場合、集計方法の柔軟性が低い(他のツールと連携する必要があ る)。 10
  11. インストールが簡単@管理サーバー 11 • サポートされているOSは、Ubuntu 14.04, 16.04、CentOS 6.9 • インストールのコマンドは下記のとおりです。 $

    sudo apt-get install git -y $ cd /opt/ $ sudo git clone https://github.com/threatstream/mhn.git $ cd mhn/ $ sudo ./install.sh
  12. インストールが簡単@ハニーポット 12 • 管理サーバーからダウンロードしたスクリプトを実行するだけです。 • インストールのコマンドは下記のとおりです。 (例 : Dionaea) $

    sudo wget "https://example.com/api/script/?text=true&script_id=4" -O deploy.sh && sudo bash deploy.sh https://example.com <DEPLOY_KEY>
  13. インストール手順 (参考) • README mhn/README.md at master · threatstream/mhn ·

    GitHub https://github.com/threatstream/mhn/blob/master/README.md • 詳細な手順は下記のPDFを参照 Exercise 1: Deploy and Configure Modern Honey Network https://mhn-training.s3.amazonaws.com/labs.pdf • 記載された手順通りにインストールしてもサービスが起動しないとかスク リプトの実行に失敗するとか色々あるので、困ったときはGitHubの issuesを参照 https://github.com/threatstream/mhn/issues 13
  14. デモ • 言葉の説明だけではModern Honey Networkが何なのか全く伝 わらなかったと思うので、ハニーポットをインストールしながら実際のツー ルを見てみましょう。 14

  15. Sensors (ハニーポット) 15 ref : https://threatstream.github.io/mhn/images/architecture.png

  16. ハニーポットのインストール 16 インストールするハニーポットを選択してコ マンドを実行する。

  17. スクリプトが提供されているハニーポット一覧 17 ハニーポット 対応OS 備考 Conpot Ubuntu ICS/SCADA honeypot Wordpot

    Ubuntu A WordPress Honeypot Shockpot Ubuntu WebApp Honeypot for detecting Shell Shock exploit attempts p0f Ubuntu a passive TCP/IP stack fingerprinting tool Suricata Ubuntu Open Source IDS / IPS / NSM engine Glastopf Ubuntu Web Application Honeypot ElasticHoney Ubuntu A Simple Elasticsearch Honeypot Amun Ubuntu vulnerability emulation honeypot Snort Ubuntu Network Intrusion Detection & Prevention System Cowrie Ubuntu Cowrie SSH Honeypot (based on kippo) Dionaea Ubuntu,CentOS Raspberry Pi A Malware Capturing Honeypot ref : https://github.com/threatstream/mhn/tree/master/scripts
  18. 自作のスクリプト登録も可能 • hpfees, mnemosyneと連携すれば一覧に載っていないハニーポッ トのログもMHNで管理することが出来る。 • Howto: Add Support for

    New Sensors to the MHN · threatstream/mhn Wiki · GitHub https://github.com/threatstream/mhn/wiki/Howto%3A-Add- Support-for-New-Sensors-to-the-MHN 18
  19. 本編から話が少しズレますが。。。。。。。 19 ref : https://honeyscore.shodan.io

  20. Honeypot Or Not? • 有名なSHODANから提供されている。 • IPアドレスを入力して確認すると対象サーバーがハニーポットか、そうで ないかを判定してくれるサイト。 • (自分はこのサイトの存在を最近、知りましたがハニーポット判定の仕

    組みを理解していないので)真偽のほどは不明。。。。。 • 目安にはなるかも? 20
  21. Honeymap 21 ref : https://threatstream.github.io/mhn/images/architecture.png

  22. Honeymap 22

  23. Honeymap • ハニーポットへの攻撃を地図上に、リアルタイムに表示する。 • Cyber Threat Mapsみたいなもの。 https://www.fireeye.com/cyber-map/threat-map.html https://cybermap.kaspersky.com http://map.norsecorp.com/#/

    • GitHub - fw42/honeymap: Real-time websocket stream of GPS events on a fancy SVG world map https://github.com/fw42/honeymap 23
  24. Webapp 24 ref : https://threatstream.github.io/mhn/images/architecture.png

  25. ログの可視化 • ハニーポットから収集したログの可視化(インストール時に設定済みな ので設定は不要) • Attack Stats  攻撃元のIPアドレス・国名、攻撃されているポート番号などの統計情報 •

    Attacks Report  各ハニーポットからのログを時系列で表示 • Payloads Report  収集したログを分類して表示 • Charts  SSHハニーポットの攻撃に使用されたユーザ名やパスワードなどの統計情報 25
  26. Attack Stats 26

  27. Attacks Report 27

  28. Payloads Report 28

  29. Kippo/Cowrie Top Passwords 29 # パスワード (攻撃回数) 1 123456 (233)

    2 support (219) 3 password (200) 4 1234 (129) 5 admin (128) 6 default (126) 7 ubnt (116) 8 service (114) 9 pfsense (109) 10 manager (103) 2018/01/28 – 2018/02/11
  30. Kippo/Cowrie Top Users 30 # ユーザー名 (攻撃回数) 1 admin (1534)

    2 support (247) 3 service (165) 4 oracle (152) 5 postgres (124) 6 user (108) 7 ubnt (108) 8 wp-user (86) 9 test (83) 10 wp-admin (81) 2018/01/28 – 2018/02/11
  31. Kippo/Cowrie Top User/Passwords 31 # ユーザー名/パスワード 1 support/support (213) 2

    admin/default (120) 3 admin/password (116) 4 admin/admin (110) 5 admin/pfsense (109) 6 service/service (108) 7 ubnt/ubnt (107) 8 admin/7ujMko0admin (101) 9 admin/manager (101) 10 admin/1234 (99) 2018/01/28 – 2018/02/11
  32. Kippo/Cowrie Top Attackers 32 # 送信元 (攻撃回数) 1 アメリカ合衆国 (624)

    2 ドイツ連邦共和国 (299) 3 チェコ共和国 (245) 4 大韓民国 (218) 5 アメリカ合衆国 (170) 6 フランス共和国 (160) 7 中華人民共和国 (160) 8 フランス共和国 (127) 9 ロシア連邦 (123) 10 フランス共和国 (120) 2018/01/28 – 2018/02/11
  33. REST API 33 ref : https://threatstream.github.io/mhn/images/architecture.png

  34. REST API • コマンドラインからjson形式で情報を取得できる  過去4時間の攻撃元のIPアドレス  特定の日時のログ  特定の攻撃元IPアドレスのログ

     特定のハニーポットのログ など • Webappでは特定条件の情報しか収集できないが、APIを使えば条 件を柔軟に変更できる。 • MHN REST APIs · threatstream/mhn Wiki · GitHub https://github.com/threatstream/mhn/wiki/MHN-REST-APIs 34
  35. API KEYの確認 35 ① [Settings]をクリックする。 ② Apikeyを確認する。

  36. コマンドの実行例① • 2018/1/29のcowrieへの攻撃ログを取得する。 • 過去24時間で攻撃回数の多いものTOP5を取得する。 36 $ curl "https://example.com/api/session/?api_key=xxxx&honeypot=cowrie&times tamp=01-29-2018"

    $ curl "https://example.com/api/top_attackers/?api_key=xxxx&hours_ago=24&li mit=5"
  37. コマンドの実行例② • IPアドレスxxx.xxx.xxx.xxxからの攻撃情報を取得する。 • Glastopfのログ情報を取得する。 37 $ curl "https://example.com/api/attacker_stats/xxx.xxx.xxx.xxx/?api_key=xxx xxxxxx"

    $ curl "https://example.com/api/feed/?api_key=xxxxxxxxxx&channel=glastopf.e vents"
  38. 3rd party apps 38 ref : https://threatstream.github.io/mhn/images/architecture.png

  39. Splunkと連携 39

  40. Splunkと連携 • Splunkのインストール用スクリプトは提供されていないので、自分でイ ンストールする。 • スクリプトを実行して、Splunkで読み込ませるためのログを生成する。 • MHNのアドオンをインストールすると、ダッシュボードを自動で作成して くれる。 https://splunkbase.splunk.com/app/2707/

    40 # cd /opt/mhn/scripts/ # ./install_hpfeeds-logger-splunk.sh