$30 off During Our Annual Pro Sale. View Details »

Observe_C2Servers_via_MonitoringService-20200330.pdf

hiro
March 30, 2020

 Observe_C2Servers_via_MonitoringService-20200330.pdf

hiro

March 30, 2020
Tweet

More Decks by hiro

Other Decks in Technology

Transcript

  1. 稼働監視サービスを活用した

    C2サーバの観測

    第35回ゼロから始めるセキュリティ入門 勉強会

    2020/03/30

    hiro(@ctrl_z3r0) a.k.a ねこさん⚡(@catnap707)


    View Slide

  2. 自己紹介


    View Slide

  3. アジェンダ

    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サーバの観測は、

     公開情報へのアクセスであり、

     不正アクセスには当たりません。


    View Slide

  4. 4
    1 はじめに


    View Slide

  5. こんなことありませんか?

    5
    ”監視を自動化したいけど、RPAは・・・”

    ”ハニーポットが落ちてることに気付けない”

    ”クラウドの監視どうしたらいいの?”

    ”ログが更新されていなかった”

    ”SSHでログインできなくなった”

    ”VPSの監視では機能が貧弱”

    今日は、無料のサーバ監視サービスを

    使ったC2サーバ観測をご紹介!


    View Slide

  6. 2 稼働監視について

    6

    View Slide

  7. 7
    稼働監視と運用監視

    
 稼働監視
 運用監視

    目的

    主にサーバ機器やネットワーク機器が
    正常に動作していることを監視。

    主にシステムが正常に処理できている
    ことを監視。

    範囲

    システムの稼働に必要なサーバ機器と
    ネットワーク機器を監視範囲とする。

    個々のシステムを監視範囲とする。

    (バッチジョブ、バックアップ運用等)

    レベル

    L1(リソース:メモリ、ディスク)

    L3~L4レベル(IPとポート)

    L7レベル(アプリケーション)

    L7レベル(アプリケーション)

    監視方法

    SNMP(MIB)、ICMP(ping)、

    TCPコネクション、HTTP/HTTPS、

    監視エージェント

    ログ監視(SIEM)、API

    監視エージェント、ジョブスケジューラ

    通報

    しきい値監視

    (しきい値を超えたら通報)

    ステータス監視

    (異常終了時に通報)


    View Slide

  8. 8
    
 クラウド
 オンプレミス

    HW障害

    障害が発生したホスト上のVMは別ホス
    トに移動されるので、障害を意識しな
    い。

    クラスタを組んでいない場合は、当該ホ
    ストがダウンすると、システムもダウン
    する。

    NW障害

    障害が発生したNWは別経路に切り替
    わるので、障害を意識しない。

    NWを冗長化していない場合は、通信断
    が発生する。

    ファームウェア

    不具合

    クラウド事業者がファームウェアのパッ
    チ更新を行うので意識しない。

    運用保守業者が更新したファームウェ
    アに問題があると不具合が発生する。
    更新のためにシステム停止が必要な場
    合がある。

    ドライバ

    不具合

    クラウド事業者がドライバのパッチ更新
    を行うので意識しない。

    運用保守業者が更新したドライバに問
    題があると不具合が発生する。更新の
    ためにシステム停止が必要な場合があ
    る。

    空調の

    不具合

    大規模な障害を除けば、意識しない。

    (AWSで大規模障害はあったが・・・)

    空調機器の不具合はよく発生する。

    (空調をお客さんが切っちゃうとかね
    )

    クラウドとオンプレミスにおける障害影響範囲


    View Slide

  9. エージェント監視
 エージェントレス監視

    
 

    ×エージェントのインストールが必要。

    ×即死の場合、通知されない。

    ●CPU使用率、メモリ使用率、ディスク空き

     容量、バッチジョブの状態などが分かる。


    ※主な製品

     JP1、SystemWalker、WebSAM、Tivoli Netcool、 

     Zabbix、Nagios、MRTG、Cacti、mackerl、 

     Munin、Datadog など 

    ●エージェントのインストール不要。

    ×ポーリングなので監視タイミンング抜けがある。

    ×ネットワークの導通、サービスの死活しか

     分からない。


    ※SNMPエージェント以外のエージェントは不要という 

     製品や、SSH/TELNETでログインして監視対象から 

     情報を収集する方式をエージェントレスと呼ぶ場合も 

     ある。

     ここでは、ICMPやTCPコネクション、HTTPリクエスト 

     のみで監視することをエージェントレスと呼ぶ。 

    9
    エージェント監視とエージェントレス監視

    監視システム

    (マネージャ)

    監視対象
    (エージェント)
    監視対象
    (エージェント)
    監視対象
    (エージェント)
    監視システム

    監視対象 監視対象 監視対象

    View Slide

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

    10

    View Slide

  11. ※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
 ×
 〇
 ×
 ×
 ×

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

    View Slide

  12. 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サーバの観
    測には十分


    View Slide

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


    View Slide

  14. ダウンローダーのアクセス先URLを観測することで、いち早くペイ

    ロードのデプロイを知ることができる。

    14
    マルウェア感染に関わるC2サーバ

    現在主流のマルウェア感染手法では、VBAマクロや PowerShell スクリ
    プトが仕込まれたOfficeドキュメントがダウンローダ(ドロッパー)として
    添付されている。

    C2サーバ
    ペイロード

    (マルウェア本体)
    ■参考情報

    ・防ぎきれない攻撃を検知するため利用が広がるIoC、課題や限界を踏まえた上での利用が不可欠

     https://www.cybernet.co.jp/carbonblack/tips/06.html

    監視サービス
    定期的に観測

    View Slide

  15. 15
    どうやってC2サーバを知るのか(1/2)

    ■Twitter で流行りのマルウェアを知るのがおススメ(海外アカウント)


    View Slide

  16. 16
    どうやってC2サーバを知るのか(2/2)

    ■Twitter で流行りのマルウェアを知るのがおススメ(国内アカウント)


    View Slide

  17. 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の解析結果から検索


    View Slide

  18. 18
    Any.Run の Public submissions

    http://tldrbox.top/1~6

    http://92.63.197.225/1~6

    にアクセスすることが判明

    ■HTTP REQUESTS でURLを確認


    View Slide

  19. 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関連の情報を収集


    View Slide

  20. 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 件!

    View Slide

  21. 21
    Hybrid-Analysisの検索結果

    ■右上の検索窓から、IPアドレスを検索

    Hybrid-Analysisでは、IPアドレスでの
    検索が可能。Any.Runよりはサンプル
    が少ないが、参考になる。


    View Slide

  22. 22
    JoeSandboxの検索結果

    ■右上の検索窓から、IPアドレスを検索

    さらにサンプルが少ないが、
    JoeSandboxでも、IPアドレスで
    の検索が可能。


    View Slide

  23. 23
    Censys.io と Shodan.io

    ■攻撃者は、同じSSHキーでC2サーバを用意することが多い

    別IPのHTTP/HTTPSや、
    SSH、FTPの死活監視も

    並行して実施。


    View Slide

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

    24

    View Slide

  25. 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

    ■検知から加速サービスへの登録までの大まかな流れ


    View Slide

  26. 26
    UptimeRobotのDashboard

    ■UptimeRobotのDashboard イメージ

    現在のステータス

    過去のイベント


    View Slide

  27. 27
    UptimeRobotのモニター設定

    ■UptimeRobotのモニター設定

    HTTP(s)の設定

    TCPポートの設定


    View Slide

  28. 28
    UptimeRobotの通知設定

    ■UptimeRobotの通知設定

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


    View Slide

  29. 29
    StatusCakeのDashboard

    ■StatusCakeのDashboardイメージ

    現在のステータス

    時系列の状態を知る
    には個別の詳細画面


    View Slide

  30. 30
    StatusCakeのモニター設定

    ■StatusCakeのモニター設定

    複数の海外拠点からポーリング
    することが可能。


    View Slide

  31. 31
    StatusCakeの通知設定

    ■StatusCakeの通知設定

    Public Tweetとしてツイート
    することが可能(DM不可)

    Slack連携も可能


    View Slide

  32. 32
    FreshpingのDashboard

    ■FreshpingのDashboardイメージ

    現在のステータス


    View Slide

  33. 33
    Freshpingのモニター設定

    ■Freshpingのモニター設定

    1分間隔のポーリングが可能

    (他サービスでは有償オプション)


    View Slide

  34. 34
    Freshpingの通知設定

    ■Freshpingの通知設定

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


    View Slide

  35. 35
    HowFastのDashboard

    ■HowFastのDashboardイメージ

    現在のステータス


    View Slide

  36. 36
    HowFastのモニター設定

    ■HowFastのモニター設定


    View Slide

  37. 37
    HowFastの通知設定

    ■HowFastの通知設定

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


    View Slide

  38. 38
    スマホアプリ通知やSlack連携

    ■アプリ通知やSlack連携が便利

    Freshpingは1分間隔なので、5分間隔
    のUptime Robotより通知が早い。

    Uptime Robotは、スマホアプリへの
    通知ができる。


    View Slide

  39. 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の対策
    は解除された


    View Slide

  40. 40
    5 その他の情報源


    View Slide

  41. 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)

    View Slide

  42. 42
    httpstatus.io

    ■Last-Modified などのヘッダを確認

    こちらのIPは先方にはバレないが、

    User-Agentはバレるので注意。


    View Slide

  43. 43
    Last-Modified の観測

    ■Last-Modified を観測することで、攻撃者の動きが分かる

    ペイロードが置かれた時刻が、

    Last-Modifiedに反映される。


    View Slide

  44. 44
    まとめ

    ◆用途に合ったサービスを選ぼう!

    ◆C2サーバやマルウェア配付サイトを観測できるぞ!

    ◆知り得た情報を基に、新たな観測をしてみよう!

    View Slide

  45. ご清聴ありがとうございました。

    45
    質問はお気軽にDMでどうぞ

    @catnap707


    View Slide

  46. 46

    View Slide