Atomic Red Teamのインストールとセキュリティテスト

Atomic Red Team

今回は、ITセキュリティ業界で標準的に用いられているテストツールである、「Atomic Red Team」を使ったデバイスのセキュリティテストを実践してみます。

情シス担当なら「当社のセキュリティ製品は、正しく動いてくれているだろうか」と考えたことは一度はあるだろうと思います。今回のAtomic Red Teamは、デバイスに対してダミーの攻撃を行うことで、防御が成功したか、あるいはすり抜けたかを確認できるオープンソースの試験ツールです。

Atomic Red Teamの公式ページには、以下のように記載されております。

Atomic Red Team is an open source library of tests designed to test your organization’s security controls, and this website is designed to help security teams better understand Atomic Red Team and the related collection of free and open source tools.
(Atomic Red Teamは、組織のセキュリティ制御をテストするために設計されたテストのオープンソースライブラリであり、このWebサイトは、セキュリティチームがAtomic Red Teamおよび関連する無料のオープンソースツール群をより深く理解できるように設計されています)

このツールの手順を正しく理解して実施すれば、ペネトレーションテスト(ダミーのサイバー攻撃を行い、内部システムに侵入を試みるテスト)として役に立ちますし、組織の現在の防御力を客観的に測ることができます。また、疑似的な攻撃とはいえ、Microsoft Defender for Endpoint(MDE)をはじめとしたEPP/EDR製品を導入していれば、実際に管理ポータルにアラートが上がり、そのアラートをトレーニングとして解析することも可能です。

ここでは、実際にAtomic Red Teamのテスト環境をインストールし、いくつかのシナリオを実際に実行してみます

Atomic Red Team利用の前の注意点

Atomic Red Teamをインストールして利用する前に、注意しておきたい点を記載します。

  • 会社の業務用PCでは実行しない

ダミーであるとはいえ攻撃コードを実行します。どこでどんなアラートが出るかわかりません。会社のSOC、監視センターから緊急連絡が来たり、PCがネットワーク隔離される可能性もあります。ですので、検証用のPCを用いて、また、業務用のネットワークとは別な検証環境で行いましょう。もしくは、実行する前に管理者に許可を取ったほうがよいでしょう。

  • 仮想マシンの利用

VMware WorkstationやHyper-Vなどの仮想マシンを使いましょう。Windows 11やWindows Serverの評価版ISOを使えば、無料で環境構築が可能です。

  • スナップショットの利用

環境を汚したり、システムが不安定になる可能性があります。共用の検証PCであれば、作業前に仮想マシンのスナップショットを取得し、いつでも綺麗な状態に戻せるようにしておくのも、IT検証環境を整えておくという点でエンジニアには大事なことです。

Atomic Red Teamインストール

それでは、インストール作業に入ります。手順自体はPowerShellを使うため非常に簡単ですが、いくつかコツがあります。仮想環境で実施している方は、ここでスナップショットを取得します。

前準備

Atomic Red Teamのテストファイルが、アンチウイルスに検知されて削除されないように、Defenderの「リアルタイム保護」を一時的にオフにします。Windows 11の設定 -> プライバシーとセキュリティ -> Windows セキュリティ -> ウイルスと脅威の防止 -> ウイルスと脅威の防止の設定の、設定の管理でオフにできます。後ほど記載もありますが、実際にAtomic Red Teamを動かす際は、リアルタイム保護はオンにしますので、アンチウイルスの検出能力の評価という観点では変わりはありません。

インストール

PowerShellを管理者として実行します。以下のコマンドを順番に入力します。

Set-ExecutionPolicy Bypass -Scope CurrentUser
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1');
Install-AtomicRedTeam -getAtomics -Force

先頭行のSet-ExecutionPolicy Bypass…は、PowerShellのスクリプト実行制限を解除するコマンドです。続くIEX…行は、GitHubからinstall-atomicredteam.ps1をダウンロードしております。最後のInstall-AtomicRedTeam…は、文字通りAtomic Red Teamをインストールしております。途中で出てくる質問は「すべて続行(A)」、「はい(Y)」を選びます。2分程度でインストールは完了します。

除外の設定

