Conti

Exchangeサーバーがランサムウェアの攻撃を受けました。Splunkを使用して、攻撃者がどのようにしてサーバーを侵害したのかを調査してください。

Conti
https://tryhackme.com/room/contiransomwarehgh

Contiとは?

Conti(コンティ)は、2020年頃から猛威を振るった、極めて凶悪なロシア拠点のランサムウェア(身代金要求型ウイルス)グループ、およびその暗号化プログラムのことです。

最大の破壊的特徴は、データを暗号化するだけでなく、事前に機密データを盗み出し「身代金を払わなければ暴露する」と脅す「二重脅迫(ダブルエクストーション)」の手法を確立した点にあります。また、標的のインフラを徹底的に調査してから一気に攻撃を仕掛ける「標的型(人間主導型)」のスタイルを取り、医療機関や政府機関、大企業を容赦なく襲いました。

さらに、Contiは「RaaS(Ransomware as a Service)」と呼ばれるビジネスモデルを展開し、開発者と攻撃実行者が利益を分配する高度な分業制(まるで一般企業のような組織体制)を敷いていたことでも知られています。

2022年のロシアによるウクライナ侵攻の際、Contiがロシア政府への支持を表明したことで、内部メンバーによるチャットログやソースコードが大量にリーク(ContiLeaks)され、組織としての活動は事実上の解散に追い込まれました。しかし、元メンバーらは現在も他のランサムウェアグループに分散し、その技術や手法は受け継がれ続けています。

Task1 SITREP(Situation Report)

【シチュエーション(背景)】

  • 社内の複数の従業員から「Outlookにログインできない」という報告があった。
  • Exchangeサーバーのシステム管理者からも「Exchange Admin Center(管理画面)にログインできない」との報告があった。
  • 初期トリアージ(初期調査)を行った結果、Exchangeサーバー上に不審な「readme(リードミー)」ファイルが配置されているのが発見された。
  • これは Conti(コンティ)ランサムウェア による被害が発生したことを示唆している。

【タスクの目的と環境】

  • 添付されているログ分析ツール「Splunk」を利用して、このインシデントに関する不審なアクティビティを調査・分析すること。

【アクセス情報・資格情報】

  • ツール: Splunk(OpenVPN経由、またはAttackBoxからアクセス)
  • URL: http://MACHINE_IP:8000 (※MACHINE_IPは起動したマシンのIPアドレス)
  • ユーザー名: bellybear
  • パスワード: password!!!

【注意事項】

  • 脅迫状(Ransom Note)内に記載されているURLには、絶対にアクセスしたりインタラクトしたりしないこと。

SITREPとは

SITREP は、Situation Report(シチュエーション・レポート:状況報告) の略語です。

もともとは軍事用語(ミリタリー用語)で、戦況や部隊の現在のステータスを上層部や他部隊に迅速かつ正確に伝えるための定型報告を指していました。それが現在では、ITインシデント対応、災害対策、ビジネスのプロジェクト管理などの世界でも広く使われています。

インシデント対応(まさにこのランサムウェア対応のような場面)におけるSITREPは、以下のような要素を簡潔にまとめたものを指します。

  • 何が起きたか(現状): 例「Exchangeサーバーが暗号化され、Outlookにログインできない」
  • 現在判明している影響範囲: 例「全社メールが停止、影響ユーザー約100名」
  • 現在行っている対応(アクション): 例「Splunkを使ったログ分析を開始」
  • 次のステップ / 必要な支援: 例「〇〇時までに初期の不審IPを特定予定」

要点だけを箇条書きなどでタイムリーに共有する報告スタイル」です。

Splunkとは

Splunk(スプランク)は、サーバー、ネットワーク機器、アプリケーション、セキュリティデバイスなど、ITインフラ全体から出力される膨大な「マシンデータ(ログ)」をリアルタイムで収集・統合し、検索・分析・可視化するためのデータ分析プラットフォームです。

最大の特徴は、形式がバラバラなテキストデータをスキーマ(構造)なしでそのまま取り込み、強力な独自言語「SPL(Search Processing Language)」を使って、Google検索のように高速かつ柔軟に検索・集計できる点にあります。データの関連付けやタイムラインの復元が容易なため、特にサイバーセキュリティの分野では、インシデント発生時の原因究明や脅威ハンティングに欠かせない、SIEM(Security Information and Event Management : セキュリティ情報イベント管理)の代表格として世界中で広く導入されています。

