Seatbelt ist ein C#-Projekt, das eine Reihe sicherheitsorientierter Host-Umfrage-„Sicherheitsüberprüfungen“ durchführt, die sowohl aus offensiver als auch aus defensiver Sicherheitsperspektive relevant sind.
Das HostEnum.ps1-Skript von @andrewchiles und Get-HostProfile.ps1 von @tifkin_ lieferten Inspiration für viele der zu sammelnden Artefakte.
@harmj0y und @tifkin_ sind die Hauptautoren dieser Implementierung.
Seatbelt ist unter der BSD 3-Clause-Lizenz lizenziert.
%&&@@@&&
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
#####%###################### %%%.. @////(((&%%%%%%%################
&%& %%%%% 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.
Hinweis: Suchvorgänge, die Zielbenutzer sind, werden für den aktuellen Benutzer ausgeführt, wenn diese nicht erhöht sind, und für ALLE Benutzer, wenn sie erhöht sind.
Hinweis: Viele Befehle führen standardmäßig eine Art Filterung durch. Durch die Angabe des Arguments -full
wird das Filtern der Ausgabe verhindert. Außerdem führt die Befehlsgruppe all
alle aktuellen Prüfungen aus.
Der folgende Befehl führt beispielsweise ALLE Prüfungen aus und gibt ALLE Ausgaben zurück:
Seatbelt.exe -group=all -full
Führt Prüfungen durch, die interessante Daten über das System sammeln.
Ausgeführt mit: Seatbelt.exe -group=system
Befehl | Beschreibung |
---|---|
AMSIProviders | Für AMSI registrierte Anbieter |
AntiVirus | Registriertes Antivirenprogramm (über WMI) |
AppLocker | AppLocker-Einstellungen, falls installiert |
ARPTable | Listet die aktuelle ARP-Tabelle und Adapterinformationen auf (entspricht arp -a) |
Audit-Richtlinien | Listet klassische und erweiterte Überwachungsrichtlinieneinstellungen auf |
AuditPolicyRegistry | Überwachen Sie die Einstellungen über die Registrierung |
AutoRuns | Ausführbare Dateien/Skripte/Programme automatisch ausführen |
Zertifikate | Persönliche Zertifikatsdateien für Benutzer und Computer |
ZertifikatFingerabdrücke | Fingerabdrücke für alle Zertifikatspeicherzertifikate auf dem System |
CredGuard | CredentialGuard-Konfiguration |
DNSCache | DNS-Cache-Einträge (über WMI) |
DotNet | DotNet-Versionen |
Umgebungspfad | Aktuelle %PATH$-Ordner und SDDL-Informationen der Umgebung |
Umgebungsvariablen | Aktuelle Benutzerumgebungsvariablen |
Hotfixes | Installierte Hotfixes (über WMI) |
Interessante Prozesse | „Interessante“ Prozesse – defensive Produkte und Admin-Tools |
Interneteinstellungen | Interneteinstellungen einschließlich Proxy-Konfigurationen |
RUNDEN | LAPS-Einstellungen, falls installiert |
LastShutdown | Gibt die DateTime des letzten System-Shutdowns zurück (über die Registry) |
Lokale Gruppenrichtlinienobjekte | Lokale Gruppenrichtlinieneinstellungen, die auf den Computer/lokale Benutzer angewendet werden |
Lokale Gruppen | Nicht leere lokale Gruppen, „voll“ zeigt alle Gruppen an (Argument == aufzulistender Computername) |
LokaleBenutzer | Lokale Benutzer, ob sie aktiv/deaktiviert sind und zuletzt festgelegtes Passwort (Argument == Computername zum Aufzählen) |
Anmeldesitzungen | Anmeldeereignisse (Ereignis-ID 4624) aus dem Sicherheitsereignisprotokoll. Standardwert 10 Tage, Argument == letzte X Tage. |
LSASettings | LSA-Einstellungen (einschließlich Authentifizierungspakete) |
McAfeeConfigs | Findet McAfee-Konfigurationsdateien |
NamedPipes | Benannte Pipe-Namen und alle lesbaren ACL-Informationen |
Netzwerkprofile | Windows-Netzwerkprofile |
NetworkShares | Von der Maschine bereitgestellte Netzwerkfreigaben (über WMI) |
NTLMSettings | NTLM-Authentifizierungseinstellungen |
Optionale Funktionen | TODO |
OSInfo | Grundlegende Betriebssysteminformationen (z. B. Architektur, Betriebssystemversion usw.) |
PoweredOnEvents | Neustart- und Ruhezustandsplan basierend auf den Systemereignisprotokoll-EIDs 1, 12, 13, 42 und 6008. Standardmäßig 7 Tage, Argument == letzte X Tage. |
PowerShell | PowerShell-Versionen und Sicherheitseinstellungen |
Prozesse | Beim Ausführen von Prozessen mit Dateiinfo-Firmennamen, die nicht „Microsoft“ enthalten, werden mit „vollständig“ alle Prozesse aufgelistet |
PSSessionSettings | Listet PS-Sitzungseinstellungen aus der Registrierung auf |
RDPSessions | Aktuelle eingehende RDP-Sitzungen (Argument == Computername zum Aufzählen) |
RDP-Einstellungen | Remotedesktop-Server-/Client-Einstellungen |
SCCM | Einstellungen des System Center Configuration Manager (SCCM), falls zutreffend |
Dienstleistungen | Bei Diensten mit Dateiinfo-Firmennamen, die nicht „Microsoft“ enthalten, werden bei „vollständig“ alle Prozesse gelöscht |
Sysmon | Sysmon-Konfiguration aus der Registrierung |
TcpConnections | Aktuelle TCP-Verbindungen und die damit verbundenen Prozesse und Dienste |
Tokenprivilegien | Derzeit aktivierte Token-Berechtigungen (z. B. SeDebugPrivilege/etc.) |
UAC | UAC-Systemrichtlinien über die Registrierung |
UdpConnections | Aktuelle UDP-Verbindungen und zugehörige Prozesse und Dienste |
UserRightAssignments | Konfigurierte Benutzerrechtezuweisungen (z. B. SeDenyNetworkLogonRight, SeShutdownPrivilege usw.) Argument == Computername zur Aufzählung |
WifiProfile | TODO |
WindowsAutoLogon | Informationen zur automatischen Anmeldung in der Registrierung |
WindowsDefender | Windows Defender-Einstellungen (einschließlich Ausschlussorte) |
WindowsEventForwarding | Einstellungen für die Windows-Ereignisweiterleitung (WEF) über die Registrierung |
WindowsFirewall | Nicht standardmäßige Firewall-Regeln, „vollständige“ Dumps aller (Argumente ==allow/deny/tcp/udp/in/out/domain/private/public) |
WMIEventConsumer | Listet WMI-Ereigniskonsumenten auf |
WMIEventFilter | Listet WMI-Ereignisfilter auf |
WMIFilterBinding | Listet WMI-Filter für Verbraucherbindungen auf |
WSUS | Einstellungen für Windows Server Update Services (WSUS), falls zutreffend |
Führt Prüfungen durch, die interessante Daten über den aktuell angemeldeten Benutzer (falls nicht erhöht) oder ALLE Benutzer (falls erhöht) ermitteln.
Ausgeführt mit: Seatbelt.exe -group=user
Befehl | Beschreibung |
---|---|
Zertifikate | Persönliche Zertifikatsdateien für Benutzer und Computer |
ZertifikatFingerabdrücke | Fingerabdrücke für alle Zertifikatspeicherzertifikate auf dem System |
ChromiumPresence | Überprüft, ob interessante Chrome/Edge/Brave/Opera-Dateien vorhanden sind |
CloudCredentials | AWS/Google/Azure-Cloud-Anmeldeinformationsdateien |
CloudSyncProviders | TODO |
CredEnum | Zählt die gespeicherten Anmeldeinformationen des aktuellen Benutzers mit CredEnumerate() auf. |
dir | Listet Dateien/Ordner auf. Listet standardmäßig die Downloads, Dokumente und Desktop-Ordner der Benutzer auf (Argumente == <Verzeichnis> <Tiefe> <regex>). |
DpapiMasterKeys | DPAPI-Hauptschlüssel auflisten |
Dsregcmd | TODO |
ExplorerMRUs | Vom Explorer zuletzt verwendete Dateien (letzte 7 Tage, Argument == letzte X Tage) |
ExplorerRunCommands | Aktuelle Explorer-Befehle zum Ausführen |
FileZilla | FileZilla-Konfigurationsdateien |
FirefoxPresence | Überprüft, ob interessante Firefox-Dateien vorhanden sind |
Leerlaufzeit | Gibt die Anzahl der Sekunden seit der letzten Eingabe des aktuellen Benutzers zurück. |
IEFavoriten | Favoriten im Internet Explorer |
IETabs | Öffnen Sie die Registerkarten des Internet Explorers |
IEUrls | Vom Internet Explorer eingegebene URLs (letzte 7 Tage, Argument == letzte X Tage) |
KeePass | TODO |
MappedDrives | Zugeordnete Laufwerke der Benutzer (über WMI) |
OfficeMRUs | Liste der zuletzt verwendeten Office-Dateien (letzte 7 Tage) |
OneNote | TODO |
OracleSQLDeveloper | TODO |
PowerShell-Verlauf | Durchläuft jeden lokalen Benutzer und versucht, den Verlauf seiner PowerShell-Konsole zu lesen. Bei Erfolg wird dieser ausgedruckt |
PuttyHostKeys | Gespeicherte Putty-SSH-Hostschlüssel |
PuttySessions | Gespeicherte Putty-Konfiguration (interessante Felder) und SSH-Hostschlüssel |
RDCManFiles | Einstellungsdateien für den Windows-Remotedesktopverbindungs-Manager |
RDPSavedConnections | Gespeicherte RDP-Verbindungen werden in der Registrierung gespeichert |
SecPackageCreds | Ruft Anmeldeinformationen aus Sicherheitspaketen ab |
SlackDownloads | Analysiert alle gefundenen „Slack-Downloads“-Dateien |
SlackPresence | Überprüft, ob interessante Slack-Dateien vorhanden sind |
SlackWorkspaces | Analysiert alle gefundenen „Slack-Workspaces“-Dateien |
SuperPutty | SuperPutty-Konfigurationsdateien |
Tokengruppen | Die lokalen und Domänengruppen des aktuellen Tokens |
WindowsCredentialFiles | DPAPI-Blobs für Windows-Anmeldeinformationen |
WindowsVault | Im Windows Vault gespeicherte Anmeldeinformationen (z. B. Anmeldungen von Internet Explorer und Edge). |
Führt alle sonstigen Prüfungen durch.
Ausgeführt mit: Seatbelt.exe -group=misc
Befehl | Beschreibung |
---|---|
ChromiumBookmarks | Analysiert alle gefundenen Chrome/Edge/Brave/Opera-Lesezeichendateien |
ChromiumHistory | Analysiert alle gefundenen Chrome/Edge/Brave/Opera-Verlaufsdateien |
ExplicitLogonEvents | Explizite Anmeldeereignisse (Ereignis-ID 4648) aus dem Sicherheitsereignisprotokoll. Standardwert von 7 Tagen, Argument == letzte X Tage. |
FileInfo | Informationen zu einer Datei (Versionsinformationen, Zeitstempel, grundlegende PE-Informationen usw. Argument(e) == Dateipfad(e) |
FirefoxHistory | Analysiert alle gefundenen Firefox-Verlaufsdateien |
Installierte Produkte | Installierte Produkte über die Registrierung |
Interessante Dateien | „Interessante“ Dateien, die verschiedenen Mustern im Ordner des Benutzers entsprechen. Hinweis: Es dauert nicht trivial. |
Anmeldeereignisse | Anmeldeereignisse (Ereignis-ID 4624) aus dem Sicherheitsereignisprotokoll. Standardwert 10 Tage, Argument == letzte X Tage. |
LOLBAS | Findet Living Off The Land Binaries und Scripts (LOLBAS) auf dem System. Hinweis: Es dauert nicht trivial. |
McAfeeSiteList | Entschlüsseln Sie alle gefundenen McAfee SiteList.xml-Konfigurationsdateien. |
MicrosoftUpdates | Alle Microsoft-Updates (über COM) |
OutlookDownloads | Von Outlook heruntergeladene Dateien auflisten |
PowerShellEvents | PowerShell-Skriptblockprotokolle (4104) mit vertraulichen Daten. |
Drucker | Installierte Drucker (über WMI) |
ProcessCreationEvents | Prozesserstellungsprotokolle (4688) mit sensiblen Daten. |
Prozessbesitzer | Ausführen einer Nicht-Sitzungs-0-Prozessliste mit Eigentümern. Zur Fernnutzung. |
Papierkorb | Elemente im Papierkorb, die in den letzten 30 Tagen gelöscht wurden – funktioniert nur im Benutzerkontext! |
reg | Registrierungsschlüsselwerte (standardmäßig HKLMSoftware) Argument == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
RPCMappedEndpoints | Aktuelle RPC-Endpunkte zugeordnet |
Geplante Aufgaben | Bei geplanten Aufgaben (über WMI), die nicht von „Microsoft“ erstellt wurden, werden bei „vollständig“ alle geplanten Aufgaben ausgegeben |
Suchindex | Abfrageergebnisse aus dem Windows-Suchindex, Standardbegriff „Passwort“. (Argument(e) == <Suchpfad> <Muster1,Muster2,...> |
Sicherheitspakete | Listet die derzeit verfügbaren Sicherheitspakete mit EnumerateSecurityPackagesA() auf. |
SysmonEvents | Sysmon-Prozesserstellungsprotokolle (1) mit sensiblen Daten. |
Ausgeführt mit: Seatbelt.exe -group=GROUPNAME
Alias | Beschreibung |
---|---|
Locker | Führt Module aus, die mit „Slack*“ beginnen |
Chrom | Führt Module aus, die mit „Chromium*“ beginnen |
Fernbedienung | Führt die folgenden Module aus (zur Verwendung gegen ein Remote-System): 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, Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall |
Bei Befehlen, die Argumente akzeptieren, ist dies in ihrer Beschreibung vermerkt. Um ein Argument an einen Befehl zu übergeben, schließen Sie den Befehl und die Argumente in doppelte Anführungszeichen ein.
Der folgende Befehl gibt beispielsweise 4624 Anmeldeereignisse für die letzten 30 Tage zurück:
Seatbelt.exe "LogonEvents 30"
Der folgende Befehl fragt eine Registrierung drei Ebenen tief ab, gibt nur Schlüssel/WerteNamen/Werte zurück, die mit der Regex .*defini.*
übereinstimmen, und ignoriert alle auftretenden Fehler.
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
Seatbelt kann seine Ausgabe mit dem Argument -outputfile="C:Pathfile.txt"
in eine Datei umleiten. Wenn der Dateipfad auf .json endet, erfolgt die Ausgabe im strukturierten JSON.
Der folgende Befehl gibt beispielsweise die Ergebnisse von Systemprüfungen in eine TXT-Datei aus:
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
Befehle, die im Hilfemenü mit einem + gekennzeichnet sind, können remote auf einem anderen System ausgeführt werden. Dies erfolgt über WMI über Abfragen für WMI-Klassen und StdRegProv von WMI für die Registrierungsaufzählung.
Um ein Remote-System aufzulisten, geben Sie -computername=COMPUTER.DOMAIN.COM
an. Ein alternativer Benutzername und ein alternatives Kennwort können mit -username=DOMAINUSER -password=PASSWORD
angegeben werden
Der folgende Befehl führt beispielsweise remote-fokussierte Prüfungen für ein Remote-System aus:
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
Die Struktur von Seatbelt ist vollständig modular, sodass zusätzliche Befehlsmodule in die Dateistruktur eingefügt und dynamisch geladen werden können.
Als Referenz gibt es eine kommentierte Befehlsmodulvorlage unter .SeatbeltCommandsTemplate.cs
. Sobald das Modul erstellt ist, legen Sie es am logischen Dateispeicherort ab, fügen Sie es in das Projekt im Visual Studio-Projektmappen-Explorer ein und kompilieren Sie es.
Wir planen nicht, Binärdateien für Seatbelt zu veröffentlichen, daher müssen Sie diese selbst kompilieren.
Seatbelt wurde für .NET 3.5 und 4.0 mit C# 8.0-Funktionen entwickelt und ist mit Visual Studio Community Edition kompatibel. Öffnen Sie einfach die SLN-Datei des Projekts, wählen Sie „Release“ und erstellen Sie es. Um die Zielversion des .NET Frameworks zu ändern, ändern Sie die Projekteinstellungen und erstellen Sie das Projekt neu.
Seatbelt umfasst verschiedene Sammlungselemente, Code-C#-Schnipsel und Teile von PoCs, die bei der Erforschung seiner Funktionen gefunden wurden. Diese Ideen, Schnipsel und Autoren werden an den entsprechenden Stellen im Quellcode hervorgehoben und umfassen:
Wir haben versucht, Zitierungen mit der gebotenen Sorgfalt durchzuführen, aber wenn wir jemanden/etwas ausgelassen haben, lassen Sie es uns bitte wissen!