hacktricks/forensics/basic-forensic-methodology/windows-forensics
2024-07-18 18:32:09 +00:00
..
interesting-windows-registry-keys.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
README.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
windows-processes.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00

Windows Artifacts

Windows Artifacts

{% hint style="success" %} AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングの学習と練習: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksのサポート
{% endhint %}

{% embed url="https://websec.nl/" %}

一般的なWindowsアーティファクト

Windows 10通知

パス\Users\<username>\AppData\Local\Microsoft\Windows\Notificationsには、Windows Anniversaryより前のappdb.datまたはWindows Anniversary以降のwpndatabase.dbというデータベースがあります。

このSQLiteデータベース内には、興味深いデータを含む可能性があるすべての通知XML形式を含むNotificationテーブルがあります。

タイムライン

タイムラインは、訪れたWebページ、編集されたドキュメント、実行されたアプリケーションの時間順の履歴を提供するWindowsの特性です。

データベースは、パス\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.dbにあります。このデータベースはSQLiteツールで開くことも、WxTCmdというツールで開くこともできます。これにより、2つのファイルが生成され、TimeLine Explorerで開くことができます。

ADSAlternate Data Streams

ダウンロードされたファイルには、どのようにしてダウンロードされたかを示すADS Zone.Identifierが含まれる場合があります。一部のソフトウェアブラウザなどは、ファイルがダウンロードされたURLなどのさらに多くの情報を通常含めます。

ファイルのバックアップ

リサイクルビン

Vista/Win7/Win8/Win10では、リサイクルビンはドライブのルートにあるフォルダ**$Recycle.bin**にあります(C:\$Recycle.bin)。 このフォルダでファイルが削除されると、2つの特定のファイルが作成されます:

  • $I{id}: ファイル情報(削除された日付)
  • $R{id}: ファイルの内容

これらのファイルを使用して、ツールRifiutiを使用して、削除されたファイルの元のアドレスと削除された日付を取得できますVista Win10用にrifiuti-vista.exeを使用します)。

.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle

ボリュームシャドウコピー

シャドウコピーは、Microsoft Windowsに含まれる技術で、コンピュータファイルやボリュームのバックアップコピーやスナップショットを作成できます。それらが使用中であってもです。

これらのバックアップは通常、ファイルシステムのルートの\System Volume Informationにあり、名前は以下の画像に示されているUIDで構成されています:

ArsenalImageMounterを使用してフォレンジックイメージをマウントすると、ツールShadowCopyViewを使用してシャドウコピーを検査し、シャドウコピーのバックアップからファイルを抽出することができます。

レジストリエントリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestoreには、バックアップしないファイルとキーが含まれています:

レジストリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSSには、Volume Shadow Copiesに関する構成情報も含まれています。

オフィスの自動保存ファイル

オフィスの自動保存ファイルは、C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\にあります。

シェルアイテム

シェルアイテムは、別のファイルにアクセスする方法に関する情報を含むアイテムです。

最近のドキュメントLNK

Windowsは、ユーザーがファイルを開いたり使用したり作成したりすると、これらのショートカット自動的に作成します:

  • Win7-Win10: C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\
  • Office: C:\Users\\AppData\Roaming\Microsoft\Office\Recent\

フォルダが作成されると、そのフォルダへのリンク、親フォルダへのリンク、祖父フォルダへのリンクも作成されます。

これら自動的に作成されたリンクファイルには、ファイルまたはフォルダであるか、そのファイルのMACタイム、ファイルが保存されている場所のボリューム情報ターゲットファイルのフォルダが含まれる情報があります。これらの情報は、削除された場合にこれらのファイルを回復するのに役立ちます。

また、リンクファイルの作成日は、元のファイルが最初に使用された時間であり、リンクファイルの変更日は、元のファイルが最後に使用された時間です。

これらのファイルを検査するには、LinkParserを使用できます。

このツールでは、2つのセットのタイムスタンプが見つかります:

  • 最初のセット:
  1. FileModifiedDate
  2. FileAccessDate
  3. FileCreationDate
  • 2番目のセット:
  1. LinkModifiedDate
  2. LinkAccessDate
  3. LinkCreationDate.

最初のセットのタイムスタンプは、ファイル自体のタイムスタンプを参照します。2番目のセットは、リンクされたファイルのタイムスタンプを参照します。

同じ情報を取得するには、Windows CLIツールLECmd.exeを実行できます。

LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs

ジャンプリスト

これらは、アプリケーションごとに示される最近使用されたファイルです。それぞれのアプリケーションでアクセスできる最近使用されたファイルのリストです。これらは自動的に作成されるか、カスタムで作成されることがあります。

自動的に作成されるジャンプリストは、C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\に保存されます。ジャンプリストは、初期IDがアプリケーションのIDである{id}.autmaticDestinations-msという形式に従って命名されます。

カスタムジャンプリストは、C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\に保存され、通常はアプリケーションによって作成されます。これはファイルに何か重要なことが起こったためかもしれません(お気に入りとしてマークされたかもしれません)。

どのジャンプリストの作成時刻は、ファイルにアクセスされた最初の時間を示し、変更時刻は最後の時間を示します。

JumplistExplorerを使用してジャンプリストを調査できます。

JumplistExplorerによって提供されるタイムスタンプは、ジャンプリストファイル自体に関連しています

シェルバッグ

こちらのリンクを参照して、シェルバッグとは何かを学びます。

Windows USBの使用

USBデバイスが使用されたことを特定することが可能です。これは次のようなものの作成によって可能になります

  • Windows Recentフォルダ
  • Microsoft Office Recentフォルダ
  • ジャンプリスト

一部のLNKファイルは、元のパスを指す代わりにWPDNSEフォルダを指します

フォルダWPDNSE内のファイルは、元のファイルのコピーであり、したがってPCの再起動を行うと消えます。GUIDはシェルバッグから取得されます。

レジストリ情報

USB接続されたデバイスに関する興味深い情報を含むレジストリキーについては、このページを確認してください

setupapi

USB接続が行われたタイムスタンプを取得するには、ファイルC:\Windows\inf\setupapi.dev.logを確認してください(Section startを検索)。

USB Detective

USBDetectiveを使用して、イメージに接続されたUSBデバイスに関する情報を取得できます。

プラグアンドプレイのクリーンアップ

「プラグアンドプレイのクリーンアップ」として知られるスケジュールされたタスクは、古いドライバーバージョンを削除するために主に設計されています。最新のドライバーパッケージバージョンを保持することが明示されているにもかかわらず、オンラインソースによると、過去30日間非アクティブだったドライバーも対象となる可能性があります。その結果、過去30日間接続されていないリムーバブルデバイスのドライバーは削除の対象となる場合があります。

このタスクは次の場所にあります: C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup

タスクの内容を示すスクリーンショットが提供されています:

タスクの主要なコンポーネントと設定:

  • pnpclean.dll: このDLLは実際のクリーンアッププロセスを担当しています。
  • UseUnifiedSchedulingEngine: TRUEに設定されており、一般的なタスクスケジューリングエンジンの使用を示しています。
  • MaintenanceSettings:
  • Period ('P1M'): タスクスケジューラに、定期的な自動メンテナンス中に月次のクリーンアップタスクを開始するよう指示します。
  • Deadline ('P2M'): タスクスケジューラに、2か月連続でタスクが失敗した場合、緊急時の自動メンテナンス中にタスクを実行するよう指示します。

この構成により、ドライバーの定期的なメンテナンスとクリーンアップが確保され、連続した失敗の場合にタスクを再試行するための規定がされています。

詳細はこちらを参照: https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html

メール

メールには2つの興味深い部分が含まれます: ヘッダーとコンテンツです。ヘッダーには次のような情報が含まれます:

  • メールを送信したメールアドレス、IP、メールをリダイレクトしたメールサーバー
  • メールがいつ送信されたか

また、ReferencesIn-Reply-Toヘッダー内にはメッセージのIDが含まれています

Windowsメールアプリ

