hacktricks/forensics/basic-forensic-methodology/windows-forensics
2024-05-02 15:18:24 +00:00
..
interesting-windows-registry-keys.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-07 05:47:12 +00:00
README.md Translated ['binary-exploitation/rop-return-oriented-programing/ret2lib/ 2024-05-02 15:18:24 +00:00
windows-processes.md Translated ['forensics/basic-forensic-methodology/pcap-inspection/usb-ke 2024-02-06 03:40:01 +00:00

Windows Artifacts

Windows Artifacts

ゼロからヒーローまでAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricks をサポートする他の方法:

{% 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 というツールで開くこともできます。このツールは、TimeLine Explorer で開くことができる2つのファイルを生成します。

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

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

Shadow Copyは、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/10UNCパスを介してネットワーク経由でアクセスするとthumbs.dbが作成されます。
  • 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再び、ロードされたレジストリをナビゲートするためのGUIを備えており、ロードされたレジストリ内の興味深い情報を強調するプラグインも含まれています。
  • 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ストア

インストールされたアプリケーションは\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****などの他のツールで表示できます。

Windowsセキュリティイベントの理解

セキュリティ構成ファイル内に記録されるアクセスイベントは、C:\Windows\System32\winevt\Security.evtxにあります。このファイルのサイズは調整可能であり、容量が達すると古いイベントが上書きされます。記録されるイベントには、ユーザーログインとログオフ、ユーザーアクション、セキュリティ設定の変更、ファイル、フォルダ、共有アセットへのアクセスが含まれます。

システムの電源イベント

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

ログの削除

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

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

htARTE (HackTricks AWS Red Team Expert) でゼロからヒーローまでAWSハッキングを学ぶ

HackTricks をサポートする他の方法: