Slide 1

Slide 1 text

冴えない彼女(ハニポ) の育て方♭ 第7回 ハニーポッター技術交流会 sec chick (せっくちっく)

Slide 2

Slide 2 text

目次

Slide 3

Slide 3 text

Who Am I ● Name: sec chick(せっくちっく) ● Job: プライベートSOCアナリスト ● Hobby: ダンボー撮影 撮影中の周りの目は痛いですが、 私は元気です! Q. ハニポ何台持っている? A. 3台持っています! Q. ハニポの種類は? A. 以下の低対話型ハニーポット WOWHoneypot、Cowrie、 CitrixHoneypot、 Honeytrap

Slide 4

Slide 4 text

今回は 本当は自動化したものを公開しようと思っていま したが、間に合いませんでした。 作成途中の発表になってしまうことを ご了承ください。

Slide 5

Slide 5 text

自動化のきっかけ ● とある日の出来事 君、Splunkのライセンス使いすぎ 今日から1ヶ月利用禁止

Slide 6

Slide 6 text

Splunk ライセンス https://www.splunk.com/ja_jp/software/features-comparison-chart.html

Slide 7

Slide 7 text

Splunk ライセンス フリー版は1日500MBまでの制限 500MBを超える日が30日以内に3回以上あ ると検索もデータ取り込みも不可 https://qiita.com/Kokin-chan/items/a23550bbdb4dc34 448d1 https://www.splunk.com/ja_jp/software/features-comparison-chart.html

Slide 8

Slide 8 text

自動化のきっかけ ● 解析出来ない期間が1ヶ月 とりあえず待つか・・・・・・ →解析意欲が下がる

Slide 9

Slide 9 text

自動化のきっかけ ● 解析出来ない期間が1ヶ月 サーバの容量が限界を迎え、 ログ取り込みが出来ない状態に・・・ →ログのロストにより、分析できない  期間が発生

Slide 10

Slide 10 text

自動化のきっかけ ● 解析出来ない期間が1ヶ月 Splunkを使わずに楽して、できる ものが必要だな

Slide 11

Slide 11 text

自動化の目的 1. 楽にして解析できるデータを収集する →自分の興味があるものを分析するのに時間を使えるようにする 2. 安い基盤でも動ける構成にする →月1000円以下で植えられるようにしたい(みんなが使いやすいものへ) 3. マルウェアの自動収集機能 →Honeytrapでもマルウェアの検知をログに残せるようにする やるなら・・・・ より分析しやいハニーポットを作り、ハニーポッターを増やしたい!!! →もっと、ハニーポットを盛り上げたい!!

Slide 12

Slide 12 text

彼女(ハニポ)の構成

Slide 13

Slide 13 text

ハニポの構成 VPS Docker Honeytrap WOWHoneypot Port 80 WOWHoneypot Port 443

Slide 14

Slide 14 text

自動化フロー

Slide 15

Slide 15 text

フローチャート 1.Docker再起動および ハニーポットの ログログローテート 2.Honeytrapの マルウェアチェック 3.ログをcsv出力 4.Honeytrapの集計および Slack連携 5.WOWHoneypotの集計および Slack連携 1.日時でログローテートし、 Docker を起動 2.Honeytrapのログを確認し マルウェアのダウンロードを狙っ た通信がないかチェック 存在する場合、検知を取得 また、Virustotalへログ連携 3.日時でログローテートされた ファイルをcsvへ変換 4.Honeytrapのログをポート、 IP、マルウェアダウンロード先 で集計し、Slackへ連携 5.WOWHoneypotのログをIP、 URIで集計し、Slackへ連携 URIにはどの製品へのアクセスを 狙ったものかを追記 6.ブログ更新 マルウェアチェックや csv化はpythonで実装

Slide 16

Slide 16 text

ログローテート、Docker再起動

Slide 17

Slide 17 text

Docker再起動、ログローテート ● Dockerの再起動 イメージをリフレッシュするため Dockerを定期的に再起動 docker-compose -f /home/ubuntu/docker/ docker-compose.yml restart ● ログローテート 1日1回のログローテート logrotateで実行 /home/ubuntu/docker/log/honeytrap/l og/attackers.json { ifempty #ログファイルが空でもローテーション dateext #末尾に日付(YYYYMMDD) dateformat _%Y%m%d #日付のフォーマット missingok #ログファイルが存在しなくても エラーを出さずに処理を続行 daily #日次で実行 }

Slide 18

Slide 18 text

Honeytrapのマルウェアチェック

Slide 19

Slide 19 text

マルウェア自動分析フローチャート ● Honeytrapのログからマルウェアの ペイロードがないか確認 ● マルウェアのペイロードが含まれて いるかつ調査済み出ない場合に マルウェアを取得 <正規表現例> .*?wget.+?(https?[\/\w\:\.\-\%]+?)([ ^\/\w\:\.\-\%]|\.\.) .*?wget[\s\+]+([[\/\w\.\-\:\%^(\-g)] {6,}?)([^\/\w\:\.\-\%]|\.\.) .*?curl.+?(https?[\/\w\:\.\-\%]+?)([ ^\/\w\:\.\-\%]|\.\.) Honeytrapの ログをオープン ペイロードに マルウェアURLがな いか確認 マルウェア URL 調査済み マルウェア取得 調査済みリストへ登 録 終了

Slide 20

Slide 20 text

Slack連携

Slide 21

Slide 21 text

フローチャート ● それぞれのハニーポットの CSVファイルを 読み込み ● WOWHoneypot系のログはURLの情報に ターゲット情報を追加 ● 各情報を集計し、Slackへ連携 wow_path_research,target,CVE,reference,Date .env ,env,-,-,2020/1/18 .txt,text,-,-,2020/1/18 /admin/config.php,PHP,-,-,2020/1/18 Honeytrapの csvをオープン IP、ポート、 マルウェアURLを集 計 Slackへ連携 WOWHoneypotの csvをオープン URLにターゲット情 報を追加 IP,URLを集計 Slackへ連携

Slide 22

Slide 22 text

現状のステータス ● CPU 仮想1Core、メモリ 512MB、SSD 25GB でも動いていることを確認 → Honeyttrap、WOWHoneypot(HTTPSでも稼働) ● 新たな攻撃を見つけるために新規パスを検知できるようにしている →正規表現のパターンファイルで紐づけているので、定期的に 配布できたらと考え中 ● マルウェアダウンロードがshellスクリプトであった場合、 検知できないケースがある

Slide 23

Slide 23 text

ハニーポットの楽しみ方

Slide 24

Slide 24 text

ハニーポットの楽しみ方 ハニーポットの楽しみ方はたくさん存在 1. ハニーポットのログを見て、通信の勉強 → ハニーポットのログは悪意ある通信以外にも正常な通信もあるので  調査していくうちに様々な知識がつく 2. ハニーポットの自動化(プログラミングの勉強になる) 3. ハニーポットの情報発信 4. マッチ&レスポンスルールの作成 5. マルウェア解析 6. 社会貢献(悪意あるログを報告) →いくつかは自動化することでハードルが下がるのでは。。。

Slide 25

Slide 25 text

終わりに ● ハニーポットの自動化について発表 ● 自動化することによって自分の好きなことに打ち込める時間が増える (現在のブログ更新時間:何もなければ 5分ぐらいで作成可能) ● 現在、プログラムは鋭意作成中 (Pythonは初めて) - 追加機能をどんどん追加したくなる (どれをオンオフするかは設定できるように調整 ) → 何かこんな機能もあったら、分析に役立つなどあれば、教えてください - 私のプログラム、汚すぎ問題  → コメントアウトはしっかり書こう・・・ - プログラムをあげるタイミングはいつにしよう? → どこまでテストしたらアップロードする? ● 3月末までに公開したい・・・・・

Slide 26

Slide 26 text

おしまい