このアプリケーションは、メールをHTMLまたはテキストで保存します。メールは\Users\<username>\AppData\Local\Comms\Unistore\data\3\内のサブフォルダ内に保存されます。メールは.dat拡張子で保存されます。

メールのメタデータ連絡先EDBデータベース内に見つけることができます:\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol

ファイルの拡張子を.volから.edbに変更し、ESEDatabaseViewツールを使用して開くことができます。Messageテーブル内にメールが表示されます。

Microsoft Outlook

ExchangeサーバーまたはOutlookクライアントが使用されている場合、いくつかのMAPIヘッダーが存在します

  • Mapi-Client-Submit-Time: メールが送信されたシステムの時間
  • Mapi-Conversation-Index: スレッドの子メッセージ数とスレッドの各メッセージのタイムスタンプ
  • Mapi-Entry-ID: メッセージ識別子
  • Mappi-Message-FlagsおよびPr_last_Verb-Executed: MAPIクライアントに関する情報メッセージは既読ですか未読ですか返信済みですかリダイレクトされましたかオフィスを外出中ですか

Microsoft Outlookクライアントでは、送受信したすべてのメッセージ、連絡先データ、およびカレンダーデータが次のPSTファイルに保存されます

  • %USERPROFILE%\Local Settings\Application Data\Microsoft\OutlookWinXP
  • %USERPROFILE%\AppData\Local\Microsoft\Outlook

レジストリパスHKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlookは使用されているファイルを示します。

PSTファイルはKernel PST Viewerツールを使用して開くことができます。

Microsoft Outlook OST Files

OSTファイルは、Microsoft OutlookがIMAPまたはExchangeサーバーと構成されているときに生成され、PSTファイルと同様の情報を保存します。このファイルはサーバーと同期され、過去12ヶ月分のデータを最大50GBまで保持し、PSTファイルと同じディレクトリにあります。OSTファイルを表示するには、Kernel OST viewerを利用できます。

添付ファイルの取得

失われた添付ファイルは次の場所から回復できる場合があります:

  • IE10の場合:%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook
  • IE11以降の場合:%APPDATA%\Local\Microsoft\InetCache\Content.Outlook

Thunderbird MBOX Files

Thunderbirdはデータを保存するためにMBOXファイルを使用し、\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profilesにあります。

画像サムネイル

  • Windows XPおよび8-8.1:サムネイルが含まれるフォルダにアクセスすると、削除後も画像プレビューを保存するthumbs.dbファイルが生成されます。
  • Windows 7/10thumbs.dbはUNCパス経由でネットワークにアクセスすると作成されます。
  • Windows Vista以降:サムネイルプレビューは%userprofile%\AppData\Local\Microsoft\Windows\Explorerに集約され、thumbcache_xxx.dbという名前のファイルがあります。ThumbsviewerThumbCache Viewerはこれらのファイルを表示するためのツールです。

Windowsレジストリ情報

Windowsレジストリは、広範なシステムおよびユーザーのアクティビティデータを保存しており、次のファイルに含まれています

  • HKEY_LOCAL_MACHINEのさまざまなサブキーには、%windir%\System32\Configにファイルがあります。
  • HKEY_CURRENT_USERには、%UserProfile%{User}\NTUSER.DATにファイルがあります。
  • Windows Vista以降のバージョンでは、%Windir%\System32\Config\RegBack\HKEY_LOCAL_MACHINEレジストリファイルのバックアップがあります。
  • さらに、プログラムの実行情報は、Windows VistaおよびWindows 2008 Server以降の%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DATに保存されます。

ツール

いくつかのツールがレジストリファイルを分析するのに役立ちます:

  • レジストリエディタWindowsにインストールされています。現在のセッションのWindowsレジストリをナビゲートするためのGUIです。
  • Registry Explorerレジストリファイルをロードし、GUIでそれらをナビゲートできます。興味深い情報を持つキーをハイライトするブックマークも含まれています。
  • RegRipper:再び、ロードされたレジストリをナビゲートし、ロードされたレジストリ内の興味深い情報をハイライトするプラグインも含まれています。
  • Windows Registry Recovery重要な情報を抽出できる別のGUIアプリケーションです。

