.. | ||
interesting-windows-registry-keys.md | ||
README.md | ||
windows-processes.md |
Windows Artifacts
Windows Artifacts
{% hint style="success" %}
AWSハッキングの学習と練習:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングの学習と練習: HackTricks Training GCP Red Team Expert (GRTE)
HackTricksのサポート
- サブスクリプションプランをチェック!
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- ハッキングトリックを共有するために、 HackTricksとHackTricks CloudのGitHubリポジトリにPRを提出してください。
{% 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で開くことができます。
ADS(Alternate 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つのセットのタイムスタンプが見つかります:
- 最初のセット:
- FileModifiedDate
- FileAccessDate
- FileCreationDate
- 2番目のセット:
- LinkModifiedDate
- LinkAccessDate
- 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、メールをリダイレクトしたメールサーバー)
- メールがいつ送信されたか
また、References
とIn-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\Outlook
(WinXP)%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/10:
thumbs.db
はUNCパス経由でネットワークにアクセスすると作成されます。 - Windows Vista以降:サムネイルプレビューは
%userprofile%\AppData\Local\Microsoft\Windows\Explorer
に集約され、thumbcache_xxx.dbという名前のファイルがあります。ThumbsviewerとThumbCache 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 Monitor(SRUM)は、プロセスによって消費されるリソースを監視します。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
AppCompatCache(ShimCache)
AppCompatCache、またはShimCacheとしても知られるものは、Microsoftが開発したアプリケーション互換性データベースの一部であり、アプリケーションの互換性の問題に対処するために使用されます。このシステムコンポーネントは、次のファイルメタデータを記録します:
- ファイルの完全なパス
- ファイルのサイズ
- $Standard_Information(SI)の下の最終更新時刻
- 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/" %}