Slide 1

Slide 1 text

稼働監視サービスを活用した
 C2サーバの観測
 第35回ゼロから始めるセキュリティ入門 勉強会
 2020/03/30
 hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)


Slide 2

Slide 2 text

自己紹介


Slide 3

Slide 3 text

アジェンダ
 1 はじめに
 2 稼働監視について
 3 無料のサーバ監視サービス
 4 観測対象のC2サーバ選定
 5 監視サービスを利用したC2サーバの観測
 6 その他の情報源
 ■参考情報
  UptimeRobot.com - https://uptimerobot.com
  StatusCake.com - https://app.statuscake.com
  Freshping.io - https://app.freshping.io
  HowFast.tech - https://www.howfast.tech/ 
  httpstatus.io - https://httpstatus.io 
  Censys.io - https://censys.io 
  Shodan.io - https://shodan.io 
  Hybrid-Analysis.com - https://hybrid-analysis.com 
  JoeSandbox.com - https://joesandbox.com 
 ※C2サーバの観測は、
  公開情報へのアクセスであり、
  不正アクセスには当たりません。


Slide 4

Slide 4 text

4 1 はじめに


Slide 5

Slide 5 text

こんなことありませんか?
 5 ”監視を自動化したいけど、RPAは・・・”
 ”ハニーポットが落ちてることに気付けない”
 ”クラウドの監視どうしたらいいの?”
 ”ログが更新されていなかった”
 ”SSHでログインできなくなった”
 ”VPSの監視では機能が貧弱”
 今日は、無料のサーバ監視サービスを
 使ったC2サーバ観測をご紹介!


Slide 6

Slide 6 text

2 稼働監視について
 6

Slide 7

Slide 7 text

7 稼働監視と運用監視
 
 稼働監視
 運用監視
 目的
 主にサーバ機器やネットワーク機器が 正常に動作していることを監視。
 主にシステムが正常に処理できている ことを監視。
 範囲
 システムの稼働に必要なサーバ機器と ネットワーク機器を監視範囲とする。
 個々のシステムを監視範囲とする。
 (バッチジョブ、バックアップ運用等)
 レベル
 L1(リソース:メモリ、ディスク)
 L3~L4レベル(IPとポート)
 L7レベル(アプリケーション)
 L7レベル(アプリケーション)
 監視方法
 SNMP(MIB)、ICMP(ping)、
 TCPコネクション、HTTP/HTTPS、
 監視エージェント
 ログ監視(SIEM)、API
 監視エージェント、ジョブスケジューラ
 通報
 しきい値監視
 (しきい値を超えたら通報)
 ステータス監視
 (異常終了時に通報)


Slide 8

Slide 8 text

8 
 クラウド
 オンプレミス
 HW障害
 障害が発生したホスト上のVMは別ホス トに移動されるので、障害を意識しな い。
 クラスタを組んでいない場合は、当該ホ ストがダウンすると、システムもダウン する。
 NW障害
 障害が発生したNWは別経路に切り替 わるので、障害を意識しない。
 NWを冗長化していない場合は、通信断 が発生する。
 ファームウェア
 不具合
 クラウド事業者がファームウェアのパッ チ更新を行うので意識しない。
 運用保守業者が更新したファームウェ アに問題があると不具合が発生する。 更新のためにシステム停止が必要な場 合がある。
 ドライバ
 不具合
 クラウド事業者がドライバのパッチ更新 を行うので意識しない。
 運用保守業者が更新したドライバに問 題があると不具合が発生する。更新の ためにシステム停止が必要な場合があ る。
 空調の
 不具合
 大規模な障害を除けば、意識しない。
 (AWSで大規模障害はあったが・・・)
 空調機器の不具合はよく発生する。
 (空調をお客さんが切っちゃうとかね )
 クラウドとオンプレミスにおける障害影響範囲


Slide 9

Slide 9 text

エージェント監視
 エージェントレス監視
 
 
 ×エージェントのインストールが必要。
 ×即死の場合、通知されない。
 ●CPU使用率、メモリ使用率、ディスク空き
  容量、バッチジョブの状態などが分かる。
 
 ※主な製品
  JP1、SystemWalker、WebSAM、Tivoli Netcool、 
  Zabbix、Nagios、MRTG、Cacti、mackerl、 
  Munin、Datadog など 
 ●エージェントのインストール不要。
 ×ポーリングなので監視タイミンング抜けがある。
 ×ネットワークの導通、サービスの死活しか
  分からない。
 
 ※SNMPエージェント以外のエージェントは不要という 
  製品や、SSH/TELNETでログインして監視対象から 
  情報を収集する方式をエージェントレスと呼ぶ場合も 
  ある。
  ここでは、ICMPやTCPコネクション、HTTPリクエスト 
  のみで監視することをエージェントレスと呼ぶ。 
 9 エージェント監視とエージェントレス監視
 監視システム
 (マネージャ)
 監視対象 (エージェント) 監視対象 (エージェント) 監視対象 (エージェント) 監視システム
 監視対象 監視対象 監視対象

