Page 1 A-3. サイバー攻撃の痕跡調査 明治大学 服部裕之
Page 2 演習ストーリー 数日前に PC で不審なメールを受信し 添付ファイルを開いたとの連絡があった そこで PC の調査を行うことになった
Page 3 メニュー 1 痕跡調査 演習 1. 証拠保全 2. イベントログによる攻撃ツール実行の痕跡調査 2 感染拡大 演習 1. 資格情報を使った感染拡大の手法
Page 4 実習概要 sjk-pc sjk-victim-pc sjk-dc00 攻撃側 PC 感染側 PC ADサーバ 実習 2 実習 1 遠隔操作による PC の調査 侵入拡大 PC の証拠保全 実習 3 イベントログによる痕跡調査 実習 4 感染拡大 10.10.20.1 10.10.10.10 10.10.10.200 PC 教室 LAN 内部ネットワーク
Page 5 実習 1 遠隔操作による PC の調査 侵入拡大 攻撃側 PC から 感染側 PC の調査を行い 他 PC への侵入拡大を図る Virtual Box( 仮想環境 ) 攻撃側 PC 2 感染側 PC に送り込んだ調査用のコマンドを起動 RAT コントローラー (C&C サーバ ) 感染側 PC 1 添付ファイルを開きマルウェアに感染 3 調査用のコマンドが実行 RAT
被害側組織で行うことは? Page 6 PC の調査 実習 2 実習 3 実習 3 証拠保全 PCの詳細調査に必要な情報を保全状況把握 マルウェアに感染しているのか? どんなマルウェアなのか? 痕跡調査 なにをされたのか? 情報漏えいや内部侵入の形跡はないか? マルウェアの駆除システムの復旧 被害拡大の防止 通信制限の強化やネットワークの遮断 補足 1 参照 ネットワークの調査 痕跡調査 補足 2 参照
実習 2 PC の証拠保全 Page 7 PC の詳細調査 ( フォレンジック ) に必要な情報を ツールを用いて採取し 保全する Virtual Box( 仮想環境 ) 攻撃側 PC 感染側 PC 1 証拠保全 RAT コントローラー (C&C サーバ ) RAT
Page 8 証拠保全ツール 実習で使用 FTK Imager Lite http://accessdata.com/product-download/ftk-imager-lite-version- 3.1.1 本格的なフォレンジックで使用 FastIR https://sekoialab.github.io/fastir_collector/ 簡易的なフォレンジックで使用
Page 9 証拠保全の対象 メモリ ネットワーク情報 プロセス情報 ユーザー入力情報 ハードディスク イベントログ レジストリ システムファイル 感染側 PC 1 証拠保全 ツール HDD メモリ 2 3 詳細調査 ( フォレンジック )
Page 10 証拠保全の留意点 なるべく現状のままで保全を 稼働中のシステムでやみくもな調査を行うことによって 後のフォレンジック作業の妨げになることも マルウェアが自己消去してしまう可能性も PCの電源を切らない 再起動もしない ネットワークケーブルは抜かない 証拠保全は インシデント発覚時の初期段階で実施 特定非営利活動法人デジタル フォレンジック研究会 証拠保全ガイドライン第 7 版 2018 年 7 月 20 日 https://digitalforensic.jp/wp-content/uploads/2018/07/guideline_7th.pdf
実習 3 イベントログによる痕跡調査 Page 11 イベントログより マルウェア感染の確認と遠隔操作の内容を調査する Virtual Box( 仮想環境 ) 攻撃側 PC 感染側 PC 1 イベントログからマルウェア感染を確認する 2 遠隔操作の内容を調査する RAT コントローラー (C&C サーバ ) RAT
イベントログの調査ツール Page 12 実習で使用 イベントビューアー (OS 付属 ) スタートメニュー 右クリック イベントビューアー Event Log Explorer https://eventlogxp.com/jap/ 30 日評価版あり 個人用途ならば無料で使用可能 検索や表示画面のカスタマイズ機能が優れている
Page 13 Event Log Explorer イベント一覧 イベントログ の 選択 イベント詳細
Page 14 痕跡調査のストーリー Bozok client.exe 攻撃側 PC 感染側 PC 10.10.20.1 10.10.10.10 ( 演習 1) 起動 ( 遠隔操作 ) Remote Shell ネットワーク ( コマンド指令 ) 不審なプロセスプロセス名? PID=??? 生成 ( 演習 2) プロセス名? 子プロセス PID=??? 生成 ( 演習 3) コマンド名? PID=??? 内部調査コマンド (systeminfo 等 )
Page 15 演習 1 解答 プロセス名 (Image) C: Users sjk99 Desktop A3 bozok server.exe プロセス起動日時 (Date/Time) Date: 2018/8/24 Time: 13:00:00( 日本時間 ) プロセス番号 (Process ID) ( 例 ) 2364 (*1) 実行ユーザ名 (User) SJK-VICTIM-PC sjk99 送信元 IP アドレス (Source IP) 10.10.10.10 送信先 IP アドレス (Destination IP) 10.10.20.1
Page 16 演習 2 解答 コマンド名 (CommandLine) cmd コマンド起動日時 (Date/Time) Date:2018/8/24 Time:13:00:01( 日本時間 ) プロセス番号 (Process ID) ( 例 ) 484 (*2) 親のプロセス番号 (ParentProcessID) ( 例 )2364 ( 演習 1 の (*1) と同じ値 )
Page 17 プロセスの相関 (RemoteShell) Bozok client.exe 攻撃側 PC 感染側 PC 10.10.20.1 10.10.10.10 ( 遠隔操作 ) ネットワーク PID=xxxx server.exe 起動生成 cmd.exeの親プロセス PID=yyyy Remote Shell ( コマンド指令 ) cmd.exe 生成 内部調査コマンドの 親プロセス PID=zzzz 内部調査コマンド (systeminfo 等 )
Page 18 演習 3 解答 コマンド起動日時 (Date/Time) コマンド名 (CommandLine) 1 2018/8/24 13:01:00 systeminfo 2 2018/8/24 13:01:02 whoami 3 2018/8/24 13:01:04 net user sjk99 OS の構成情報を調査 自分のユーザ名を調査 登録されているユーザ名を調査 4 2018/8/24 13:01:05 net config workstation 5 2018/8/24 13:01:06 net use 6 2018/8/24 13:01:10 powershell start-process cmd -ArgmentList '/k "cd tool ticket & tool mimikatz ドメイン構成を調査 共有フォルダの構成を調査 後ほど解説 privilege::debug sekurlsa::logonpasswords sekurlsa::tickets /export exit" -verb runas
Page 19 演習 4 解答 演習 1 より ログオン名が ( sjk99 ) である利用者が遠隔操作マルウェア Bozok に感染したことがわかった 演習 2 3 より 遠隔操作により感染側 PC 上で cmd が起動し 合計 ( 6 ) 個のコマンドが実行されたことがわかった 攻撃者はこれらのコマンドを用いて PC の ( 内部調査 ) を行った模様である
実習 4 感染拡大 Page 20 感染 PC を基点として 他 PC やサーバへの侵入を拡大する Virtual Box( 仮想環境 ) 感染側 PC AD サーバ 1 入手したパスワードハッシュを用いて AD サーバへのアクセスを行う RAT リモートアクセス
Page 21 端末間での侵害拡大 他端末へ攻撃 外部からコントロールできる端末を複数台 確保する 主な手法 Pass the Hash 攻撃 Pass the Ticket 攻撃 オートコンプリート機能による保存パスワードの盗用 補足 3 C&C サーバ 基盤拡大用端末 潜伏用端末 攻撃者 指令用端末 RAT 感染 侵入拡大 (ID/PW の盗用 ) 情報送信用端末 情報収集用端末
Page 22 アクセス権限 システムのセキュリティは パスワード で守られている ユーザ名 :XXX パスワード :Tx#$&bxl! ユーザ名 :XXX パスワード :Tx#$&bxl! ユーザ名 :XXX パスワード :Tx#$&bxl! パスワード! ログオン ファイル共有 プリンタ共有 リモートデスクトップ etc. いちいちパスワードを入力しないサービスも
資格情報はどこに保存されているのか? (Windows の場合 ) Pass-the-Hash 攻撃で利用 パスワードのハッシュ値 Kerberosチケット ADドメインサーバ AD SAM データベース データベース ドメインユーザ Page 23 ローカルユーザ Pass-the-Ticket 攻撃で利用 メモリ (lsass.exe) LSAプロセス : 認証時に利用されたユーザIDとパスワードをキャッシュ
Page 24 Pass the Hash 攻撃 Windows の認証を回避し ユーザ ID とパスワードのハッシュ値のみを使い不正アクセスする手法 生のパスワードが分からなくても アクセスできる ドメイン管理の場合 1 台の PC がやられると 全ての PC が被害にあう恐れがある 攻撃者 2 ユーザ ID+ パスワードハッシュを用いて 近隣端末へ不正アクセス Windows ドメイン ドメイン管理者権限が取られれば ドメイン配下の全ての PC は制圧 1 ユーザ ID とパスワードハッシュ値を 入手 マルウェア感染 ユーザ ID + ハッシュ
Page 25 Pass the Ticket 攻撃 ドメイン環境の認証で用いるチケットを不正に使いアクセスする手法 2 種類のチケットを悪用 TGT - Ticket Granting Ticket ST - Service Ticket チケットは偽造可能 1TGT 要求 2TGT 発行 ( ユーザ権限 ) 偽造したチケットのことを Golden Ticket とか Silver Ticket という ドメインコントローラ 攻撃者 TGTやSTを偽造できれば 1~4は不要だな 3ST 要求 (TGT も送る ) 4ST 発行 ( ユーザ権限 ) 5 サービスへ接続 (ST も送る ) サーバ
Page 26 mimikatz Windowsのメモリ上に保持されているアカウントの認証情報にアクセスし 管理者権限の取得や他のアカウントの なりすまし を行うためのツール オープンソース https://github.com/gentilkiwi/mimikatz 改良が早いため EXE 版 DLL 版 PowerShell 版検知困難 機能 資格情報の取得 Petya でも採用 生パスワード ( キャッシュに存在すれば ) NTLMパスワードハッシュ値 Kerberosチケット なりすまし攻撃 Pass-the-Hash Pass-the-Ticket Ticketの偽造
Page 27 pth.bat の中身 c: tool mimikatz privilege::debug sekurlsa::pth /user:administrator /domain:example.jp /ntlm:fadfd3f83688a18eccb30c6054ac5472 /run: " cmd /k psexec sjk-dc00.example.jp cmd " " exit mimikatz sekurlsa::pth Pass-the-hash 攻撃 example.jpドメインのadministrator 権限でコマンド (cmd) を実行 /ntlm:fadfd3f83688a18eccb30c6054ac5472 あらかじめmimikatzで入手したadministratorのNTLMハッシュ値を指定 psexec sjk-dc00.example.jp cmd ドメインコントローラー (sjk-dc00) へリモートアクセスを実行
Page 28 演習 5 解答 (1) hostname 今 操作しているコンピュータのホスト名は ( sjk-dc00 ) である (2) whoami 操作している自分のアカウント名は ( example administrator ) である (3) net user AD に登録されているアカウントで sjkad で始まるのは合計 ( 6 ) 個 存在した
Page 29 演習 4 解答 ( 追加 ) さらにpowershell 経由でmimikatzが起動された 引数にsekurlsa::loginpasswordsや sekurlsa::ticketとあるので 感染端末のメモリやキャッシュに存在している アカウントの ( パスワードハッシュ値 ) や ( kerberosチケット ) などの資格情報が調査された模様である
Page 30 まとめ あらかじめ PC のイベントログによる監視を強化することにより サイバー攻撃の痕跡調査が行える イベントログは攻撃者によって消去されることがあるので注意 イベントログはネットワーク経由で他サーバに保存することが望ましい 端末に残されている資格情報を用いて 他サーバへの侵入拡大が行える 対策は次のセッションで
Page 31 補足 1 被害拡大の防止 外部ネット接続ケーブルの抜線 対応の レベル感 影響範囲大 外部向けファイアウォール 外部との接続を すべて 遮断 外部との接続を 一部のサービス ( 例 : メール ) を除き遮断 C&C サーバとの通信 のみ を遮断 内部用ファイアウォール ( 導入済の場合 ) 重要サーバへの通信の監視強化 通信制限 感染 PC のネット接続ケーブルの抜線 影響範囲小
Page 32 補足 2 ネットワークの調査 ファイアウォール マルウェアに感染した PC から C&C サーバへの通信 ブラウジング中 マルウェアに感染した PC から ダウンロードサイトへの通信 IDS/IPS のアラート Proxy サーバのログ
Page 33 補足 3 オートコンプリート機能で保存されたパスワードの盗用と対策 オートコンプリート 対策 キーボードからの入力を補助する機能 一度ブラウザから入力した ユーザ ID+ パスワード を 次回のアクセスからは自動入力に パスワードは PC 内部に保存されているが 攻撃ツールを用いて取り出し可能 インターネットオプション コンテンツ タブ