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

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

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

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

blackle0pard

February 23, 2018
Tweet

More Decks by blackle0pard

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. 今回の構成
    4
    Splunk
    MHN
    日本
    各インスタンス : 25GB SSD / $5
    1CPU, 1024MB, 1000GB Bandwith フランスなど
    管理サーバー

    View Slide

  5. 注意事項
    • アカウント情報を変更しないで下さい。
    • Twitterなどにアカウント情報を公開しないようにお願いします(公
    開は勉強会の参加者のみです)。
    • アカウント情報は本日中に削除する予定です。
    • 個人利用の範囲であれば、データのダウンロードやキャプチャの取
    得はご自由にどうぞ!
    5

    View Slide

  6. アカウント情報
    6
    • Modern Honey Network
     ログインURL:https://hp.blackle0pard.net/
     Email:[email protected]
     Password:hanipotech0224
    • Splunk
     ログインURL:https://hp.blackle0pard.net:7443
     Email:bee
     Password:hanipotech0224
    勉強会参加者のみに公開m(_ _)m

    View Slide

  7. Modern Honey Network(MHN)とは
    • ハニーポットの管理サーバー
     複数のハニーポットのデータを一つにまとめて、一元管理できるようにする
    • ログの可視化
     ログの集計(過去24時間の攻撃回数、送信元IP、攻撃されたポート番号など)
     SSH系ハニーポットへの攻撃に使用されたユーザ名、パスワードなどの集計
     ログの分類(glastopf、suricata、dionaea、snort)
    • インストール用スクリプトの提供・構築の自動化
     ハニーポット
     ELK(Elasticsearch, Logstash, Kibana)
     Splunkと連携するためのツール
    7

    View Slide

  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

    View Slide

  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
    ハニーポット
    管理サーバー

    View Slide

  10. MHNの良いところ、駄目なところ
    • 良いところ
     構築が簡単。スクリプトを実行するだけで管理サーバー、ハニーポットをインストー
    ルすることができる。
     ログの可視化や集計が簡単にできる。
     使っている人がわりと多いので、何かしらの情報は見つかる(ただし、日本語の情
    報は皆無)。
    • 駄目なところ
     エラーでスクリプトの実行に失敗することが多い気がする(個人的な感想)。
     スクリプトがメンテナンスされていないものもあり、インストールされるバージョンが古
    い場合がある(例:Kibana)。
     デフォルトの場合、集計方法の柔軟性が低い(他のツールと連携する必要があ
    る)。
    10

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  14. デモ
    • 言葉の説明だけではModern Honey Networkが何なのか全く伝
    わらなかったと思うので、ハニーポットをインストールしながら実際のツー
    ルを見てみましょう。
    14

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  19. 本編から話が少しズレますが。。。。。。。
    19
    ref : https://honeyscore.shodan.io

    View Slide

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

    View Slide

  21. Honeymap
    21
    ref : https://threatstream.github.io/mhn/images/architecture.png

    View Slide

  22. Honeymap
    22

    View Slide

  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

    View Slide

  24. Webapp
    24
    ref : https://threatstream.github.io/mhn/images/architecture.png

    View Slide

  25. ログの可視化
    • ハニーポットから収集したログの可視化(インストール時に設定済みな
    ので設定は不要)
    • Attack Stats
     攻撃元のIPアドレス・国名、攻撃されているポート番号などの統計情報
    • Attacks Report
     各ハニーポットからのログを時系列で表示
    • Payloads Report
     収集したログを分類して表示
    • Charts
     SSHハニーポットの攻撃に使用されたユーザ名やパスワードなどの統計情報
    25

    View Slide

  26. Attack Stats
    26

    View Slide

  27. Attacks Report
    27

    View Slide

  28. Payloads Report
    28

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  33. REST API
    33
    ref : https://threatstream.github.io/mhn/images/architecture.png

    View Slide

  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

    View Slide

  35. API KEYの確認
    35
    ① [Settings]をクリックする。
    ② Apikeyを確認する。

    View Slide

  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"

    View Slide

  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"

    View Slide

  38. 3rd party apps
    38
    ref : https://threatstream.github.io/mhn/images/architecture.png

    View Slide

  39. Splunkと連携
    39

    View Slide

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

    View Slide