Seatbelt は、攻撃的セキュリティと防御的セキュリティの両方の観点から関連する、セキュリティ指向のホスト調査「安全性チェック」を多数実行する C# プロジェクトです。
@andrewchiles の HostEnum.ps1 スクリプトと @tifkin_ の Get-HostProfile.ps1 は、収集するアーティファクトの多くにインスピレーションを与えました。
@harmj0y と @tifkin_ は、この実装の主な作成者です。
シートベルトは BSD 3 条項ライセンスに基づいてライセンスされています。
%&&@@@&&
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
#####%###################### %%%.. @////(((&%%%%%%%################
&%& %%%%% Seatbelt %////(((&%%%%%%%%#############*
&%%&&&%%%%% v1.2.1 ,(((&%%%%%%%%%%%%%%%%%,
#%%%%##,
Available commands (+ means remote usage is supported):
+ AMSIProviders - Providers registered for AMSI
+ AntiVirus - Registered antivirus (via WMI)
+ AppLocker - AppLocker settings, if installed
ARPTable - Lists the current ARP table and adapter information (equivalent to arp -a)
AuditPolicies - Enumerates classic and advanced audit policy settings
+ AuditPolicyRegistry - Audit settings via the registry
+ AutoRuns - Auto run executables/scripts/programs
azuread - Return AzureAD info
Certificates - Finds user and machine personal certificate files
CertificateThumbprints - Finds thumbprints for all certificate store certs on the system
+ ChromiumBookmarks - Parses any found Chrome/Edge/Brave/Opera bookmark files
+ ChromiumHistory - Parses any found Chrome/Edge/Brave/Opera history files
+ ChromiumPresence - Checks if interesting Chrome/Edge/Brave/Opera files exist
+ CloudCredentials - AWS/Google/Azure/Bluemix cloud credential files
+ CloudSyncProviders - All configured Office 365 endpoints (tenants and teamsites) which are synchronised by OneDrive.
CredEnum - Enumerates the current user's saved credentials using CredEnumerate()
+ CredGuard - CredentialGuard configuration
dir - Lists files/folders. By default, lists users' downloads, documents, and desktop folders (arguments == [directory] [maxDepth] [regex] [boolIgnoreErrors]
+ DNSCache - DNS cache entries (via WMI)
+ DotNet - DotNet versions
+ DpapiMasterKeys - List DPAPI master keys
EnvironmentPath - Current environment %PATH$ folders and SDDL information
+ EnvironmentVariables - Current environment variables
+ ExplicitLogonEvents - Explicit Logon events (Event ID 4648) from the security event log. Default of 7 days, argument == last X days.
ExplorerMRUs - Explorer most recently used files (last 7 days, argument == last X days)
+ ExplorerRunCommands - Recent Explorer "run" commands
FileInfo - Information about a file (version information, timestamps, basic PE info, etc. argument(s) == file path(s)
+ FileZilla - FileZilla configuration files
+ FirefoxHistory - Parses any found FireFox history files
+ FirefoxPresence - Checks if interesting Firefox files exist
+ Hotfixes - Installed hotfixes (via WMI)
IdleTime - Returns the number of seconds since the current user's last input.
+ IEFavorites - Internet Explorer favorites
IETabs - Open Internet Explorer tabs
+ IEUrls - Internet Explorer typed URLs (last 7 days, argument == last X days)
+ InstalledProducts - Installed products via the registry
InterestingFiles - "Interesting" files matching various patterns in the user's folder. Note: takes non-trivial time.
+ InterestingProcesses - "Interesting" processes - defensive products and admin tools
InternetSettings - Internet settings including proxy configs and zones configuration
+ KeePass - Finds KeePass configuration files
+ LAPS - LAPS settings, if installed
+ LastShutdown - Returns the DateTime of the last system shutdown (via the registry).
LocalGPOs - Local Group Policy settings applied to the machine/local users
+ LocalGroups - Non-empty local groups, "-full" displays all groups (argument == computername to enumerate)
+ LocalUsers - Local users, whether they're active/disabled, and pwd last set (argument == computername to enumerate)
+ LogonEvents - Logon events (Event ID 4624) from the security event log. Default of 10 days, argument == last X days.
+ LogonSessions - Windows logon sessions
LOLBAS - Locates Living Off The Land Binaries and Scripts (LOLBAS) on the system. Note: takes non-trivial time.
+ LSASettings - LSA settings (including auth packages)
+ MappedDrives - Users' mapped drives (via WMI)
McAfeeConfigs - Finds McAfee configuration files
McAfeeSiteList - Decrypt any found McAfee SiteList.xml configuration files.
MicrosoftUpdates - All Microsoft updates (via COM)
MTPuTTY - MTPuTTY configuration files
NamedPipes - Named pipe names, any readable ACL information and associated process information.
+ NetworkProfiles - Windows network profiles
+ NetworkShares - Network shares exposed by the machine (via WMI)
+ NTLMSettings - NTLM authentication settings
OfficeMRUs - Office most recently used file list (last 7 days)
OneNote - List OneNote backup files
+ OptionalFeatures - List Optional Features/Roles (via WMI)
OracleSQLDeveloper - Finds Oracle SQLDeveloper connections.xml files
+ OSInfo - Basic OS info (i.e. architecture, OS version, etc.)
+ OutlookDownloads - List files downloaded by Outlook
+ PoweredOnEvents - Reboot and sleep schedule based on the System event log EIDs 1, 12, 13, 42, and 6008. Default of 7 days, argument == last X days.
+ PowerShell - PowerShell versions and security settings
+ PowerShellEvents - PowerShell script block logs (4104) with sensitive data.
+ PowerShellHistory - Searches PowerShell console history files for sensitive regex matches.
Printers - Installed Printers (via WMI)
+ ProcessCreationEvents - Process creation logs (4688) with sensitive data.
Processes - Running processes with file info company names that don't contain 'Microsoft', "-full" enumerates all processes
+ ProcessOwners - Running non-session 0 process list with owners. For remote use.
+ PSSessionSettings - Enumerates PS Session Settings from the registry
+ PuttyHostKeys - Saved Putty SSH host keys
+ PuttySessions - Saved Putty configuration (interesting fields) and SSH host keys
RDCManFiles - Windows Remote Desktop Connection Manager settings files
+ RDPSavedConnections - Saved RDP connections stored in the registry
+ RDPSessions - Current incoming RDP sessions (argument == computername to enumerate)
+ RDPsettings - Remote Desktop Server/Client Settings
RecycleBin - Items in the Recycle Bin deleted in the last 30 days - only works from a user context!
reg - Registry key values (HKLMSoftware by default) argument == [Path] [intDepth] [Regex] [boolIgnoreErrors]
RPCMappedEndpoints - Current RPC endpoints mapped
+ SCCM - System Center Configuration Manager (SCCM) settings, if applicable
+ ScheduledTasks - Scheduled tasks (via WMI) that aren't authored by 'Microsoft', "-full" dumps all Scheduled tasks
SearchIndex - Query results from the Windows Search Index, default term of 'passsword'. (argument(s) == <search path> <pattern1,pattern2,...>
SecPackageCreds - Obtains credentials from security packages
+ SecureBoot - Secure Boot configuration
SecurityPackages - Enumerates the security packages currently available using EnumerateSecurityPackagesA()
Services - Services with file info company names that don't contain 'Microsoft', "-full" dumps all processes
+ SlackDownloads - Parses any found 'slack-downloads' files
+ SlackPresence - Checks if interesting Slack files exist
+ SlackWorkspaces - Parses any found 'slack-workspaces' files
+ SuperPutty - SuperPutty configuration files
+ Sysmon - Sysmon configuration from the registry
+ SysmonEvents - Sysmon process creation logs (1) with sensitive data.
TcpConnections - Current TCP connections and their associated processes and services
TokenGroups - The current token's local and domain groups
TokenPrivileges - Currently enabled token privileges (e.g. SeDebugPrivilege/etc.)
+ UAC - UAC system policies via the registry
UdpConnections - Current UDP connections and associated processes and services
UserRightAssignments - Configured User Right Assignments (e.g. SeDenyNetworkLogonRight, SeShutdownPrivilege, etc.) argument == computername to enumerate
WifiProfile - Enumerates the saved Wifi profiles and extract the ssid, authentication type, cleartext key/passphrase (when possible)
+ WindowsAutoLogon - Registry autologon information
WindowsCredentialFiles - Windows credential DPAPI blobs
+ WindowsDefender - Windows Defender settings (including exclusion locations)
+ WindowsEventForwarding - Windows Event Forwarding (WEF) settings via the registry
+ WindowsFirewall - Non-standard firewall rules, "-full" dumps all (arguments == allow/deny/tcp/udp/in/out/domain/private/public)
WindowsVault - Credentials saved in the Windows Vault (i.e. logins from Internet Explorer and Edge).
+ WMI - Runs a specified WMI query
WMIEventConsumer - Lists WMI Event Consumers
WMIEventFilter - Lists WMI Event Filters
WMIFilterBinding - Lists WMI Filter to Consumer Bindings
+ WSUS - Windows Server Update Services (WSUS) settings, if applicable
Seatbelt has the following command groups: All, User, System, Slack, Chromium, Remote, Misc
You can invoke command groups with "Seatbelt.exe <group>"
Or command groups except specific commands "Seatbelt.exe <group> -Command"
"Seatbelt.exe -group=all" runs all commands
"Seatbelt.exe -group=user" runs the following commands:
azuread, Certificates, CertificateThumbprints, ChromiumPresence, CloudCredentials,
CloudSyncProviders, CredEnum, dir, DpapiMasterKeys,
ExplorerMRUs, ExplorerRunCommands, FileZilla, FirefoxPresence,
IdleTime, IEFavorites, IETabs, IEUrls,
KeePass, MappedDrives, MTPuTTY, OfficeMRUs,
OneNote, OracleSQLDeveloper, PowerShellHistory, PuttyHostKeys,
PuttySessions, RDCManFiles, RDPSavedConnections, SecPackageCreds,
SlackDownloads, SlackPresence, SlackWorkspaces, SuperPutty,
TokenGroups, WindowsCredentialFiles, WindowsVault
"Seatbelt.exe -group=system" runs the following commands:
AMSIProviders, AntiVirus, AppLocker, ARPTable, AuditPolicies,
AuditPolicyRegistry, AutoRuns, Certificates, CertificateThumbprints,
CredGuard, DNSCache, DotNet, EnvironmentPath,
EnvironmentVariables, Hotfixes, InterestingProcesses, InternetSettings,
LAPS, LastShutdown, LocalGPOs, LocalGroups,
LocalUsers, LogonSessions, LSASettings, McAfeeConfigs,
NamedPipes, NetworkProfiles, NetworkShares, NTLMSettings,
OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell,
Processes, PSSessionSettings, RDPSessions, RDPsettings,
SCCM, SecureBoot, Services, Sysmon,
TcpConnections, TokenPrivileges, UAC, UdpConnections,
UserRightAssignments, WifiProfile, WindowsAutoLogon, WindowsDefender,
WindowsEventForwarding, WindowsFirewall, WMI, WMIEventConsumer,
WMIEventFilter, WMIFilterBinding, WSUS
"Seatbelt.exe -group=slack" runs the following commands:
SlackDownloads, SlackPresence, SlackWorkspaces
"Seatbelt.exe -group=chromium" runs the following commands:
ChromiumBookmarks, ChromiumHistory, ChromiumPresence
"Seatbelt.exe -group=remote" runs the following commands:
AMSIProviders, AntiVirus, AuditPolicyRegistry, ChromiumPresence, CloudCredentials,
DNSCache, DotNet, DpapiMasterKeys, EnvironmentVariables,
ExplicitLogonEvents, ExplorerRunCommands, FileZilla, Hotfixes,
InterestingProcesses, KeePass, LastShutdown, LocalGroups,
LocalUsers, LogonEvents, LogonSessions, LSASettings,
MappedDrives, NetworkProfiles, NetworkShares, NTLMSettings,
OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell,
ProcessOwners, PSSessionSettings, PuttyHostKeys, PuttySessions,
RDPSavedConnections, RDPSessions, RDPsettings, SecureBoot,
Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall
"Seatbelt.exe -group=misc" runs the following commands:
ChromiumBookmarks, ChromiumHistory, ExplicitLogonEvents, FileInfo, FirefoxHistory,
InstalledProducts, InterestingFiles, LogonEvents, LOLBAS,
McAfeeSiteList, MicrosoftUpdates, OutlookDownloads, PowerShellEvents,
Printers, ProcessCreationEvents, ProcessOwners, RecycleBin,
reg, RPCMappedEndpoints, ScheduledTasks, SearchIndex,
SecurityPackages, SysmonEvents
Examples:
'Seatbelt.exe <Command> [Command2] ...' will run one or more specified checks only
'Seatbelt.exe <Command> -full' will return complete results for a command without any filtering.
'Seatbelt.exe "<Command> [argument]"' will pass an argument to a command that supports it (note the quotes).
'Seatbelt.exe -group=all' will run ALL enumeration checks, can be combined with "-full".
'Seatbelt.exe -group=all -AuditPolicies' will run all enumeration checks EXCEPT AuditPolicies, can be combined with "-full".
'Seatbelt.exe <Command> -computername=COMPUTER.DOMAIN.COM [-username=DOMAINUSER -password=PASSWORD]' will run an applicable check remotely
'Seatbelt.exe -group=remote -computername=COMPUTER.DOMAIN.COM [-username=DOMAINUSER -password=PASSWORD]' will run remote specific checks
'Seatbelt.exe -group=system -outputfile="C:Tempout.txt"' will run system checks and output to a .txt file.
'Seatbelt.exe -group=user -q -outputfile="C:Tempout.json"' will run in quiet mode with user checks and output to a .json file.
注:ターゲット ユーザーの検索は、昇格されていない場合は現在のユーザーに対して実行され、昇格されている場合はすべてのユーザーに対して実行されます。
注:多くのコマンドは、デフォルトで何らかのタイプのフィルタリングを実行します。 -full
引数を指定すると、出力のフィルタリングが防止されます。また、コマンド グループall
は現在のチェックをすべて実行します。
たとえば、次のコマンドはすべてのチェックを実行し、すべての出力を返します。
Seatbelt.exe -group=all -full
システムに関する興味深いデータをマイニングするチェックを実行します。
実行方法: Seatbelt.exe -group=system
指示 | 説明 |
---|---|
AMSIプロバイダー | AMSI に登録されているプロバイダー |
ウイルス対策 | 登録済みアンチウイルス (WMI 経由) |
アプリロッカー | AppLocker 設定 (インストールされている場合) |
ARPTテーブル | 現在の ARP テーブルとアダプター情報をリストします (arp -a と同等)。 |
監査ポリシー | 従来の監査ポリシー設定と高度な監査ポリシー設定を列挙します |
監査ポリシーレジストリ | レジストリを介した監査設定 |
自動実行 | 実行可能ファイル/スクリプト/プログラムを自動実行する |
証明書 | ユーザーおよびマシンの個人証明書ファイル |
証明書の拇印 | システム上のすべての証明書ストア証明書のサムプリント |
クレッドガード | CredentialGuard の構成 |
DNSキャッシュ | DNS キャッシュ エントリ (WMI 経由) |
ドットネット | ドットネットのバージョン |
環境パス | 現在の環境の%PATH$フォルダとSDDL情報 |
環境変数 | 現在のユーザー環境変数 |
ホットフィックス | インストールされたホットフィックス (WMI 経由) |
興味深いプロセス | 「興味深い」プロセス - 防御製品と管理ツール |
インターネット設定 | プロキシ構成を含むインターネット設定 |
ラップ | LAPS 設定 (インストールされている場合) |
最終シャットダウン | 最後にシステムをシャットダウンした日時を (レジストリ経由で) 返します。 |
ローカルGPO | マシン/ローカル ユーザーに適用されるローカル グループ ポリシー設定 |
ローカルグループ | 空ではないローカル グループ、「full」はすべてのグループを表示します (引数 == 列挙するコンピューター名) |
ローカルユーザー | ローカル ユーザー、アクティブか無効か、および最後に設定されたパスワード (引数 == 列挙するコンピューター名) |
ログオンセッション | セキュリティ イベント ログからのログオン イベント (イベント ID 4624)。デフォルトは 10 日、引数 == 過去 X 日間。 |
LSA設定 | LSA 設定 (認証パッケージを含む) |
マカフィー構成 | マカフィー設定ファイルを検索します |
名前付きパイプ | 名前付きパイプ名と読み取り可能な ACL 情報 |
ネットワークプロファイル | Windows ネットワーク プロファイル |
ネットワークシェア | マシンによって公開されるネットワーク共有 (WMI 経由) |
NTLM設定 | NTLM認証設定 |
オプション機能 | TODO |
OS情報 | 基本的な OS 情報 (つまり、アーキテクチャ、OS バージョンなど) |
パワードオンイベント | システム イベント ログ EID 1、12、13、42、および 6008 に基づいて再起動とスリープのスケジュールを設定します。デフォルトは 7 日間、引数 == 過去 X 日間です。 |
パワーシェル | PowerShell のバージョンとセキュリティ設定 |
プロセス | 「Microsoft」を含まない会社名ファイル情報を持つプロセスを実行すると、「完全」はすべてのプロセスを列挙します |
PSセッション設定 | レジストリから PS セッション設定を列挙します |
RDPSセッション | 現在の受信 RDP セッション (引数 == 列挙するコンピューター名) |
RDP設定 | リモート デスクトップ サーバー/クライアントの設定 |
SCCM | System Center Configuration Manager (SCCM) 設定 (該当する場合) |
サービス | ファイル情報の会社名に「Microsoft」が含まれていないサービス、「フル」はすべてのプロセスをダンプします |
シズモン | レジストリからの Sysmon 構成 |
Tcp接続 | 現在の TCP 接続とそれに関連するプロセスとサービス |
トークン特権 | 現在有効なトークン権限 (SeDebugPrivilege など) |
UAC | レジストリを介した UAC システム ポリシー |
Udp接続 | 現在の UDP 接続と関連するプロセスとサービス |
UserRightAssignments | 構成されたユーザー権限の割り当て (例: SeDenyNetworkLogonRight、SeShutdownPrivilege など) 引数 == 列挙するコンピューター名 |
Wifiプロファイル | TODO |
Windows自動ログオン | レジストリ自動ログオン情報 |
WindowsDefender | Windows Defender の設定 (除外場所を含む) |
Windowsイベント転送 | レジストリによる Windows イベント転送 (WEF) 設定 |
Windowsファイアウォール | 非標準のファイアウォール ルール、「完全」はすべてをダンプします (引数 == allowed/deny/tcp/udp/in/out/domain/private/public) |
WMIEイベントコンシューマ | WMI イベント コンシューマをリストします。 |
WMIEイベントフィルター | WMIイベントフィルターをリストします。 |
WMIFilterBinding | WMI フィルタとコンシューマ バインディングをリストします。 |
WSUS | Windows Server Update Services (WSUS) 設定 (該当する場合) |
現在ログオンしているユーザー (昇格されていない場合) またはすべてのユーザー (昇格されている場合) に関する興味深いデータをマイニングするチェックを実行します。
実行方法: Seatbelt.exe -group=user
指示 | 説明 |
---|---|
証明書 | ユーザーおよびマシンの個人証明書ファイル |
証明書の拇印 | システム上のすべての証明書ストア証明書のサムプリント |
クロムの存在 | 興味深い Chrome/Edge/Brave/Opera ファイルが存在するかどうかを確認します |
クラウド認証情報 | AWS/Google/Azure クラウド認証情報ファイル |
クラウド同期プロバイダー | TODO |
CredEnum | CredEnumerate() を使用して、現在のユーザーの保存された資格情報を列挙します。 |
ディレクトリ | ファイル/フォルダーを一覧表示します。デフォルトでは、ユーザーのダウンロード、ドキュメント、デスクトップ フォルダーが一覧表示されます (引数 == <ディレクトリ> <深さ> <正規表現> |
DpapiMasterKeys | DPAPIマスターキーをリストする |
Dsregcmd | TODO |
ExplorerMRU | エクスプローラーで最近使用したファイル (過去 7 日間、引数 == 過去 X 日間) |
エクスプローラーの実行コマンド | 最近の Explorer の「実行」コマンド |
ファイルジラ | FileZilla 設定ファイル |
Firefoxの存在 | 興味深い Firefox ファイルが存在するかどうかを確認します |
アイドル時間 | 現在のユーザーの最後の入力からの秒数を返します。 |
IEお気に入り | Internet Explorerのお気に入り |
IETab | Internet Explorerのタブを開く |
IEUrls | Internet Explorer で入力された URL (過去 7 日間、引数 == 過去 X 日間) |
キーパス | TODO |
マップされたドライブ | ユーザーのマップされたドライブ (WMI 経由) |
OfficeMRU | Office で最近使用したファイルのリスト (過去 7 日間) |
OneNote | TODO |
OracleSQL開発者 | TODO |
PowerShellの歴史 | すべてのローカル ユーザーを反復処理し、PowerShell コンソール履歴の読み取りを試行し、成功した場合は出力します。 |
パテホストキー | 保存された Putty SSH ホスト キー |
パテセッション | 保存された Putty 設定 (興味深いフィールド) と SSH ホスト キー |
RDCManFiles | Windows リモート デスクトップ接続マネージャー設定ファイル |
RDPSavedConnections | レジストリに保存された保存済み RDP 接続 |
SecPackageCreds | セキュリティパッケージから認証情報を取得します |
Slackダウンロード | 見つかった「slack-downloads」ファイルを解析します |
スラックプレゼンス | 興味深い Slack ファイルが存在するかどうかを確認します |
Slackワークスペース | 見つかった「slack-workspaces」ファイルを解析します |
スーパーパテ | SuperPutty 構成ファイル |
トークングループ | 現在のトークンのローカル グループとドメイン グループ |
Windows資格情報ファイル | Windows 資格情報 DPAPI BLOB |
WindowsVault | Windows Vault に保存された資格情報 (つまり、Internet Explorer および Edge からのログイン)。 |
さまざまなチェックをすべて実行します。
実行方法: Seatbelt.exe -group=misc
指示 | 説明 |
---|---|
クロムブックマーク | 見つかった Chrome/Edge/Brave/Opera ブックマーク ファイルを解析します |
クロムの歴史 | 見つかった Chrome/Edge/Brave/Opera 履歴ファイルを解析します |
ExplicitLogonEvents | セキュリティ イベント ログからの明示的なログオン イベント (イベント ID 4648)。デフォルトは 7 日間、引数 == 過去 X 日間。 |
ファイル情報 | ファイルに関する情報 (バージョン情報、タイムスタンプ、基本的な PE 情報など) 引数 == ファイル パス |
Firefoxの歴史 | 見つかった Firefox 履歴ファイルを解析します |
インストールされている製品 | レジストリ経由でインストールされた製品 |
興味深いファイル | ユーザーのフォルダー内のさまざまなパターンに一致する「興味深い」ファイル。注: かなり時間がかかります。 |
ログオンイベント | セキュリティ イベント ログからのログオン イベント (イベント ID 4624)。デフォルトは 10 日、引数 == 過去 X 日間。 |
ロルバス | システム上の Living Off The Land Binaries and Scripts (LOLBAS) を見つけます。注: かなり時間がかかります。 |
マカフィーサイトリスト | 見つかった McAfee SiteList.xml 構成ファイルを復号化します。 |
Microsoftアップデート | すべての Microsoft アップデート (COM 経由) |
Outlookダウンロード | Outlook によってダウンロードされたファイルの一覧表示 |
PowerShellイベント | 機密データを含む PowerShell スクリプト ブロック ログ (4104)。 |
プリンター | インストールされているプリンター (WMI 経由) |
プロセス作成イベント | 機密データを含むプロセス作成ログ (4688)。 |
プロセス所有者 | 非セッション 0 プロセス リストを所有者とともに実行しています。遠隔使用用。 |
ごみ箱 | 過去 30 日以内に削除されたごみ箱内のアイテム - ユーザー コンテキストでのみ機能します。 |
登録 | レジストリ キーの値 (デフォルトでは HKLMSoftware) 引数 == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
RPCMappedEndpoints | 現在マッピングされている RPC エンドポイント |
スケジュールされたタスク | 「Microsoft」によって作成されていないスケジュールされたタスク (WMI 経由)、「完全」はすべてのスケジュールされたタスクをダンプします |
検索インデックス | Windows 検索インデックスからのクエリ結果。デフォルトの用語は「パスワード」です。 (引数 == <検索パス> <パターン 1,パターン 2,...> |
セキュリティパッケージ | EnumerateSecurityPackagesA() を使用して、現在利用可能なセキュリティ パッケージを列挙します。 |
Sysmonイベント | 機密データを含む Sysmon プロセス作成ログ (1)。 |
実行方法: Seatbelt.exe -group=GROUPNAME
エイリアス | 説明 |
---|---|
スラック | 「Slack*」で始まるモジュールを実行します |
クロム | 「Chromium*」で始まるモジュールを実行します |
リモート | 次のモジュールを実行します (リモート システムに対して使用するため): AMSIProviders、AntiVirus、AuditPolicyRegistry、ChromiumPresence、CloudCredentials、DNSCache、DotNet、DpapiMasterKeys、EnvironmentVariables、ExplicitLogonEvents、ExplorerRunCommands、FileZilla、Hotfixes、 InterestingProcesses、KeePass、LastShutdown、LocalGroups、LocalUsers、 LogonEvents、LogonSessions、LSASettings、MappedDrives、NetworkProfiles、NetworkShares、NTLMSettings、OptionalFunctions、OSInfo、PoweredOnEvents、PowerShell、ProcessOwners、PSSessionSettings、PuttyHostKeys、PuttySessions、RDPSavedConnections、RDPSessions、RDPsettings、Sysmon、WindowsDefender、 Windowsイベント転送、Windowsファイアウォール |
引数を受け入れるコマンドには、説明にその旨が記載されています。コマンドに引数を渡すには、コマンドと引数を二重引用符で囲みます。
たとえば、次のコマンドは、過去 30 日間の 4624 件のログオン イベントを返します。
Seatbelt.exe "LogonEvents 30"
次のコマンドは、レジストリを 3 レベルの深さでクエリし、正規表現.*defini.*
一致するキー/値名/値のみを返し、発生するエラーは無視します。
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
Seatbelt は-outputfile="C:Pathfile.txt"
引数を使用して出力をファイルにリダイレクトできます。ファイル パスが .json で終わる場合、出力は構造化された json になります。
たとえば、次のコマンドはシステム チェックの結果を txt ファイルに出力します。
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
ヘルプ メニューで + が付いているコマンドは、別のシステムに対してリモートで実行できます。これは、WMI クラスのクエリとレジストリ列挙用の WMI の StdRegProv を介して、WMI 経由で実行されます。
リモート システムを列挙するには、 -computername=COMPUTER.DOMAIN.COM
を指定します。 -username=DOMAINUSER -password=PASSWORD
で代替のユーザー名とパスワードを指定できます。
たとえば、次のコマンドは、リモート システムに対してリモートに重点を置いたチェックを実行します。
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
Seatbelt の構造は完全にモジュール化されており、追加のコマンド モジュールをファイル構造にドロップして動的にロードすることができます。
参照用に、コメント化されたコマンド モジュール テンプレートが.SeatbeltCommandsTemplate.cs
にあります。ビルドしたら、モジュールを論理ファイルの場所にドロップし、Visual Studio ソリューション エクスプローラーのプロジェクトに含めて、コンパイルします。
Seatbelt のバイナリをリリースする予定はないため、自分でコンパイルする必要があります。
Seatbelt は、C# 8.0 機能を備えた .NET 3.5 および 4.0 に対して構築されており、Visual Studio Community Edition と互換性があります。プロジェクト .sln を開いて「リリース」を選択し、ビルドするだけです。ターゲットの .NET Framework バージョンを変更するには、プロジェクトの設定を変更し、プロジェクトをリビルドします。
Seatbelt には、さまざまなコレクション アイテム、コード C# スニペット、および機能に関する調査全体で見つかった PoC の一部が組み込まれています。これらのアイデア、スニペット、および作成者は、ソース コード内の適切な場所で強調表示されており、次のものが含まれます。
私たちは引用に関してデューデリジェンスを行うよう努めてきましたが、誰か/何かを省略した場合は、お知らせください。