削除された要素の回復

キーが削除されると、それが削除されたことがマークされますが、そのスペースが必要になるまで削除されません。したがって、Registry Explorerなどのツールを使用すると、これらの削除されたキーを回復することが可能です。

最終更新時刻

各キー・値には、最後に変更された時刻を示すタイムスタンプが含まれています。

SAM

ファイル/ハイブSAMには、システムのユーザー、グループ、ユーザーパスワードのハッシュが含まれています。

SAM\Domains\Account\Usersでは、ユーザー名、RID、最終ログイン、最終失敗ログオン、ログインカウンター、パスワードポリシー、アカウント作成日などを取得できます。ハッシュを取得するには、ファイル/ハイブSYSTEMも必要です。

Windowsレジストリの興味深いエントリ

{% content-ref url="interesting-windows-registry-keys.md" %} interesting-windows-registry-keys.md {% endcontent-ref %}

実行されたプログラム

基本的なWindowsプロセス

この投稿では、疑わしい動作を検出するための一般的なWindowsプロセスについて学ぶことができます。

Windows最近のアプリ

レジストリNTUSER.DAT内のパスSoftware\Microsoft\Current Version\Search\RecentAppsには、実行されたアプリケーション最終実行時刻実行回数に関する情報が含まれるサブキーがあります。

BAMバックグラウンドアクティビティモデレーター

レジストリエディタでSYSTEMファイルを開き、パスSYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}内には、各ユーザーが実行したアプリケーションに関する情報(パス内の{SID}に注意)や実行時刻レジストリのData値内に時刻が含まれていますが含まれています。

Windows Prefetch

プリフェッチは、コンピューターがユーザーが近い将来にアクセスする可能性のあるコンテンツを表示するために必要なリソースを静かに取得する技術です。

Windowsプリフェッチは、実行されたプログラムのキャッシュを作成して、それらをより速くロードできるようにします。これらのキャッシュは、C:\Windows\Prefetch内に.pfファイルとして作成されます。XP/VISTA/WIN7では128ファイルの制限があり、Win8/Win10では1024ファイルの制限があります。

ファイル名は{program_name}-{hash}.pfとなりますハッシュは実行可能ファイルのパスと引数に基づいています。W10ではこれらのファイルが圧縮されています。ファイルが存在するだけで、そのプログラムがある時点で実行されたことを示しています。

ファイルC:\Windows\Prefetch\Layout.iniには、プリフェッチされたファイルのフォルダ名に関する情報が含まれています。このファイルには、実行回数実行日、およびプログラムによって開かれたファイルに関する情報が含まれています。

これらのファイルを調査するには、PEcmd.exeツールを使用できます。

.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"

Superprefetch

Superprefetchは、prefetchと同じ目標を持ち、次に読み込まれるものを予測してプログラムを高速に読み込むことです。ただし、prefetchサービスを置き換えるものではありません。
このサービスは、C:\Windows\Prefetch\Ag*.dbにデータベースファイルを生成します。

これらのデータベースには、プログラムの名前実行回数開かれたファイルアクセスしたボリューム完全なパス時間枠タイムスタンプが含まれています。

この情報には、CrowdResponseツールを使用してアクセスできます。

SRUM

System Resource Usage MonitorSRUMは、プロセスによって消費されるリソースを監視します。W8に登場し、データはC:\Windows\System32\sru\SRUDB.datにあるESEデータベースに保存されます。

次の情報が提供されます:

  • AppIDとパス
  • プロセスを実行したユーザー
  • 送信バイト数
  • 受信バイト数
  • ネットワークインターフェース
  • 接続期間
  • プロセス期間

この情報は60分ごとに更新されます。

このファイルからデータを取得するには、srum_dumpツールを使用できます。

.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum

AppCompatCacheShimCache

