Shikata Ga Nai

Private? There is no such things.

Atomic Testの実行をやってみた

Hello there, ('ω')ノ

 

PowerShellをつかってフレームワークで、アトミックテストを実行するのに。

使用できるメソッドは、ローカルとリモートがあって。

「ローカル」メソッドでは、フレームワークがインストールされているのと。

同じマシン上でアトミックテストを実行します。

「リモート」メソッドでは、フレームワークが 1 台のマシンにインストールされて。

PowerShellでリモート処理セッションを介して。

リモート マシンでアトミック テストを実行して。

 

リモート実行については、下記のサイトに書いてあって。

 https://github.com/redcanaryco/invoke-atomicredteam/wiki/Execute-Atomic-Tests-(Remote)

 

f:id:ThisIsOne:20210529095511p:plain

 

今回は、T1218.010について。

 

f:id:ThisIsOne:20210529165947p:plain

 

コンマ区切りで、名前または番号で複数のテストを実行でて。

 Invoke-AtomicTest T1218.010 -TestNumbers 2,3

 

もしくは、

 Invoke-AtomicTest T1218.010 -TestNames "Regsvr32 remote COM scriptlet execution", "Regsvr32 local DLL execution"

 

f:id:ThisIsOne:20210529095721p:plain

 

f:id:ThisIsOne:20210529095633p:plain

 

f:id:ThisIsOne:20210529101136p:plain


テスト#2の実行中にアクセスが拒否されたのは。

Windows Defender がこの攻撃手法をブロックした結果で。

この2つのテストは、Windows 10 にない計算アプリを起動しようとしていて。

Windows Defender を無効にして。

 

f:id:ThisIsOne:20210529115650p:plain

 

リアルタイム保護を無効にして。

 Set-MpPreference -DisableRealtimeMonitoring $true

 

再度、下記を実行すると正常に実行されて。

 Invoke-AtomicTest T1218.010 -TestNumbers 2

 

f:id:ThisIsOne:20210529115723p:plain


他には、特定のT#内のすべてのテストを実行する場合は、下記のとおりで。

 Invoke-AtomicTest T1218.010

 

実行すると、アトミック テスト定義のYAMLファイルの場所が表示されて。

 PathToAtomicsFolder = C:\AtomicRedTeam\atomics

 

f:id:ThisIsOne:20210529160046p:plain


また、各アトミック テストには、GUIDと呼ばれる一意の識別子があって。

 Atomic Test GUID: 449aa403-6aba-47ce-8a37-247d21ef0306

 

YAMLファイルや各テストの詳細で確認できて。

テスト名や番号の代わりにGUIDを指定してテストを実行することも。

 Invoke-AtomicTest T1218.010 -TestGuids 449aa403-6aba-47ce-8a37-247d21ef0306

 

f:id:ThisIsOne:20210529161407p:plain

 

それからアトミックテストのログは下記で確認できて。

 cat $env:TEMP\Invoke-AtomicTest-ExecutionLog.csv

 

f:id:ThisIsOne:20210529160921p:plain


Excelで表示すると読みやすく。

 

f:id:ThisIsOne:20210529161238p:plain


Best regards, (^^ゞ