Seatbelt 是一個 C# 項目,從進攻性和防禦性安全角度執行許多面向安全的主機調查「安全檢查」。
@andrewchiles 的 HostEnum.ps1 腳本和 @tifkin_ 的 Get-HostProfile.ps1 為許多要收集的工件提供了靈感。
@harmj0y 和 @tifkin_ 是此實作的主要作者。
Seatbelt 根據 BSD 3-Clause 許可證獲得許可。
%&&@@@&&
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
#####%###################### %%%.. @////(((&%%%%%%%################
&%& %%%%% 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 設定(如果已安裝) |
ARP表 | 列出目前的ARP表和適配器資訊(相當於arp -a) |
審計政策 | 枚舉經典和進階審核策略設置 |
審計策略註冊中心 | 透過註冊表審核設置 |
自動運行 | 自動運行可執行檔/腳本/程序 |
證書 | 使用者和機器個人憑證文件 |
證書指紋 | 系統上所有憑證儲存憑證的指紋 |
信用衛士 | CredentialGuard 配置 |
DNS快取 | DNS 快取項目(透過 WMI) |
點網 | 點網版本 |
環境路徑 | 目前環境%PATH$資料夾和SDDL訊息 |
環境變數 | 目前使用者環境變數 |
修補程式 | 安裝的修補程式(透過 WMI) |
有趣的過程 | 「有趣的」流程 - 防禦產品與管理工具 |
網路設定 | 互聯網設置,包括代理配置 |
拉普斯 | LAPS 設定(如果已安裝) |
上次關機時間 | 返回上次系統關閉的日期時間(透過登錄) |
本地GPO | 應用於電腦/本機使用者的本機群組原則設定 |
本地群組 | 非空本機群組,「full」顯示所有群組(參數 == 要列舉的電腦名稱) |
本地用戶 | 本地用戶,無論他們是活動的還是禁用的,以及最後設定的密碼(參數 == 要列舉的電腦名稱) |
登入會話 | 安全事件日誌中的登入事件(事件 ID 4624)。預設為 10 天,參數 == 最近 X 天。 |
LSA設定 | LSA設定(包括auth套件) |
McAfee配置 | 尋找 McAfee 設定文件 |
命名管道 | 命名管道名稱和任何可讀的 ACL 訊息 |
網路設定檔 | Windows 網路設定檔 |
網路分享 | 機器公開的網路共享(透過 WMI) |
NTLM設定 | NTLM 驗證設定 |
選用功能 | 待辦事項 |
作業系統資訊 | 基本作業系統資訊(即架構、作業系統版本等) |
開機事件 | 基於系統事件日誌 EID 1、12、13、42 和 6008 的重新啟動和睡眠計劃。 |
電源外殼 | PowerShell 版本和安全性設定 |
流程 | 使用不包含“Microsoft”的文件資訊公司名稱運行進程,“full”列舉所有進程 |
PS會話設定 | 從登錄中列舉 PS 會話設置 |
RDP 會話 | 目前傳入的 RDP 會話(參數 == 要列舉的電腦名稱) |
RDP設定 | 遠端桌面伺服器/客戶端設置 |
SCCM | 系統中心配置管理器 (SCCM) 設定(如果適用) |
服務 | 文件資訊公司名稱不包含「Microsoft」的服務,「完整」轉儲所有進程 |
系統監控程式 | 來自註冊表的 Sysmon 配置 |
TCP連線 | 當前 TCP 連線及其關聯的進程和服務 |
代幣特權 | 目前啟用的令牌權限(例如 SeDebugPrivilege/等) |
聯合應用中心 | 通過註冊表的UAC系統策略 |
UDP連接 | 目前 UDP 連線以及關聯的進程和服務 |
使用者權限分配 | 配置的使用者權限分配(例如 SeDenyNetworkLogonRight、SeShutdownPrivilege 等)參數 == 要列舉的電腦名 |
Wifi設定檔 | 待辦事項 |
Windows自動登入 | 註冊表自動登入訊息 |
Windows衛士 | Windows Defender 設定(包含排除位置) |
Windows事件轉送 | 透過登錄進行 Windows 事件轉送 (WEF) 設定 |
Windows防火牆 | 非標準防火牆規則,「完整」轉儲所有(參數==允許/拒絕/tcp/udp/in/out/domain/private/public) |
WMI事件消費者 | 列出 WMI 事件使用者 |
WMI事件過濾器 | 列出 WMI 事件過濾器 |
WMI過濾器綁定 | 列出 WMI 篩選器到使用者綁定 |
世界州立大學 | Windows Server 更新服務 (WSUS) 設定(如果適用) |
執行檢查,挖掘有關目前登入使用者(如果未提升)或所有使用者(如果提升)的有趣資料。
執行方式: Seatbelt.exe -group=user
命令 | 描述 |
---|---|
證書 | 使用者和機器個人憑證文件 |
證書指紋 | 系統上所有憑證儲存憑證的指紋 |
鉻存在 | 檢查是否有有趣的 Chrome/Edge/Brave/Opera 文件 |
雲端憑證 | AWS/Google/Azure 雲端憑證文件 |
雲端同步提供者 | 待辦事項 |
信用枚舉 | 使用 CredEnumerate() 列舉目前使用者所儲存的憑證 |
目錄 | 列出文件/資料夾。預設情況下,列出使用者的下載、文件和桌面資料夾(參數 == <directory> <深度> <regex> |
Dpapi萬能鑰匙 | 列出 DPAPI 主金鑰 |
註冊表命令 | 待辦事項 |
探索者MRU | 資源管理器最近使用的檔案(最近 7 天,參數 == 最近 X 天) |
資源管理器運行命令 | 最近的資源管理器「運行」命令 |
文件齊拉 | FileZilla 設定檔 |
火狐瀏覽器 | 檢查是否存在感興趣的 Firefox 文件 |
空閒時間 | 傳回自目前使用者上次輸入以來的秒數。 |
IE收藏夾 | Internet Explorer 收藏夾 |
IE標籤 | 開啟 Internet Explorer 標籤 |
IEURLs | Internet Explorer 輸入的 URL(最近 7 天,參數 == 最近 X 天) |
凱通 | 待辦事項 |
映射驅動器 | 使用者的映射驅動器(透過 WMI) |
辦公室MRU | Office 最近使用的文件清單(最近 7 天) |
記事本 | 待辦事項 |
OracleSQL開發者 | 待辦事項 |
PowerShell歷史記錄 | 遍歷每個本機使用者並嘗試讀取他們的 PowerShell 控制台歷史記錄,如果成功將列印它 |
Putty主機金鑰 | 已儲存的 Putty SSH 主機金鑰 |
Putty會話 | 已儲存的 Putty 設定(有趣的欄位)和 SSH 主機金鑰 |
RDCManFiles | Windows 遠端桌面連線管理員設定文件 |
RDP保存的連接 | 儲存在登錄中的 RDP 連接 |
SecPackageCreds | 從安全包中取得憑證 |
Slack下載 | 解析任何找到的“slack-downloads”文件 |
鬆弛存在 | 檢查是否有興趣的 Slack 文件 |
Slack工作空間 | 解析任何找到的“slack-workspaces”文件 |
超膩子 | SuperPutty設定檔 |
令牌組 | 目前令牌的本機群組和網域群組 |
Windows憑證文件 | Windows 憑證 DPAPI blob |
WindowsVault | 儲存在 Windows Vault 中的憑證(即從 Internet Explorer 和 Edge 登入)。 |
執行所有雜項檢查。
執行方式: Seatbelt.exe -group=misc
命令 | 描述 |
---|---|
Chromium書籤 | 解析任何找到的 Chrome/Edge/Brave/Opera 書籤文件 |
Chromium歷史 | 解析任何找到的 Chrome/Edge/Brave/Opera 歷史文件 |
明確登入事件 | 安全事件日誌中的明確登入事件(事件 ID 4648)。預設為 7 天,參數 == 最近 X 天。 |
文件訊息 | 有關文件的資訊(版本資訊、時間戳記、基本 PE 資訊等)參數 == 文件路徑 |
火狐歷史記錄 | 解析任何找到的 FireFox 歷史文件 |
已安裝產品 | 透過註冊表安裝的產品 |
有趣的文件 | 與使用者資料夾中的各種模式相符的「有趣」檔案。注意:需要花費不小的時間。 |
登入事件 | 安全事件日誌中的登入事件(事件 ID 4624)。預設為 10 天,參數 == 最近 X 天。 |
洛巴斯 | 定位系統上的 Living Off The Land 二進位檔案和腳本 (LOLBAS)。注意:需要花費不小的時間。 |
麥克菲站點列表 | 解密任何找到的 McAfee SiteList.xml 設定檔。 |
微軟更新 | 所有 Microsoft 更新(透過 COM) |
Outlook下載 | 列出 Outlook 下載的文件 |
PowerShell事件 | PowerShell 腳本區塊日誌 (4104) 包含敏感資料。 |
印表機 | 安裝的印表機(透過 WMI) |
流程建立事件 | 包含敏感資料的進程建立日誌 (4688)。 |
流程擁有者 | 與擁有者一起執行非會話 0 進程清單。供遠端使用。 |
回收站 | 過去 30 天內刪除的回收站中的項目 - 僅適用於使用者情境! |
註冊 | 註冊表項值(預設為 HKLMSoftware)參數 == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
RPC映射端點 | 目前映射的 RPC 端點 |
計劃任務 | 排程任務(透過 WMI)不是由「Microsoft」編寫的,「完整」轉儲所有計畫任務 |
搜尋索引 | 來自 Windows 搜尋索引的查詢結果,預設術語「密碼」。 (參數 == <搜尋路徑> <模式 1,模式 2,...> |
安全包 | 使用 EnumerateSecurityPackagesA() 列舉目前可用的安全包 |
Sysmon事件 | Sysmon 進程建立日誌 (1) 包含敏感資料。 |
執行方式: Seatbelt.exe -group=GROUPNAME
別名 | 描述 |
---|---|
鬆弛 | 運行以“Slack*”開頭的模組 |
鉻 | 運行以“Chromium*”開頭的模組 |
偏僻的 | 執行以下模組(用於遠端系統):AMSIProviders、AntiVirus、AuditPolicyRegistry、ChromiumPresence、CloudCredentials、DNSCache、DotNet、DpapiMasterKeys、EnvironmentVariables、ExplicitLogonEvents、ExplorerRunCommands、EnvironmentVariables、ExplicitLogonEvents、ExplorerRunCommands、Locool、Hotf onEvents 、LogonSessions、 LSASettings、MappedDrives、NetworkProfiles、NetworkShares、NTLMSettings、OptionalFeatures、OSInfo、PoweredOnEvents、PowerShell、ProcessOwners、PSSessionSettings、PuttyHostKeys、PuttySessions、RDPSavedConnections. |
接受參數的命令在其描述中註明。若要將參數傳遞給命令,請將命令參數括在雙引號中。
例如,以下命令傳回過去 30 天內的 4624 個登入事件:
Seatbelt.exe "LogonEvents 30"
以下命令查詢三層深度的註冊表,僅傳回與正規表示式.*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 針對 .NET 3.5 和 4.0 構建,具有 C# 8.0 功能,並且與 Visual Studio Community Edition 相容。只需開啟專案 .sln,選擇“發布”,然後建置。若要變更目標 .NET Framework 版本,請修改專案的設定並重建專案。
Seatbelt 包含各種收集項目、C# 程式碼片段以及在研究其功能過程中發現的 PoC 片段。這些想法、片段和作者在原始碼中的適當位置突出顯示,包括:
我們已盡力對引用進行盡職調查,但如果我們遺漏了某人/某物,請告訴我們!