ダッシュボード機能も強力で、複雑なログの推移をリアルタイムにグラフ化し、異常検知やアラート通知の自動化も可能です。

近年では、クラウド環境の監視(オブザーバビリティ)やAIを活用した分析機能の強化も進んでおり、セキュリティ対応からIT運用の効率化まで、企業のデータ活用を支える強力な基盤となっています。

Task2 Exchange Server Compromised

【現在の状況(エラーの検知)】 Exchange管理者や一般従業員が、ExchangeやOutlookに関連するサービス(メール送信や管理画面)にアクセスしようとした際、具体的に以下のエラーメッセージ画面(またはアクセス不能状態)が表示されています。

  • Exchange Control Panel (ECP): 管理画面にアクセスできない
  • Outlook Web Access (OWA): Webメールシステムにアクセスできない

【あなたへの任務(タスク)】

  • あなたは、このインシデント(Contiランサムウェアの襲撃)を調査する担当アナリストに任命されました。
  • 構築されたSplunk環境を活用し、ログデータを分析して、ルームの下部に提示されている一連のクエスチョン(問題)に回答していくことが求められます。

💡 調査を進めるにあたってのポイント

いよいよ「実践的なログ調査(脅威ハンティング)」を行います。Contiのような高度なランサムウェアは、一瞬でサーバーを暗号化するわけではありません。一般的には以下のようなフェーズ(タイムライン)を経て進行します。

ランサムウェア攻撃のプロセス. 出典: Akamai
https://www.akamai.com/ja/glossary/what-is-ransomware 

  1. 初期侵入(Initial Access): フィッシングメールや、Exchangeの脆弱性(ProxyLogon等)を突いた不正アクセス。
  2. 権限昇格・横展開(Lateral Movement): ドメイン管理者権限の奪取、他のサーバーへの偵察。
  3. 防御回避(Defense Evasion): セキュリティソフトの停止やログの消去。
  4. データの窃奪と暗号化(Exfiltration & Encryption): 機密データを外部へ転送した後、ランサムウェアを実行。

Splunkで「インデックス(index=*)」や「ソースタイプ(sourcetype)」を確認しながら、攻撃者がいつ、どこから侵入し、どんなコマンドを実行したのか、クエスチョンに沿って紐解いていきましょう!

Question

Can you identify the location of the ransomware?
そのランサムウェアがどこにあるか特定できますか?

Answer

Task1からランサムウェアが「Readme.txt」ファイルを作成していることがわかります。Splunkでファイル作成のイベントを検索します。「readme」を含むファイルを作成イベントを検索します。

コードスニペット
index=* EventCode=11 TargetFilename="*readme*" 

検索結果から、通常のパスではない不審なcmd.exeが見つかります。


What is the Sysmon event ID for the related file creation event?
関連するファイル作成イベントに対応するSysmonイベントIDは何ですか?

Answer

ファイル作成のSysmonイベントIDは11です。


Can you find the MD5 hash of the ransomware?
このランサムウェアのMD5ハッシュを見つけられますか?

Answer

Answer

ランサムウェアのプロセス起動のログを検索します。プロセス起動はイベントID=1です。

コードスニペット
index=* EventCode=1 Image="C:\\Users\\Administrator\\Documents\\cmd.exe"
| table _time, Image, Hashes

このMD5ハッシュをVirus Totalで検索すると、Contiランサムウェアであることがわかります。


What file was saved to multiple folder locations?
どのファイルが複数のフォルダに保存されましたか?

Answer

ランサムウェアによって、さまざまなフォルダに「ReadMe.txt」が作成されています。「readme」が含まれるファイル作成イベントを検索します。

コードスニペット
index=* EventCode=11 TargetFilename="*readme*" 
| table _time,TargetFilename

What was the command the attacker used to add a new user to the compromised system?
攻撃者は、侵害されたシステムに新しいユーザーを追加するために、どのようなコマンドを使用したのでしょうか?

Answer

Answer

ユーザを追加する「net user /add」コマンドを検索します。

コードスニペット
index=* EventCode=1 CommandLine="*net*user*/add*"
| table _time, Computer, User, Image, CommandLine

「net  user /add securityninja hardToHack123$」でユーザが追加されていることがわかります。また作成したユーザを「Remote Desktop Users」グループに追加していることもわかります。RDPによるラテラルムーブメントのためだと考えられます。

