# Kape Github Module調査 ## 全体を通して * たくさん Modules があるが、取得するデータがかぶっているものが多くある。 * 特定のレジストリキーを抽出する、イベントログを変換する、MFTをパースする、などなど * どっかでまとめて取得項目を絞りたい ## Apps/NirSoft/Nirsoft_WhatInStartup.mkape * スタートアッププログラムを取得してくれる。 * ぱっと見、Run キーとか主要なものしか取っていないし、ハッシュ値とかも取ってくれない。 * apt-scan の方が良い。わざわざ実行する必要性は低い * ToDo:不要 ## Apps/NirSoft/Nirsoft_WinLogonView.mkape * ログオン時刻とログオフ時刻の対応付けを出してくれる。 * 情報取得元のファイルを指定しないので、おそらくライブのイベントログに対して処理をしている。 * evtxanalyzer と似たような機能だが、こっちは権限とかは取ってくれない。evtxanalyzer の方が高機能 * ToDo:不要 ## Apps/SOFELK/* * SOFELK でデータを扱えるようにするために、各アーティファクトを json に変換する。 * 有用なものだけフィルタリングみたいなことはしない。 * SOFELK 使っていないので、わざわざお客様端末で実行する必要性は低い * ToDo:不要 ### Apps/SOFELK/SOFELK_Parser_EvtxECmd.mkape ### Apps/SOFELK/SOFELK_Parser_LEcmd.mkape ### Apps/SOFELK/SOFELK_Parser_MFTECmd_J.mkape ### Apps/SOFELK/SOFELK_Parser_MFTECmd_MFT.mkape ### Apps/SOFELK/SOFELK_Parser_PECmd.mkape ## Apps/SysInternals/SysInternals_Autoruns.mkape * LiveResponse/Autoruns.mkape と同一 ## Apps/SysInternals/SysInternals_Handle.mkape * LiveResponse/handle.mkape と同一 ## Apps/SysInternals/SysInternals_PsFile.mkape * LiveResponse/psfile.mkape と同一 ## Apps/SysInternals/SysInternals_PsInfo.mkape * LiveResponse/psinfo.mkape と同一 ## Apps/SysInternals/SysInternals_PsList.mkape * LiveResponse/pslist.mkape と同一 ## Apps/SysInternals/SysInternals_PsLoggedOn.mkape * LiveResponse/psloggedon.mkape と同一 ## Apps/SysInternals/SysInternals_PsService.mkape * LiveResponse/psservice.mkape と同一 ## Apps/SysInternals/SysInternals_PsTree.mkape * LiveResponse/pstree.mkape と同一 ## Apps/SysInternals/SysInternals_SigCheck.mkape * LiveResponse/Sigcheck*.mkape と類似 * すべてのファイルに対して Sigcheck を行うが、めっちゃ時間がかかるので、対象を絞っている kape-nttcom の方が良い ## Apps/SysInternals/SysInternals_Tcpvcon.mkape * LiveResponse/tcpvcon.mkape と同一 ## Apps/Thor/Thor_Scan.mkape * thor64.exe を実行。有料ツール * thor-lite でいいような気がする。 * ToDo:なし ## Apps/Thor/Thor_Upgrade.mkape * thor-util.exe を実行。有料ツール * thor-lite でいいような気がする。 * ToDo:なし ## Apps/Thor-Lite/Thor-Lite_LiveResponse.mkape * thor-lite.exe を実行。 * 定義された YARA ルールと IOC にマッチしたものを出してくれる * ライセンスファイルをダウンロードする必要があり、もしかするとKapeと同じようにお客様にダウンロードしてもらう必要があるかもしれない。 * linux 版もあるので、お客様の作業が増えるようなら SIFT 上での実行でも良いと思う。 * 実行にかなり時間がかかる。端末上で実行するにはちょっときつい * ToDo:ライセンス体系の確認 ## Apps/Thor-Lite/Thor-Lite_LiveResponse_Lookback30days.mkape * thor-lite.exe を実行。 * 直近30日分のイベントに対して定義された YARA ルールと IOC にマッチしたものを出してくれる * ライセンスファイルをダウンロードする必要があり、もしかするとKapeと同じようにお客様にダウンロードしてもらう必要があるかもしれない。 * linux 版もあるので、お客様の作業が増えるようなら SIFT 上での実行でも良いと思う。 * ToDo:ライセンス体系の確認 ## Apps/Thor-Lite/Thor-Lite_Scan.mkape * thor-lite.exe を実行。 * Filescan というモジュールを動かすらしいが、具体的に何をしてくれるのかよくわからない。多分存在するファイルに対して YARA ルールと IOC でスキャンする * ToDo:モジュールの内容調査、ライセンス体系の確認 ## Apps/Thor-Lite/Thor-Lite_Upgrade.mkape * thor-lite-util.exe を実行 * thor-lite で利用する YARA ルールと IOC を最新版にする。 * 常に最新の状態で実行させたいので、SIFT 上で実行する方が適しているかもしれない。 * ToDo:ライセンス体系の確認 ## Apps/TZWorks/TZWorks_CAFAE_Registry_System.mkape * cafae64.exe を実行。有料ツール * レジストリの中から、特定のレジストリキーを取ってくる。RECmd とかの .mkape で取ってくる内容とかぶるため、わざわざ有料で実行する必要はないと思う。 * ToDo:なし ## Apps/TZWorks/TZWorks_evtwalk64_EventLogs_ApplicationEvents.mkape * evtwalk64.exe を実行。有料ツール * Application.evtx を csv に変換する。フィルタリングをしてくれるわけでもなく、他ので十分。わざわざ有料ツールで実行する必要はない。 * ToDo:なし ## Apps/TZWorks/TZWorks_evtwalk64_EventLogs_ScheduledTasks.mkape * evtwalk64.exe を実行。有料ツール * Microsoft-Windows-TaskScheduler%4Operational.evtx を csv に変換する。フィルタリングをしてくれるわけでもなく、他ので十分。わざわざ有料ツールで実行する必要はない。 * ToDo:なし ## Compound/* * ジャンルごとに .mkape をまとめて呼び出す。 * 対応の要否は個々の .mkape ファイルの調査に任せる。 * ToDo:なし ### Compound/!!ToolSync.mkape ### Compound/!EZParser.mkape ### Compound/bstrings.mkape ### Compound/bstrings_CryptoWallets.mkape ### Compound/Hayabusa.mkape ### Compound/KapeResearch_Registry_JSON.mkape ### Compound/LiveResponse_NetSystemInfo.mkape ### Compound/LiveResponse_NetworkDetails.mkape ### Compound/LiveResponse_ProcessDetails.mkape ### Compound/LogParser.mkape ### Compound/MFTECmd.mkape ### Compound/NTFSLogTracker.mkape ### Compound/Powrshell_LiveResponse_SystemInfo.mkape ### Compound/RECmd_AllBatchFiles.mkape ### Compound/Reghunter.mkape ### Compound/RegRipper.mkape ### Compound/SOFELK_Parser.mkape ### Compound/Volatility_Disabled.mkape ## EZTools/AmcacheParser.mkape * AmcacheParser.exe を実行 (Amcache のパーサー) * kape-nttcom で実行している。必要 * kape-nttcom/Modules/ProgramExecution/AmcacheParser.mkape * ToDo:なし ## EZTools/AppCompatCacheParser.mkape * AppCompatCacheParser.exe を実行 (AppCompatCache のパーサー) * kape-nttcom で実行している。必要 * kape-nttcom/Modules/ProgramExecution/AppCompatCacheParser.mkape * ToDo:なし ## EZTools/iisGeoLocate.mkape (新規) * iisGeolocate\iisGeolocate.exe を実行 (IISのログから見つかったIPアドレスに対して Geolocate を調べる) * kape-nttcom には存在していない。 * geoip 調べるだけなら utils4for/geoiplookup でも行けるし、国が重要になることは滅多にないと思う * ToDo:なし ## EZTools/JLECmd.mkape * JLECmd.exe を実行 (Jumplist のパーサー) * kape-nttcom で実行している。必要 * kape-nttcom/Modules/FileFolderAccess/JLECmd.mkape * ToDo:なし ## EZTools/LECmd.mkape * LECmd.exe を実行 (.lnk ファイルのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileFolderAccess/LECmd.mkape * ToDo:なし ## EZTools/PECmd.mkape * PECmd.exe を実行 (Prefetch のパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/ProgramExecution/PECmd.mkape * ToDo:なし ## EZTools/RBCmd.mkape * RBCmd.exe を実行 (Recycle.bin のパーサー) * kape-nttcom では Disable にしてある。 * kape-nttcom/Modules/!Disabled/Misc/RBCmd.mkape * target-large で Recycle.bin ごと持ってくるし、不要 * ToDo:なし ## EZTools/RecentFileCacheParser.mkape * RecentFileCacheParser.exe を実行 (RecentFileCache.bcf のパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/ProgramExecution/RecentFileCacheParser.mkape * ToDo:なし ## EZTools/SBECmd.mkape * SBECmd.exe を実行 (shellbags のパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileFolderAccess/SBECmd.mkape * ToDo:なし ## EZTools/SrumECmd.mkape * SrumECmd.exe を実行 (SRUM のパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/ProgramExecution/SrumECmd.mkape * ToDo:なし ## EZTools/SumECmd.mkape (新規) * SumEcmd.exe を実行 (SUM database のパーサー) * kape-nttcom には存在していない。 * ドメイン環境において、ログイン履歴がとれるらしいので、target、module 共にとった方が良い * ToDo:module に追加、品質チェックリストにも追加 ## EZTools/WxTCmd.mkape * WxTCmd.exe を実行 (Windows Timeline のパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileFolderAccess/WxTCmd.mkape * ToDo:なし ## EZTools/bstrings まとめて * bstrings.exe を実行 (grep してくれるツール) * kape-nttcom には存在していない * 必要そうなものと必要なさそうなものとあるが、下記の点で Modules では実行しなくて良いと思う * あらかじめ grep のパターンがいくつか登録されているが、1回の実行で2つ以上のパターンを同時に選択できない上に、1回の実行に10分くらいかかる * どのファイルで見つかったのか出してくれないので、結局 SIFT 上で grep する必要が出てくる * email とかは結構関係ないやつも引っかかっちゃう * 品質チェックリストの Carving.md に、登録されているパターンを書いて、必要に応じてそっちで対応した方が効率的だと思う。 * ToDo: ~~品質チェックリストの Carving.md の更新~~ Done ### EZTools/bstrings/bstrings_AeonWallet.mkape (新規) ### EZTools/bstrings/bstrings_BitCoinWallet.mkape (新規) ### EZTools/bstrings/bstrings_Bitlocker.mkape (新規) ### EZTools/bstrings/bstrings_ByteCoinWallet.mkape (新規) ### EZTools/bstrings/bstrings_CreditCards.mkape (新規) ### EZTools/bstrings/bstrings_DashCoinWallet.mkape (新規) ### EZTools/bstrings/bstrings_DashCoinWallet2.mkape (新規) ### EZTools/bstrings/bstrings_Email.mkape (新規) ### EZTools/bstrings/bstrings_FantomCoinWallet.mkape (新規) ### EZTools/bstrings/bstrings_IPv4.mkape (新規) ### EZTools/bstrings/bstrings_MACAddresses.mkape (新規) ### EZTools/bstrings/bstrings_MoneroWallet.mkape (新規) ### EZTools/bstrings/bstrings_SSN.mkape (新規) ### EZTools/bstrings/bstrings_SumoKoinWallet.mkape (新規) ### EZTools/bstrings/bstrings_UNC.mkape (新規) ### EZTools/bstrings/bstrings_URLs.mkape (新規) ### EZTools/bstrings/bstrings_USPhone.mkape (新規) ### EZTools/bstrings/bstrings_WinPath.mkape (新規) ### EZTools/bstrings/bstrings_ZipCodes.mkape (新規) ## EZTools/EvtxECmd/EvtxECmd.mkape * EvtxECmd/EvtxECmd.exe を実行 (イベントログのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/EventLogs/EvtxECmd.mkape * ToDo:なし ## EZTools/EvtxECmd/EvtxECmd_RDP.mkape * EvtxECmd/EvtxECmd.exe を実行 (イベントログのパーサー、RDP関連のものだけ抜粋) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/EventLogs/EvtxECmd-RDP.mkape * EZTools/EvtxECmd/EvtxECmd.mkape と出力ファイル名が同じなので、変えてた方が良い(厳密には実行時刻が先頭につくので別ファイルになるが、わかりにくい) * 出力ファイル名を変更 (-csvf filename) ## EZTools/MFTECmd/MFTECmd_$Boot.mkape * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileSystem/MFTECmd_$Boot.mkape * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$I30.mkape (新規) * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom には存在していない。 * 削除ファイルがわかる可能性があるので、とった方が良い * ToDo:Modules に追加 ## EZTools/MFTECmd/MFTECmd_$J.mkape * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileSystem/MFTECmd_$J.mkape * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$MFT.mkape * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileSystem/MFTECmd_$MFT.mkape * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$MFT_DumpResidentFiles.mkape (新規) * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom には存在していない * MFT のレジデントファイルを全部出してくれるが、フルフォレンジックの領域で、ファストでは不要だと思う。 * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$MFT_FileListing.mkape (新規) * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom には存在していない * ファイルの一覧を出力する。SIFT ですぐ出るし、わざわざ実行する必要はないと思う。 * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$MFT_ProcessMFTSlack.mkape (新規) * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom には存在していない * slack 領域のファイルの情報を出力してくれるが、SIFT上での実行で良いと思う。 * 実行時間も結構長い(手元で10分くらいかかった) * ToDo:なし ## EZTools/MFTECmd/MFTECmd_$SDS.mkape * MFTECmd.exe を実行 (NTFS メタデータのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/FileSystem/MFTECmd_$SDS.mkape * ToDo:なし ## RECmd 調査メモ * ~~DLL の読み込みがうまくいかない~~ ~~~ Error loading plugin: C:\Users\mito\Desktop\tools\RECmd\RECmd\Plugins\RegistryPlugin.WordWheelQuery.dll System.IO.FileLoadException: ファイルまたはアセンブリ 'file:///C:\Users\mito\Desktop\tools\RECmd\RECmd\Plugins\RegistryPlugin.WordWheelQuery.dll'、またはその依存関係の 1 つが読み込めませんでした。操作はサポートされません。 (HRESULT からの例外:0x80131515) ファイル名 'file:///C:\Users\mito\Desktop\tools\RECmd\RECmd\Plugins\RegistryPlugin.WordWheelQuery.dll' です。'file:///C:\Users\mito\Desktop\tools\RECmd\RECmd\Plugins\RegistryPlugin.WordWheelQuery.dll' ---> System.NotSupportedException: ネットワーク上の場所からアセンブリを読み込もうとしました。これにより、以前のバージョンの .NET Framework で、アセンブリがサンドボックス化された可能性があります。このリリースの .NET Framework では、CAS ポリシーが既定で有効になっていないため、この読み込みは危険な場合があります。この読み込みがアセンブリのサンドボックス化を目的としない場合は、loadFromRemoteSources スイッチを有効にしてください。詳細については、http://go.microsoft.com/fwlink/?LinkId=155569 を参照してください。 ~~~ * ~~解決策を試してみたが、うまくいかない。~~ * https://github.com/Tralsys/BIDS_Server/issues/2 * ダウンロードした RECmd.zip を再度解凍したらうまくいくようになった。理由は謎。 ## EZTools/RECmd/RECmd_AllRegExecutablesFoundOrRun.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom には存在していない * AllReg と言ってる割には AmCache とか ShimCache のパースはしてくれない * Userassist, bam, feature usage などは取ってくれる * 内容はちょっと物足りないような気がするが、10秒くらいで終わるので、実行しても良いと思う * ToDo:他のところで取っているので不要 ## EZTools/RECmd/RECmd_BasicSystemInfo.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom には存在していない * 手元の環境では Amcache 関連のレジストリがうまく取れていなかった。 * ドメインに参加しているか、サーバーかどうか、VMType、など * SystemInfo はすでに取っているので、敢えてこのモジュールでも取る必要はないと思う。 * ToDo:なし ## EZTools/RECmd/RECmd_BCDBootVolume.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom には存在していない * 手元の環境では何も出力されなかったが、ブート関連のキーを引っ張ってくるように見える。 * ~~キー自体は存在していたが、出力ファイルが出てこない。なんか条件がある?~~ * $Boot\BCD にあるキーを見る設定になっているようだが、そもそも $Boot\BCD を見に行っていない * ToDo:なし ## EZTools/RECmd/RECmd_InstalledSoftware.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom には存在していない * インストール済みのプログラムの一覧を出してくれるが、WinAudit で取っているので、敢えてこのモジュールでも取る必要はないと思う * ToDo:なし ## EZTools/RECmd/RECmd_Kroll.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom には存在していない * いろいろ取ってくれている。他のプラグインとかぶってるものも多い。 * これだけやればいいんじゃないか? * ToDo:内容精査、精査終わるまでModulesに追加 ## EZTools/RECmd/RECmd_RECmd_Batch_MC.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * kape-nttcom で実行している。必要。 * kape-nttcom/Modules/Registry/RECmd.mkape * ToDo:なし ## EZTools/RECmd/RECmd_RegistryASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * SYSTEM、SOFTWARE、NTUSER から自動起動設定を取ってきてくれる * apt-scan では取っていないやつも結構ある。ただ、数が膨大で結構大変 * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/RECmd/RECmd_SoftwareASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * SOFTWARE から自動起動設定を取ってきてくれる * RECmd_RegistryASEPs.mkape と共通する部分もある。 * .reb で取得するレジストリを指定できるので、取得するなら一つの .reb にまとめるのがよさそう * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/RECmd/RECmd_SoftwareClassesASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * SOFTWARE から自動起動設定を取ってきてくれる * RECmd_RegistryASEPs.mkape と共通する部分もある。 * .reb で取得するレジストリを指定できるので、取得するなら一つの .reb にまとめるのがよさそう * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/RECmd/RECmd_SoftwareWoW6432ASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * SOFTWARE から自動起動設定を取ってきてくれる * RECmd_RegistryASEPs.mkape と共通する部分もある。 * .reb で取得するレジストリを指定できるので、取得するなら一つの .reb にまとめるのがよさそう * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/RECmd/RECmd_SystemASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * SYSTEM から自動起動設定を取ってきてくれる * RECmd_RegistryASEPs.mkape と共通する部分もある。 * .reb で取得するレジストリを指定できるので、取得するなら一つの .reb にまとめるのがよさそう * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/RECmd/RECmd_UserActivity.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * ユーザ挙動に関するレジストリキーから情報を取ってきてくれる * 他のモジュールとかぶる内容も多々あるが、内容精査できるまでは一応取っておいても良いと思う。 * ToDo:Modulesに追加、内容精査 ## EZTools/RECmd/RECmd_UserClassesASEPs.mkape (新規) * RECmd/RECmd.exe を実行 (レジストリのパーサー) * UsrClass から自動起動設定を取ってきてくれる * RECmd_RegistryASEPs.mkape と共通する部分もある。 * .reb で取得するレジストリを指定できるので、取得するなら一つの .reb にまとめるのがよさそう * ToDo:Modulesに追加、apt-scan に追加するか検討 ## EZTools/SQLECmd/SQLECmd.mkape (新規) * SQLECmd\SQLECmd.exe を実行 (SQLite のパーサー) * kape-nttcom には存在していない * ActivitiesCache.db、ブラウザ履歴、ブラウザのオートコレクションなどをパースしてくれるが * ActivitiesCache.db はプログラムのパスとかまでパースしてくれるわけではないので、WxTCmd.exe の実行結果で見た方が良い * ブラウザの履歴は BrowserHistoryView、Hindsight で見れる * ブラウザのオートコレクションは Hindsight で見れる * わざわざこのモジュールでも取る必要はないと思う * ToDo:なし ## EZTools/SQLECmd/SQLECmd_Hunt.mkape (新規) * SQLECmd\SQLECmd.exe を実行 (SQLite のパーサー) * kape-nttcom には存在していない * 拡張子に関係なく、すべてのファイルを SQLite ファイルとして調べるモードで実行 (Hunt モード) * 手元の実行では、普通モードと Hunt モードで実行結果に差異はなかった。時間かかるしあんまり意味ない気がする * ToDo:なし ## KapeResearch/KapeResearch_EventLogs_XML.mkape (新規) * .evtx ファイルを XML ファイルに変換する * 無駄にデータ容量が増えるだけだし、SIFT でやれば良い * ToDo:なし ## KapeResearch/KapeResearch_Registry_XXX * レジストリを JSON に変換する * チェックリストのレジストリ見るだけのやつを一覧で表示するツールを作るのに有用。 * 全部のレジストリで取る必要はない。SYSTEM、SOFTWARE、NTUSER あたりだけで良い ## KapeResearch/KapeResearch_Registry_SOFTWARE_JSON.mkape (新規) * ToDo:Modulesに追加 ## KapeResearch/KapeResearch_Registry_SYSTEM_JSON.mkape (新規) * ToDo:Modulesに追加 ## KapeResearch/KapeResearch_Registry_Amcache_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_BBI_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_BCD-Template_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_COMPONENTS_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_DEFAULT_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_DRIVERS_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_ELAM_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_SAM_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_SECURITY_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_SysCache_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_userdiff_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_UsrClass_JSON.mkape (新規) ## KapeResearch/KapeResearch_Registry_VSMIDK_JSON.mkape (新規) ## KapeSync/Sync_EvtxECmd.mkape (新規) * EvtxECmd を最新版にする * kape-nttcom には存在していない * ToDo:なし ## KapeSync/Sync_KAPE.mkape (新規) * kape を最新版にする * kape-nttcom には存在していない * ToDo:なし ## KapeSync/Sync_RECmd.mkape (新規) * RECmd を最新版にする * kape-nttcom には存在していない * ToDo:なし ## KapeSync/Sync_SQLECmd.mkape (新規) * SQLECmd を最新版にする * kape-nttcom には存在していない * ToDo:なし ## Windows/Powershell_Arp_Cache_Extraction.mkape (新規) * Get-NetNeighbor | Select-Object InterfaceIndex, InterfaceAlias, IPAddress, State | Sort-Object InterfaceIndex | Export-Csv %destinationDirectory%\Arp_Cache.csv * ARP テーブルの中身を参照し、近隣の端末の IPアドレスを出してくれる。 * 既存の LiveResponse/ARPCache.mkape(arp.exe -a の実行) よりも、取ってくれるインタフェースが多い * こっちは VM のインタフェースとかも出してくれる。 * arp が重要になることはあまりない印象だが、置き換えても良いかもしれない * ToDo:置き換えるで決定。Modules に追加?追加する場合は Select-Object に LinkLayerAddress を追加しないと MACアドレスが出ない ## Windows/Powershell_Bitlocker_Key_Extraction.mkape (新規) * Get-BitLockerVolume -Mountpoint %sourceDriveLetter% | Select-Object -ExpandProperty KeyProtector| Format-List | Out-File -FilePath %destinationDirectory%\Bitlocker_Key.txt * BitLocker のリカバリパスワードを出してくれる。 * ファストの調査で出されても意味ない気がする。 * ToDo:Modules に追加 (フルになったときに手っ取り早い) * Kape を通して実行したときに、Dドライブまで見に行ってくれるか ## Windows/Powershell_Bitlocker_Status.mkape (新規) * Get-BitLockerVolume -Mountpoint %sourceDriveLetter% | Format-List | Out-File -FilePath %destinationDirectory%\Bitlocker_Status.txt * ドライブの Bitlocker の利用状況を出してくれる。 * 調査時点で Bitlocker の利用状況を出されても意味ないと思う。 * ToDo:Modules に追加 (フルになったときに手っ取り早い) * Kape を通して実行したときに、Dドライブまで見に行ってくれるか ## Windows/PowerShell_Defender_Exclusions.mkape (新規) * Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows Defender\Exclusions' * Windows Defender の除外設定を出してくれる * マルウェア置き場が除外設定されている可能性があるので、取っておく。 * ToDo:Modules に追加 ## Windows/PowerShell_DLL_List.mkape (新規) * gps | Format-List ProcessName, @{l="Modules";e={$_.Modules|Out-String}} * 起動中のプロセスの DLL リストを出してくれる (ハッシュ値とかタイムスタンプとかは取れない) * apt-scan でとれているので不要 * ToDo:不要 ## Windows/PowerShell_Dns_Cache.mkape (新規) * Get-DnsClientCache | Select-Object Entry, Name, Status, Type, TimeToLive, Data | Export-Csv -NoTypeInformation -Path %destinationDirectory%\DnsCache.csv * DNSキャッシュを出してくれる * それなりに色んなページ見た状態で実行しても4つくらいしかエントリが出てこない。 * www.google.com を nslookup で名前解決したり、ブラウザでアクセスした直後に実行しても、www.google.com のエントリが出てこない。 * 実はあんまり DNS ってキャッシュされないのかもしれない。取らなくても良いと思う * ToDo:不要 ## Windows/Powershell_Local_Group_List.mkape (新規) * Get-LocalGroup | Select Name, SID, Description | Export-Csv -Path %destinationDirectory%\Local_Group_List.csv -NoTypeInformation * ローカルグループの一覧を出してくれる。SIDとの紐づけもできる。 * Winaudit では SID は取れないので、ここで取っておいても良いと思う。 * ToDo:Modules に追加 ## Windows/PowerShell_NamedPipes.mkape (新規) * Get-ChildItem -Path '\\.\pipe\' | Sort Length | Format-Table FullName, Length, IsReadOnly, Exists, CreationTime, LastAccessTime * ネームドパイプの一覧を出してくれる。マルウェアが使うこともあるので取っておいた方が良いと思う * ToDo:Modules に追加 ## Windows/PowerShell_NetUserAdministrators.mkape (新規) * $admin = (Get-LocalGroup -Name 'Admini*').name; net localgroup $admin * ローカルグループ名に Admini が入っているやつを出しているだけ。 * Winaudit での情報などで代替できている * ToDo:なし ## Windows/PowerShell_Network_Configuration.mkape (新規) * Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE | Select Index, ServiceName, Description, MacAddress, @{Name='IpAddress';Expression={$_.IpAddress -join '; '}}, @{Name='DefaultIPGateway';Expression={$_.DefaultIPGateway -join '; '}}, DnsHostname, DnsDomain, DhcpEnabled, DhcpServer, DHCPLeaseObtained | Sort-Object Index | Export-Csv %destinationDirectory%\Network_Configuration.csv * 設定されているIP、DCHP、DNSなど、インタフェースの設定を出してくれるが、有効になっているインタフェースからしか取れない。無効になっているものはMACアドレスくらいしか情報が取れない * Winaudit など、ほかのポイントで取得する情報とかぶるので、不要 * ToDo:なし ## Windows/Powershell_Network_Connections_Status.mkape (新規) * Get-NetTCPConnection | select Local*, Remote*, State, @{n='ProcessName';e={(Get-Process -Id $_.OwningProcess).ProcessName}}, @{n='ProcessPath';e={(Get-Process -Id $_.OwningProcess).Path}} | Export-Csv %destinationDirectory%\Network_Connection_Status.csv -NoTypeInformation * ネットワーク接続状況を出してくれる。 * Winaudit など、ほかのポイントで取得する情報とかぶるので、不要 * ToDo:なし ## Windows/Powershell_Network_Share.mkape (新規) * Get-SMBShare | select name, volume, path, description | Export-Csv -Path %destinationDirectory%\Network_Share.csv -NoTypeInformation * ネットワーク共有の情報を出してくれる * Winaudit など、ほかのポイントで取得する情報とかぶるので、不要 * ToDo:なし ## Windows/PowerShell_ParseScheduledTasks.mkape (新規) * $ListOfTasks = $ListOfTasks = (Get-ChildItem -File -Path %sourceDirectory% -Recurse).fullname;$ListOfTasks | foreach { $ModifiedTime = (gci -Path $_).LastWriteTimeUtc.toString('yyyy-MM-ddTHH:mm:ss');$xmlFile = [xml](get-content "$_");$Date = $xmlFile.ChildNodes.RegistrationInfo.Date;$Author = $xmlFile.ChildNodes.RegistrationInfo.Author;$Description = $xmlFile.ChildNodes.RegistrationInfo.Description ;$URI = $xmlFile.ChildNodes.RegistrationInfo.URI;$Principals = $xmlFile.ChildNodes.Principals.Principal.UserId;$LogonType = $xmlFile.ChildNodes.Principals.Principal.LogonType;$Enabled = $xmlFile.ChildNodes.Settings.Enabled;$Action = $xmlFile.ChildNodes.Actions.Exec.Command;$Arguments = $xmlFile.ChildNodes.Actions.Exec.Arguments;$ComHandler_ClassID = $xmlFile.ChildNodes.Actions.ComHandler.ClassId; $ComHandler_Data = [string]$xmlFile.ChildNodes.Actions.ComHandler.Data.'#cdata-section';$xmlFile.ChildNodes[1] |ForEach-Object { [PSCustomObject]@{TaskFile_LastModifiedTime = $ModifiedTime;Registration_Date = $Date;Author = $Author ; Description = $Description ; Task_Name = $URI ; Principals_UserContext = $Principals; LogonType = $LogonType ; Enabled = $Enabled ; Action_Arguments = $Action + ' ' + $Arguments;ComHandler_ClassID = $ComHandler_ClassID; ComHandler_Data = $ComHandler_Data; } } } 2> $NULL | Export-Csv -Path %destinationDirectory%\Parsed_Tasks_XML.csv -NoTypeInformation * スケジュールタスクを出してくれる。 * apt-scan、Winaudit など、ほかのポイントで取得する情報とかぶるし、結構時間かかる(手元で10分くらい待っても終わらなかったので途中で止めた)。不要 * ToDo:なし ## Windows/PowerShell_ProcessList_CimInstance.mkape (新規) * Get-CimInstance Win32_Process | select ProcessId, ProcessName, Path, CommandLine, Description, ParentProcessId , CreationDate, Handle, HandleCount, @{Label='MD5'; Expression={(Get-FileHash -Algorithm MD5 -LiteralPath $_.Path).Hash}} | Export-Csv -NoTypeInformation -Path %destinationDirectory%\PWSH-Get-CIM_ProcessList.csv * kape-nttcom/Modules/LiveResponse/PWSH-Get-CimInstance_ProcessList.mkape と同じ内容 * ToDo:なし ## Windows/PowerShell_ProcessList_WMI.mkape (新規) * Get-WMIObject Win32_Process | Select-Object Name,ProcessID,Path,commandline,@{Label='Owner'; Expression={(Get-Process -PID $_.ProcessID -IncludeUserName).UserName}},CreationDate,ThreadCount,HandleCount,VirtualSize,Priority,@{Label='PriorityClass'; Expression={(Get-Process -PID $_.ProcessID).PriorityClass}},@{Label='Security ID'; Expression={$_.getownersid().SID}},@{Label='TotalProcessorTime'; Expression={(Get-Process -PID $_.ProcessID).TotalProcessorTime}},@{Label='Parent Path'; Expression={(Get-Process -PID $_.ParentProcessId).Path}},ParentProcessId,@{Label='Company'; Expression={(Get-Process -PID $_.ProcessID).Company}},@{Label='ProductVersion'; Expression={(Get-Process -PID $_.ProcessID).ProductVersion}},@{Label='Description'; Expression={(Get-Process -PID $_.ProcessID).Description}},@{Label='Product'; Expression={(Get-Process -PID $_.ProcessID).Product}},@{Label='FileVersion'; Expression={(Get-Process -PID $_.ProcessID).FileVersion}},@{Label='File Path SHA-256'; Expression={[System.BitConverter]::ToString( (New-Object System.Security.Cryptography.SHA256CryptoServiceProvider).ComputeHash([System.IO.File]::ReadAllBytes($_.Path))) -replace '-'}} | Export-Csv -NoTypeInformation -Path %destinationDirectory%\PWSH-Get-ProcessList.csv * kape-nttcom/Modules/LiveResponse/PWSH-Get-ProcessList.mkape と同じ内容 * ToDo:なし ## Windows/PowerShell_Process_Cmdline.mkape (新規) * Get-WmiObject Win32_Process | Select-Object Name, ProcessId, CommandLine | Sort Name | Format-Table -Wrap * kape-nttcom/Modules/LiveResponse/353-WMIProcessList.mkape で取得する情報を絞ったもの * ToDo:なし ## Windows/Powershell_Services_List.mkape (新規) * Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object -Property Name, DisplayName, Status | Export-Csv -Path %destinationDirectory%\Services.csv -NoTypeInformation * サービス一覧を出してくれるが、サービス名と説明しか取得できず、肝心なファイルパスとかは取得できない。 * Winaudit など、ほかのポイントで取得する情報とかぶるので、不要 * ToDo:なし ## Windows/Powershell_SMBMapping.mkape (新規) * Get-SMBMapping | Select LocalPath, RemotePath, Status | Export-Csv -Path %destinationDirectory%\Net_Use.csv -NoTypeInformation * SMBマッピングの情報を出してくれる * 情報取得時にはオフラインになっていることが想定されるので意味がないかもしれないが、他で取得してなさそうなので一応実行しておく * ToDo:Modules に追加 ## Windows/Powershell_SMBOpenFile.mkape (新規) * Get-SMBOpenFile | Select FileId, SessionId, Path, ShareRelativePath, ClientComputerName, ClientUsername | Export-Csv -Path %destinationDirectory%\Net_Files.csv -NoTypeInformation * SMBサーバ上で実行し、SMB経由で開かれているファイルの一覧を出してくれる * 情報取得時にはオフラインになっていることが想定されるので意味がないかもしれないが、他で取得してなさそうなので一応実行しておく * 感染端末よりも、ファイルサーバ上で実行してほしいコマンドなので、端末感染時にファイルサーバ上で実行してもらうのもありかもしれない??? ファイル閉じたらすぐにエントリが消えてしまうなら意味ないかもしれないが。 * ToDo:Modules に追加 * 取っているかも。psfiles(LiveResponse で取ってるやつかもしれない) ## Windows/Powershell_SMBSession.mkape (新規) * Get-SMBSession | Select SessionId, ClientComputerName, ClientUserName, NumOpens | Export-Csv -Path %destinationDirectory%\Net_Sessions.csv -NoTypeInformation * SMBセッションの一覧を出してくれる * 情報取得時にはオフラインになっていることが想定されるので意味がないかもしれないが、他で取得してなさそうなので一応実行しておく * ToDo:Modules に追加 ## Windows/PowerShell_Startup_Commands.mkape (新規) * Get-CimInstance -Class Win32_StartupCommand | Format-Table -Property Name, Command, User, Location -Wrap" * スタートアッププログラムの一覧を出してくれる * apt-scan、Winaudit など、ほかのポイントで取得する情報とかぶるので不要 * ToDo:なし ## Windows/Powershell_User_List.mkape (新規) * Get-WmiObject -Class Win32_UserAccount | Select-Object AccountType, Caption, Domain, Name, FullName, InstallDate, SID, Status | Export-Csv -Path %destinationDirectory%\Local_User_List.csv -NoTypeInformation * kape-nttcom/Modules/LiveResponse/358-WMIUsers.mkape と同じ * ToDo:なし ## Windows/PowerShell_WMIRepositoryAuditing.mkape (新規) * write 'Event Filter'; write ' '; Get-WMIObject -Namespace root\Subscription -Class __EventFilter; write ' '; write 'EventConsumer'; write ' '; Get-WMIObject -Namespace root\Subscription -Class __EventConsumer; write ' '; write 'FilterToConsumerBinding'; write ' '; Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding * WMI を使ったPersistenceを見つけられるかもしれない。 * ToDo:Modules に追加 → しょぼいんでいらない ## Windows/Windows_ARPCache.mkape (新規) * kape-nttcom/Modules/LiveResponse/ARPCache.mkape と同じ * ToDo:不要 ## Windows/Windows_DNSCache.mkape (新規) * kape-nttcom/Modules/LiveResponse/DNSCache.mkape と同じ * ToDo:不要 ## Windows/Windows_GpResult.mkape (新規) * gpresult.exe /z を実行 * ログイン時に適用されたグループポリシーを出してくれるらしい * 既存では取っていないので、取っておく * ToDo:Modulesに追加 ## Windows/Windows_IPConfig.mkape (新規) * kape-nttcom/Modules/LiveResponse/IPConfig.mkape と同じ * ToDo:不要 ## Windows/Windows_ManageBDE_BitLockerKeys.mkape (新規) * kape-nttcom/Modules/!Disabled/bitlocker-key.mkape とほぼ同じ * 引数が %sourceDirectory% から %SourceDriveLetter% に変更になっている * ToDo: 不要 ## Windows/Windows_ManageBDE_BitLockerStatus.mkape (新規) * kape-nttcom/Modules/!Disabled/manage-bde.mkape とほぼ同じ * 引数が %sourceDirectory% から %SourceDriveLetter% に変更になっている * ToDo: 不要 ## Windows/Windows_MsInfo.mkape (新規) * Winaudit と似たような情報を取得してくれる * これでしか取れない情報で有用なものはなさそうなので、Winauditに任せて良いと思う * ToDo:不要 ## Windows/Windows_nbtstat_NetBIOSCache.mkape (新規) * kape-nttcom/Modules/LiveResponse/NBTStat_NetBIOS_Cache.mkape と同じ * ToDo:不要 ## Windows/Windows_nbtstat_NetBIOSSessions.mkape (新規) * kape-nttcom/Modules/LiveResponse/NBTStat_NetBIOS_Sessions.mkape と同じ * ToDo:不要 ## Windows/Windows_netsh_portproxy.mkape (新規) * 設定されている portproxy の一覧を出してくれる * C2 のプロキシみたいなのになってる場合、見つけられるかもしれない。 * ToDo:Modules に追加 ## Windows/Windows_NetStat.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetStat.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_Accounts.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_Accounts.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_File.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_File.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_LocalGroup.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_LocalGroup.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_Session.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_Session.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_Share.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_Share.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_Start.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_Start.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_Use.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_Use.mkape と同じ * ToDo:不要 ## Windows/Windows_Net_User.mkape (新規) * kape-nttcom/Modules/LiveResponse/NetSystemInfo_User.mkape と同じ * ToDo:不要 ## Windows/Windows_qwinsta_RDPSessions.mkape (新規) * kape-nttcom/Modules/LiveResponse/qwinsta.mkape と同じ * ToDo:不要 ## Windows/Windows_RoutingTable.mkape (新規) * kape-nttcom/Modules/LiveResponse/RoutingTable.mkape と同じ * ToDo:不要 ## Windows/Windows_schtasks.mkape (新規) * schtasks.exe /Query /V /FO CSV を実行 * apt-scan、Winaudit など、ほかのポイントで取得する情報とかぶる。不要 * ToDo:不要 ## Windows/Windows_SystemInfo.mkape (新規) * kape-nttcom/Modules/LiveResponse/SystemInfo.mkape と同じ * ToDo:不要