.. | ||
interesting-windows-registry-keys.md | ||
README.md | ||
windows-processes.md |
Windows Artifacts
Windows Artifacts
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)!
HackTricks をサポートする他の方法:
- HackTricks で企業を宣伝したい または HackTricks をPDFでダウンロードしたい 場合は SUBSCRIPTION PLANS をチェック!
- 公式PEASS&HackTricksグッズを入手する
- The PEASS Familyを発見し、独占的な NFTs のコレクションを見る
- 💬 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 というツールで開くこともできます。このツールは、TimeLine Explorer で開くことができる2つのファイルを生成します。
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
ボリュームシャドウコピー
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つのセットのタイムスタンプが見つかります:
- 最初のセット:
- 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:UNCパスを介してネットワーク経由でアクセスすると
thumbs.db
が作成されます。 - 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:再び、ロードされたレジストリをナビゲートするための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 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ストア
インストールされたアプリケーションは\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 をサポートする他の方法:
- HackTricks で企業を宣伝したい または HackTricks をPDFでダウンロードしたい 場合は SUBSCRIPTION PLANS をチェックしてください!
- 公式PEASS&HackTricksのグッズを入手する
- The PEASS Family を発見し、独占的な NFTs のコレクションを見つける
- 💬 Discord グループ に参加するか、telegram グループ に参加するか、Twitter 🐦 @hacktricks_live をフォローする
- HackTricks と HackTricks Cloud の github リポジトリに PR を提出して、あなたのハッキングテクニックを共有する