AppCompatCache、またはShimCacheとしても知られるものは、Microsoftが開発したアプリケーション互換性データベースの一部であり、アプリケーションの互換性の問題に対処するために使用されます。このシステムコンポーネントは、次のファイルメタデータを記録します:

  • ファイルの完全なパス
  • ファイルのサイズ
  • $Standard_InformationSIの下の最終更新時刻
  • ShimCacheの最終更新時刻
  • プロセス実行フラグ

このようなデータは、オペレーティングシステムのバージョンに基づいてレジストリ内の特定の場所に保存されます:

  • XPの場合、データはSYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCacheに保存され、96エントリを格納できます。
  • Server 2003、およびWindowsバージョン2008、2012、2016、7、8、および10の場合、ストレージパスはSYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCacheで、それぞれ512および1024エントリを収容します。

保存された情報を解析するには、AppCompatCacheParserツールの使用をお勧めします。

Amcache

Amcache.hveファイルは、システムで実行されたアプリケーションに関する詳細を記録するレジストリハイブです。通常、C:\Windows\AppCompat\Programas\Amcache.hveにあります。

このファイルは、実行されたプロセスの記録、実行可能ファイルへのパス、およびそれらのSHA1ハッシュを保存するために注目されています。この情報は、システム上のアプリケーションの活動を追跡するために貴重です。

Amcache.hveからデータを抽出して分析するには、AmcacheParserツールを使用できます。次のコマンドは、Amcache.hveファイルの内容を解析し、結果をCSV形式で出力するためのAmcacheParserの使用例です

AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\genericUser\Desktop\outputFolder

生成されたCSVファイルの中で、Amcache_Unassociated file entries は、関連付けられていないファイルエントリに関する豊富な情報を提供するため特に注目に値します。

最も興味深いCSVファイルは、Amcache_Unassociated file entries です。

RecentFileCache

このアーティファクトは、C:\Windows\AppCompat\Programs\RecentFileCache.bcf にのみW7で見つけることができ、いくつかのバイナリの最近の実行に関する情報を含んでいます。

ファイルを解析するために RecentFileCacheParse ツールを使用できます。

スケジュールされたタスク

C:\Windows\Tasks または C:\Windows\System32\Tasks から抽出し、XMLとして読むことができます。

サービス

レジストリ内の SYSTEM\ControlSet001\Services に見つけることができます。実行される内容と実行されるタイミングを確認できます。

Windows Store

インストールされたアプリケーションは \ProgramData\Microsoft\Windows\AppRepository\ にあります。
このリポジトリには、システム内の各アプリケーションがデータベース StateRepository-Machine.srd 内にインストールされたログがあります。

このデータベースの Application テーブル内には、"Application ID"、"PackageNumber"、"Display Name" という列があります。これらの列には、事前にインストールされたアプリケーションとインストールされたアプリケーションに関する情報が含まれており、インストールされたアプリケーションのIDが連続しているかどうかを確認できます。

また、レジストリパス内にインストールされたアプリケーションを見つけることも可能です: Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\
そして、アンインストールされたアプリケーションはこちらにあります: Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\

Windows イベント

Windows イベント内に表示される情報は以下の通りです:

  • 何が起こったか
  • タイムスタンプ (UTC + 0)
  • 関与するユーザー
  • 関与するホスト (ホスト名、IP)
  • アクセスされたアセット (ファイル、フォルダ、プリンター、サービス)

ログは、Windows Vista より前の場合は C:\Windows\System32\config に、Windows Vista以降の場合は C:\Windows\System32\winevt\Logs にあります。Windows Vista より前では、イベントログはバイナリ形式であり、その後は XML形式 であり、.evtx 拡張子が使用されます。

イベントファイルの場所は、SYSTEM レジストリ内の HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security} にあります。

Windows イベントビューア (eventvwr.msc) や Event Log Explorer または Evtx Explorer/EvtxECmd** などの他のツールを使用して可視化できます。

システムの電源イベント

EventID 6005 はシステムの起動を示し、EventID 6006 はシャットダウンを示します。

ログの削除

セキュリティ EventID 1102 はログの削除を示し、これは法的解析において重要なイベントです。

{% embed url="https://websec.nl/" %}