あんたいとる

無駄の中に宝がある!

【TryHackMe】Windows Event Logs

Task2 Event Viewer

Windowsシステム内でイベントログにアクセスする方法

  1. イベントビューア(eventvwr.msc)
  2. Wevtutil.exe
  3. Get-WinEvent

ログファイルの保存場所

C:\Windows\System32\winevt\Logs

Task3 wevtutil.exe

ヘルプ

wevtutil.exe /?
wevtutil.exe [COMMAND] /?

オンラインヘルプ

タスク2の解答

  1. Powershellを起動後、wevtutil.exe el | Measure-Object で確認。
  2. wevtutil.exe qe /? の1行目の出力を確認。
  3. wevtutil.exe qe /?/{lf | logfile} の行を確認。
  4. wevtutil.exe qe /?/{q | query} の行を確認。
  5. 解答不要。
  6. Application
  7. wevtutil.exe qe /?/{rd | reversedirection} の行を確認。
  8. wevtutil.exe qe /?/{c | count} の行を確認。

Task4 Get WinEvent

オンラインヘルプ

フィルタリング(基本)

Get-WinEvent -LogName Application | Where-Object { $_.ProviderName -Match 'WLMS' }

フィルタリング(ハッシュテーブル)

Get-WinEvent -Filterhashtable @{
    LogName='Application'
    ProviderName='WLMS'
}
# 使用例
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-PowerShell/Operational'; ID=4104} | Select-Object -Property Message | Select-String -Pattern 'SecureString'

Filterhashtableを使用したクエリの詳細

タスク4の解答

  1. 解答不要。
  2. Get-WinEventのオンラインヘルプの Example1のコマンドを実行した結果を確認。
  3. Get-WinEventのオンラインヘルプの Example8のコマンドの"Policy"部分を"*PowerShell+"に変更して実行した結果を確認。
  4. Get-WinEventのオンラインヘルプの Example9のコマンドを| Measure-Object のようにパイプで渡して出力された結果を確認。
  5. -MaxEvents
  6. ここの「Filterling by Level」の欄に載っている。

Task5 XPath Queries

Microsoft XPath リファレンス

使用例

# アプリケーションログからイベントIDが100のイベントを表示
Get-WinEvent -LogName Application -FilterXPath '*/System/EventID=100'
# アプリケーションログからプロバイダー名が"WLMS"にマッチするイベントを表示
Get-WinEvent -LogName Application -FilterXPath '*/System/Provider[@Name="WLMS"]'
# アプリケーションログからイベントIDが101でかつプロバイダー名が"WLMS"にマッチするイベントを表示
Get-WinEvent -LogName Application -FilterXPath '*/System/EventID=101 and */System/Provider[@Name="WLMS"]'
# セキュリティログからTargetUserNameが"System”にマッチするイベントを表示
Get-WinEvent -LogName Security -FilterXPath '*/EventData/Data[@Name="TargetUserName"]="System"'

タスク6の解答

  1. Get-WinEvent -LogName Application -FilterXPath '*/System/Provider[@Name="WLMS"] and */System/TimeCreated[@SystemTime="2020-12-15T01:09:08.940277500Z"]'
  2. Get-WinEvent -LogName Security -FilterXPath '*/EventData/Data[@Name="TargetUserName"]="Sam" and */System/EventID=4720'
  3. 2の実行結果を確認。
  4. 2の実行結果を確認。
  5. 2の実行結果を確認。
  6. 2の実行結果を確認。

Task6 Event IDs

リソース

Task7 Putting theory into practive

タスク7の解答

  1. PowerShellダウングレード攻撃についてGoogleで検索。
  2. cdでC:\Users\Administrator\Desktopに移動した後、Get-Winevent -path .\merged.evtx -FilterXPath '*/System/EventID=400' を実行し結果を確認。
  3. Googleで「log clear event id」等で調べると、ID=104が出てくるのでイベントビューアでID=104でフィルタする。結果は1つのみなのでそのイベントの詳細画面のXML Viewを表示し、「Event Record ID」欄を確認する。
  4. 3と同じ画面で「Computer」欄を確認する。
  5. Get-Winevent -path .\Desktop\merged.evtx -FilterXPath '*/System/EventID=4104 and */EventData/Data[@Name="ScriptBlockText"]' -oldest -maxevents 1 | fl -property * の結果を確認。
  6. 5の結果から「TimeCreated」欄を確認
  7. 5の結果から「ProcessID」欄を確認。
  8. Googleで「Administrators Group Sid」と検索してみる。Microsoftのページがヒットしたので、内容を確認。BuiltinのAdministratorsグループのSIDの情報が記載されている。
  9. Googleで「Windows Event ID group enumerate」と検索してみると、4788、4799の情報が出てくる。内容を確認すると解答としては4799が相応しそう。

Task8 Conclusion

リソース