Slide 10

Slide 10 text

3 無料のサーバ監視サービス
 10

Slide 11

Slide 11 text

※UptimeRobotがおススメ(GUIが一番わかりやすい。RSSフィードあり)
 ※類似のサービスとして、Pingdom.com、Site24x7.com などがある
  が、いずれも 30 Days Trial だった。
 ※類似のサービスを探すのに便利なサイト「AlternativeTo.net」
  https://alternativeto.net/software/uptimerobot/
 11 監視サービス
 国
 監視
 間隔
 監視
 上限
 スマホ
 アプリ
 Eメー ル
 SMS
 Slack
 Twitter
 UptimeRobot.com
 アメリカ
 5
 50
 〇
 〇
 △
 〇
 DM
 StatusCake.com
 イギリス
 5
 10
 〇
 〇
 △
 〇
 Tweet
 Freshping.io
 フランス
 1
 50
 ×
 〇
 ×
 〇
 ×
 HowFast.tech
 フランス
 1
 30
 ×
 〇
 ×
 〇
 ×
 SavaMoni.com
 日本
 5
 10
 ×
 〇
 ×
 ×
 ×
 無料のサーバ監視サービス

Slide 12

Slide 12 text

12 監視サービス
 HTTP
 HTTPS
 キーワード
 ※
 DNS
 FTP
 SMTP
 TCP
 Port
 UDP
 Port
 ICMP
 Ping
 UptimeRobot.com
 〇
 〇
 × × × 〇 × 〇 StatusCake.com
 〇
 ×
 × × × 〇 × 〇 Freshping.io
 〇
 ×
 〇 × × 〇 〇 〇 HowFast.tech
 〇
 ×
 ×
 ×
 ×
 ×
 × ×
 SavaMoni.com
 〇
 〇
 〇 〇 〇 一部
 NTP 〇 サーバ監視サービスごとの対応プロトコル インターネット・プロトコル ・スイート(TCP/IP) プロトコル 7 アプリケーション HTTP/HTTPS、DNS、 FTP、SMTP 6 5 4 トランスポート TCP、UDP 3 インターネット IP(IPv4/IPv6)、ICMP   PPP、 PPPoE 2 ARP、RARP 1 リンク Ethernet、Wi-Fi HTTP/HTTPS、TCP Portの監 視ができれば、C2サーバの観 測には十分


Slide 13

Slide 13 text

13 4 観測対象のC2サーバ選定


Slide 14

Slide 14 text

ダウンローダーのアクセス先URLを観測することで、いち早くペイ
 ロードのデプロイを知ることができる。
 14 マルウェア感染に関わるC2サーバ
 現在主流のマルウェア感染手法では、VBAマクロや PowerShell スクリ プトが仕込まれたOfficeドキュメントがダウンローダ(ドロッパー)として 添付されている。
 C2サーバ ペイロード
 (マルウェア本体) ■参考情報
 ・防ぎきれない攻撃を検知するため利用が広がるIoC、課題や限界を踏まえた上での利用が不可欠
  https://www.cybernet.co.jp/carbonblack/tips/06.html
 監視サービス 定期的に観測

Slide 15

Slide 15 text

15 どうやってC2サーバを知るのか(1/2)
 ■Twitter で流行りのマルウェアを知るのがおススメ(海外アカウント)


Slide 16

Slide 16 text

16 どうやってC2サーバを知るのか(2/2)
 ■Twitter で流行りのマルウェアを知るのがおススメ(国内アカウント)


Slide 17

Slide 17 text

17 Any.Run の Public submissions
 ◆EmotetのPowerShell難読化解除~Any.RunとCyberChefの使い方~
 https://speakerdeck.com/ctrl_z3r0/remove-obfuscation-in-emotet-powershellscript-20200129 Phorpiex(フォルピエックス)で検索。
 ※2020-02-08~2020-03-23ごろまで活動。
  件名は、顔文字 ⇒ :-) ;) :-D :)
  Nemtyランサムウェア、コインマイナーに感染
 ■Any.Runの解析結果から検索