ファイルエクスプローラーでC:\AtomicRedTeamフォルダが作成されているの確認します。ここに大量の「疑似マルウェア」が入っております。今回は、Defenderのリアルタイム保護で監視しながらAtomicRedTeamを動かしたいので、このフォルダに除外設定します。

やり方は、設定 -> プライバシーとセキュリティ -> Windowsセキュリティ -> ウイルスと脅威の防止 -> ウイルスと脅威の防止内の設定の管理 -> 除外の中の除外の追加または削除 -> 除外ボタンをクリック -> C:\AtomicRedTeam を指定します。

除外設定後は、再度リアルタイム保護をオンにします。これでWindows 11の通常の検出能力のままで、Atomic Red Teamを試せます。

PC再起動時の注意

PCを再起動すると、Atomic Red Teamのモジュールが読み込まれていない状態になります。その場合は、以下のコマンドでモジュールを再インポートしてください。

Test-Path “C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1”

Atomic Red Teamのモジュールファイルが存在するか確認します。これでTureとでれば、以下のコマンドを投入します。Falseの場合は、Atomic Red Teamの再インストールが必要です。

Import-Module "C:\AtomicRedTeam\invoke-atomicredteam\Invoke-AtomicRedTeam.psd1" -Force

PC再起動後、PowerShellセッションはリセットされるため、モジュールを再度読み込む必要があります。このコマンド投入後から、Atomic Red Teamの各種コマンドが使えるようになります。

攻撃シナリオ

ここでは、Mimikatz攻撃のT1059.001とファイルレス攻撃としてT1281.010を実施し、Defenderアンチウイルスの性能を試してみます。

Mimikatzによる認証情報奪取の攻撃 – T1059.001

PowerShellを使ってMimikatzと呼ばれるツールを実行するシナリオを試します。Mimikatzは、メモリ内にあるハッシュされたパスワード情報を盗み出し、アカウントを乗っ取るためによく使われるツールです。管理者モードで起動したPowerShellで以下を実行します。

Invoke-AtomicTest T1059.001 -TestNumbers 1

Mimikatzがブロックされていることが確認できます。また、Windows通知領域にも「脅威が見つかりました」などと出ていると思います。Defender保護履歴も確認しますと、以下の通り重大なアラートとして記録されております。

Mimikatzとはメモリの中にある認証パスワードを盗み出して、アカウントを乗っ取ろうとするものです。多くの横展開攻撃はこういった、エンドユーザーのパスワードが盗み取られることから始まり、また、何らかの監視システムを入れていないと管理者は気が付くことが難しいとされております。

なお、現実の攻撃では、Mimikatzがそのまま使われることはまずありませんが、攻撃者は似たような攻撃でユーザーの認証情報を盗み出そうとします。

Regsvr32によるファイルレス攻撃 – T1218.010

続いて、ファイルレス攻撃の一種である「Regsvr32」の悪用パターンを試します。これはWindowsの正規の機能を使って、リモート上のスクリプトなどを実行させる手法として悪用されます。

Invoke-AtomicTest T1218.010 -TestNumbers 1

電卓(calc.exe)が立ち上がったら、攻撃シナリオは「成功」です。つまり、Defenderアンチウイルスをすり抜けたということです。今回の場合は、アンチウイルスの検知機能が低かったというわけではなく、おそらくは、電卓アプリが危険性は非常に低いと判断し、アンチウイルスがあえて見逃したのでしょう。

ただし、現実の攻撃者はこの仕組みを悪用し、電卓ではなくランサムウェアのダウンローダーなどを動かそうとします。従来のアンチウイルスだけでは防ぎきれない攻撃がある、という例になります。

まとめ

スナップショットを作成している場合は、ここでスナップショットで復元しておきます。

今回は、Atomic Red Teamのインストールおよび基本的な攻撃シナリオを実行しました。動かし方を実践してみました。

  • Mimikatzのような既知の脅威は、標準のDefenderでブロックできる
  • Regsvr32のような巧妙な手口は、すり抜けてしまうことがある

次回は、この攻撃ログはMDEではどのようにアラートが見えているか、プロセスツリーで攻撃の全体像を可視化する方法について、深掘りしていきたいと思います。

コメント

タイトルとURLをコピーしました