「net.exe」と「net1.exe」

「net.exe」は16ビット環境との互換性を保つためのラッパーです。「net.exe」を実行すると、32/64ビット環境の「net1.exe」が実行されます。


The attacker migrated the process for better persistence. What is the migrated process image (executable), and what is the original process image (executable) when the attacker got on the system?
攻撃者は、より強固な永続性を確保するためにプロセスを移行しました。移行後のプロセスイメージ(実行ファイル)とは何ですか?また、攻撃者がシステムに侵入した時点での元のプロセスイメージ(実行ファイル)とは何ですか?

Answer

SysmonイベントID 8の検索するというヒントがあります。Sysmon(System Monitor)の Event ID 8(CreateRemoteThread) は、あるプロセスが別のプロセスの中に新しくスレッドを作成した(送り込んだ)ときに記録されるイベントです。

セキュリティアナリストがインシデント調査を行う際、このイベントコードは 「最も危険で警戒すべきサイバー攻撃の痕跡(プロセスインジェクション)」 として扱われます。

イベントID 8で検索したイベントのうち、以下のフィールドに注目します。

  • SourceImage
    攻撃者が最初に侵入したオリジナルのプロセス
  • TargetImage
    永続化のために乗り換えた移行先のプロセス
コードスニペット
index=* EventCode=8
| table _time, SourceImage, TargetImage, StartFunction

powershell.exeがオリジナルのプロセスで、unsecapp.exeへ移行しています。また、さらにlsass.exeへ移行しています。lsass.exeへ移行して認証情報の取得を狙っているものと考えられます。


The attacker also retrieved the system hashes. What is the process image used for getting the system hashes?
攻撃者はシステムのハッシュ値も取得しました。システムのハッシュ値を取得するために使用されたプロセスイメージとは何ですか?

Answer

最終的にlsass.exeに移行しています。lsass.exe は、Local Security Authority Subsystem Service(ローカルセキュリティ認証サブシステムサービス) の略で、Windows オペレーティングシステムにおいてセキュリティとユーザー認証の核心を担う最重要の正規プロセスです。Windowsは、ユーザーが一度ログインすると、毎回パスワードを入力しなくても他の共有フォルダーや社内システムにアクセスできるように、認証情報(暗号化されたパスワードハッシュや、設定によっては平文のパスワード)を lsass.exe のメモリ内 に一時的に保持する仕組みを持っています。lsass.exeのメモリをダンプすることで、NTLMハッシュやKerberosチケットを取得できます。


What is the web shell the exploit deployed to the system?
このエクスプロイトがシステムに展開したWebシェルとは何ですか?

Answer

ヒントにあるようにIISのログからPOSTを検索します。Webshellでよく利用する.aspxファイルでフィルタもかけます。

コードスニペット
index=* sourcetype=iis cs_method=POST cs_uri_stem="*.aspx"
| table _time, c_ip, cs_uri_stem, sc_status

What is the command line that executed this web shell?
このWebシェルを実行したコマンドラインは何ですか?

Answer

「i3gfPctK1c2x.aspx」を含むCommandLineを検索します。

コードスニペット
index=* CommandLine="*i3gfPctK1c2x.aspx*"
| table _time, Computer, User, Image, CommandLine


What three CVEs did this exploit leverage? Provide the answer in ascending order.
このエクスプロイトは、どの3つのCVEを悪用しましたか? 答えを昇順で挙げてください。

Answer

CVE-2018-13374 / CVE-2018-13379(Fortinet FortiGateの脆弱性) 社外から安全に接続するためのVPN機器(FortiGate)の脆弱性です。攻撃者はこれを悪用して、認証をバイパスしたり、VPNのログイン資格情報(パスワードなど)が詰まったシステムファイルを外部から不正にダウンロード(ディレクトリトラバーサル)して、社内ネットワークへの最初の「鍵」を手に入れました。

CVE-2020-0796(通称:SMBGhost) Windowsのファイル共有プロトコル(SMBv3)に存在した、極めて深刻なリモートコード実行(RCE)の脆弱性です。攻撃者はVPN経由で社内ネットワークに侵入した後、このSMBGhostを悪用して、ターゲットとなるWindowsサーバーに一瞬でSYSTEM権限(最高権限)のバックドアを作成しました。