Slide 18

Slide 18 text

18 Any.Run の Public submissions
 http://tldrbox.top/1~6
 http://92.63.197.225/1~6
 にアクセスすることが判明
 ■HTTP REQUESTS でURLを確認


Slide 19

Slide 19 text

19 VirusTotal の Passive DNS
 攻撃者は、IPアドレスやドメイン名を使いまわす傾向にある。
 Passive DNSは、特定のドメイン名が時間の経過とともにどのように変化し、それが他のドメイ ンやIPアドレスとどのような関連を持っているか履歴として保存したもの。
 ◆What is Passive DNS? A beginner's guide - Deteque 
  https://www.deteque.com/news/passive-dns/ ■VTで、DNS関連の情報を収集


Slide 20

Slide 20 text

20 VirusTotal の URLs
 ■IP⇒RELATIONS⇒URLs (IPに関連したURL情報)
 数字.exeや、数字.txt、n.txtなど
  数字.exe:ダウンローダー?
  数字:コインマイナーモジュールなど
  数字.txt:送信リスト、n.txt:リストの最大値
 #!/bin/sh for i in $(seq 1 2129);do wget -b http://92.63.197.190/x/$i.txt -U "Mozilla/6.0" done 例えば、こんなスクリプトで、送信リストをダウンロードでき てました。
 Sextortion向けSPAMリスト、42,562,674 件!

Slide 21

Slide 21 text

21 Hybrid-Analysisの検索結果
 ■右上の検索窓から、IPアドレスを検索
 Hybrid-Analysisでは、IPアドレスでの 検索が可能。Any.Runよりはサンプル が少ないが、参考になる。


Slide 22

Slide 22 text

22 JoeSandboxの検索結果
 ■右上の検索窓から、IPアドレスを検索
 さらにサンプルが少ないが、 JoeSandboxでも、IPアドレスで の検索が可能。


Slide 23

Slide 23 text

23 Censys.io と Shodan.io
 ■攻撃者は、同じSSHキーでC2サーバを用意することが多い
 別IPのHTTP/HTTPSや、 SSH、FTPの死活監視も
 並行して実施。


Slide 24

Slide 24 text

5 監視サービスを利用したC2サーバの観測
 24

Slide 25

Slide 25 text

25 C2サーバ観測までの流れ
 アクション
 参考情報・入手元
 不審メールの検知
 ツイート、ブログへのポスト、
 注意喚起情報など
 マルウェアの入手・解析
  または
 マルウェアの解析結果の入手
 Any.RunやHybrid-Analysisの最近の解析結果
 ツイート中のハッシュ値
 C2サーバのIPアドレス、URL調査
 Any.Run、Hybrid-Analysis、VirusTotalの情報
 ツイートなど
 C2サーバのIPアドレス、URL導通確認
 check-host.netによる導通
 httpstatus.ioによるHTTPヘッダー確認
 C2サーバのコンテンツ調査
 DIRBによるコンテンツスキャン
 監視サービスへのモニター設定
 UptimeRobot.com、StatusCake.com
 Freshping.ioなど
 追加IPアドレスの調査
 Censys.io、Shodan.io
 ■検知から加速サービスへの登録までの大まかな流れ


Slide 26

Slide 26 text

26 UptimeRobotのDashboard
 ■UptimeRobotのDashboard イメージ
 現在のステータス
 過去のイベント


Slide 27

Slide 27 text

27 UptimeRobotのモニター設定
 ■UptimeRobotのモニター設定
 HTTP(s)の設定
 TCPポートの設定


Slide 28

Slide 28 text

28 UptimeRobotの通知設定
 ■UptimeRobotの通知設定
 SlackのWebHookURLを指定する と、Slackに通知ができる。


Slide 29

Slide 29 text

29 StatusCakeのDashboard
 ■StatusCakeのDashboardイメージ
 現在のステータス
 時系列の状態を知る には個別の詳細画面


Slide 30

Slide 30 text

30 StatusCakeのモニター設定
 ■StatusCakeのモニター設定
 複数の海外拠点からポーリング することが可能。


Slide 31

Slide 31 text

31 StatusCakeの通知設定
 ■StatusCakeの通知設定
 Public Tweetとしてツイート することが可能(DM不可)
 Slack連携も可能


Slide 32

Slide 32 text

32 FreshpingのDashboard
 ■FreshpingのDashboardイメージ
 現在のステータス


Slide 33

Slide 33 text

33 Freshpingのモニター設定
 ■Freshpingのモニター設定
 1分間隔のポーリングが可能
 (他サービスでは有償オプション)


