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 的重新启动和睡眠计划。默认为 7 天,参数 == 最近 X 天。 |
电源外壳 | 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、FileZilla、Hotfixes、InterestingProcesses、KeePass、LastShutdown、LocalGroups、LocalUsers、LogonEvents , 登录会话, LSASettings、MappedDrives、NetworkProfiles、NetworkShares、NTLMSettings、OptionalFeatures、OSInfo、PoweredOnEvents、PowerShell、ProcessOwners、PSSessionSettings、PuttyHostKeys、PuttySessions、RDPSavedConnections、RDPSessions、RDPsettings、Sysmon、WindowsDefender、WindowsEventForwarding、WindowsFirewall |
接受参数的命令在其描述中注明。要将参数传递给命令,请将命令参数括在双引号中。
例如,以下命令返回过去 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 片段。这些想法、片段和作者在源代码中的适当位置突出显示,包括:
我们已尽力对引用进行尽职调查,但如果我们遗漏了某人/某物,请告诉我们!