Slide 34

Slide 34 text

34 Freshpingの通知設定
 ■Freshpingの通知設定
 SlackのWebHookURLを指定する と、Slackに通知ができる。


Slide 35

Slide 35 text

35 HowFastのDashboard
 ■HowFastのDashboardイメージ
 現在のステータス


Slide 36

Slide 36 text

36 HowFastのモニター設定
 ■HowFastのモニター設定


Slide 37

Slide 37 text

37 HowFastの通知設定
 ■HowFastの通知設定
 SlackのWebHookURLとChannelを指定 すると、Slackに通知ができる。


Slide 38

Slide 38 text

38 スマホアプリ通知やSlack連携
 ■アプリ通知やSlack連携が便利
 Freshpingは1分間隔なので、5分間隔 のUptime Robotより通知が早い。
 Uptime Robotは、スマホアプリへの 通知ができる。


Slide 39

Slide 39 text

39 User-Agent: Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/) User-Agent: StatusCake/Pretest (Statuscake.com) User-Agent: FreshpingBot/1.0 (+https://freshping.io/) User-Agent: HowFastBot/1.3 (howfast.tech) User-Agentを把握しておこう
 ■PhorpiexのC2サーバで、User-Agentの対策がされた
 Uptime Robotだと 404 Not Found
 ptime Robotだと 200 OK
 2020-04-06以降、 Uptime Robotの対策 は解除された


Slide 40

Slide 40 text

40 5 その他の情報源


Slide 41

Slide 41 text

41 DIRB(Web Content Scanner)
 $ dirb http://tldrbox.top/ /usr/share/dirb/wordlists/vulns/phorpiex.txt ----------------- DIRB v2.22 By The Dark Raver ----------------- START_TIME: Mon Apr 6 10:56:05 2020 URL_BASE: http://tldrbox.top/ WORDLIST_FILES: /usr/share/dirb/wordlists/vulns/phorpiex.txt ----------------- GENERATED WORDS: 133 ---- Scanning URL: http://tldrbox.top/ ---- + http://tldrbox.top/2 (CODE:200|SIZE:129032) + http://tldrbox.top/3 (CODE:200|SIZE:129032) + http://tldrbox.top/1.exe (CODE:200|SIZE:128512) + http://tldrbox.top/11.exe (CODE:200|SIZE:128512) + http://tldrbox.top/a.exe (CODE:200|SIZE:128512) + http://tldrbox.top/o.exe (CODE:200|SIZE:128512) + http://tldrbox.top/t.exe (CODE:200|SIZE:128512) + http://tldrbox.top/xxx/ (CODE:403|SIZE:306) ----------------- END_TIME: Mon Apr 6 10:56:38 2020 DOWNLOADED: 133 - FOUND: 8 ◆DIRB | Penetration Testing Tools 
  https://tools.kali.org/web-applications/dirb ■dirbコマンド(Webコンテンツスキャナー)
 URLのパスをWordList(辞書) として指定。カスタマイズすると 効率よくスキャンできる。
 ---- Scanning URL: http://tldrbox.top/ ---- + http://tldrbox.top/2 (CODE:200|SIZE:129032) + http://tldrbox.top/3 (CODE:200|SIZE:129032) + http://tldrbox.top/1.exe (CODE:200|SIZE:128512) + http://tldrbox.top/11.exe (CODE:200|SIZE:128512) + http://tldrbox.top/a.exe (CODE:200|SIZE:128512) + http://tldrbox.top/o.exe (CODE:200|SIZE:128512) + http://tldrbox.top/t.exe (CODE:200|SIZE:128512) + http://tldrbox.top/xxx/ (CODE:403|SIZE:306)

Slide 42

Slide 42 text

42 httpstatus.io
 ■Last-Modified などのヘッダを確認
 こちらのIPは先方にはバレないが、
 User-Agentはバレるので注意。


Slide 43

Slide 43 text

43 Last-Modified の観測
 ■Last-Modified を観測することで、攻撃者の動きが分かる
 ペイロードが置かれた時刻が、
 Last-Modifiedに反映される。


Slide 44

Slide 44 text

44 まとめ
 ◆用途に合ったサービスを選ぼう!
 ◆C2サーバやマルウェア配付サイトを観測できるぞ!
 ◆知り得た情報を基に、新たな観測をしてみよう!

Slide 45

Slide 45 text

ご清聴ありがとうございました。
 45 質問はお気軽にDMでどうぞ
 @catnap707


Slide 46

Slide 46 text

46