Seatbelt est un projet C# qui effectue un certain nombre de « contrôles de sécurité » d'enquête hôte axés sur la sécurité, pertinents du point de vue de la sécurité offensive et défensive.
Le script HostEnum.ps1 de @andrewchiles et Get-HostProfile.ps1 de @tifkin_ ont inspiré de nombreux artefacts à collecter.
@harmj0y et @tifkin_ sont les principaux auteurs de cette implémentation.
La ceinture de sécurité est sous licence 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.
Remarque : les recherches ciblant les utilisateurs seront exécutées pour l'utilisateur actuel s'il n'est pas élevé et pour TOUS les utilisateurs s'ils sont élevés.
Remarque : de nombreuses commandes effectuent un certain type de filtrage par défaut. La fourniture de l'argument -full
empêche le filtrage de la sortie. De plus, le groupe de commandes all
exécutera toutes les vérifications en cours.
Par exemple, la commande suivante exécutera TOUTES les vérifications et renverra TOUTES les sorties :
Seatbelt.exe -group=all -full
Exécute des vérifications qui extraient des données intéressantes sur le système.
Exécuté avec : Seatbelt.exe -group=system
Commande | Description |
---|---|
Fournisseurs AMSI | Prestataires inscrits à l'AMSI |
Antivirus | Antivirus enregistré (via WMI) |
AppLocker | Paramètres AppLocker, s'il est installé |
Table ARP | Répertorie la table ARP actuelle et les informations sur l'adaptateur (équivalent à arp -a) |
Politiques d'audit | Énumère les paramètres de stratégie d'audit classiques et avancés |
Registre de politique d'audit | Paramètres d'audit via le registre |
Exécutions automatiques | Exécutables/scripts/programmes à exécution automatique |
Certificats | Fichiers de certificats personnels utilisateur et machine |
CertificatEmpreintes | Empreintes pour tous les certificats du magasin de certificats sur le système |
CredGuard | Configuration de CredentialGuard |
Cache DNS | Entrées de cache DNS (via WMI) |
DotNet | Versions DotNet |
EnvironnementChemin | Dossiers %PATH$ de l'environnement actuel et informations SDDL |
Variables d'environnement | Variables d'environnement utilisateur actuelles |
Correctifs | Correctifs installés (via WMI) |
Processus intéressants | Processus "intéressants" - produits défensifs et outils d'administration |
Paramètres Internet | Paramètres Internet, y compris les configurations de proxy |
TOURS | Paramètres LAPS, si installés |
Dernier arrêt | Renvoie le DateTime du dernier arrêt du système (via le registre) |
GPO locaux | Paramètres de stratégie de groupe local appliqués à la machine/aux utilisateurs locaux |
Groupes locaux | Groupes locaux non vides, "complet" affiche tous les groupes (argument == nom de l'ordinateur à énumérer) |
Utilisateurs locaux | Utilisateurs locaux, qu'ils soient actifs/désactivés et dernier mot de passe défini (argument == nom de l'ordinateur à énumérer) |
Sessions de connexion | Événements de connexion (ID d'événement 4624) à partir du journal des événements de sécurité. Par défaut de 10 jours, argument == derniers X jours. |
Paramètres LSA | Paramètres LSA (y compris les packages d'authentification) |
McAfeeConfigs | Recherche les fichiers de configuration McAfee |
Pipesnommées | Noms de canaux nommés et toutes informations ACL lisibles |
Profils de réseau | Profils réseau Windows |
Partages réseau | Partages réseau exposés par la machine (via WMI) |
Paramètres NTLM | Paramètres d'authentification NTLM |
Fonctionnalités facultatives | FAIRE |
Informations sur le système d'exploitation | Informations de base sur le système d'exploitation (c'est-à-dire architecture, version du système d'exploitation, etc.) |
Événements alimentés | Planification du redémarrage et de la mise en veille basée sur les EID du journal des événements système 1, 12, 13, 42 et 6008. Par défaut, 7 jours, argument == derniers X jours. |
PowerShell | Versions PowerShell et paramètres de sécurité |
Processus | Exécution de processus avec des noms de sociétés d'informations sur les fichiers qui ne contiennent pas « Microsoft », « complet » énumère tous les processus |
Paramètres de session PS | Énumère les paramètres de session PS à partir du registre |
Séances RDP | Sessions RDP entrantes en cours (argument == nom de l'ordinateur à énumérer) |
Paramètres RDP | Paramètres du serveur/client de bureau à distance |
SCCM | Paramètres de System Center Configuration Manager (SCCM), le cas échéant |
Services | Services avec des noms de sociétés d'informations sur les fichiers qui ne contiennent pas « Microsoft », vidages « complets » de tous les processus |
Symmon | Configuration Sysmon à partir du registre |
Connexions TCP | Connexions TCP actuelles et leurs processus et services associés |
Privilèges de jetons | Privilèges de jeton actuellement activés (par exemple SeDebugPrivilege/etc.) |
UAC | Politiques du système UAC via le registre |
Connexions Udp | Connexions UDP actuelles et processus et services associés |
Affectations des droits d'utilisateur | Attribution des droits d'utilisateur configurés (par exemple, SeDenyNetworkLogonRight, SeShutdownPrivilege, etc.) argument == nom de l'ordinateur à énumérer |
Profil Wifi | FAIRE |
Connexion automatique Windows | Informations de connexion automatique du registre |
WindowsDefender | Paramètres de Windows Defender (y compris les emplacements d'exclusion) |
WindowsEventForwarding | Paramètres de transfert d'événements Windows (WEF) via le registre |
Pare-feu Windows | Règles de pare-feu non standard, dumps "complets" (arguments ==allow/deny/tcp/udp/in/out/domain/private/public) |
WMIEventConsumer | Répertorie les consommateurs d'événements WMI |
Filtre d'événements WMI | Répertorie les filtres d'événements WMI |
WMIFilterBinding | Répertorie le filtre WMI sur les liaisons consommateur |
WSUS | Paramètres de Windows Server Update Services (WSUS), le cas échéant |
Exécute des vérifications qui extraient des données intéressantes sur l'utilisateur actuellement connecté (s'il n'est pas élevé) ou sur TOUS les utilisateurs (s'il est élevé).
Exécuté avec : Seatbelt.exe -group=user
Commande | Description |
---|---|
Certificats | Fichiers de certificats personnels utilisateur et machine |
CertificatEmpreintes | Empreintes pour tous les certificats du magasin de certificats sur le système |
ChromePrésence | Vérifie si des fichiers Chrome/Edge/Brave/Opera intéressants existent |
Informations d'identification Cloud | Fichiers d'informations d'identification cloud AWS/Google/Azure |
Fournisseurs CloudSync | FAIRE |
Numéro de crédit | Énumère les informations d'identification enregistrées de l'utilisateur actuel à l'aide de CredEnumerate() |
dir | Répertorie les fichiers/dossiers. Par défaut, répertorie les téléchargements, les documents et les dossiers du bureau des utilisateurs (arguments == <répertoire> <profondeur> <regex> |
DpapiMasterKeys | Liste des clés principales DPAPI |
Dsregcmd | FAIRE |
ExplorerMRU | Fichiers les plus récemment utilisés par l'Explorateur (7 derniers jours, argument == X derniers jours) |
ExplorerRunCommands | Commandes récentes d'exécution de l'Explorateur |
FichierZilla | Fichiers de configuration FileZilla |
FirefoxPrésence | Vérifie si des fichiers Firefox intéressants existent |
Temps d'inactivité | Renvoie le nombre de secondes depuis la dernière entrée de l'utilisateur actuel. |
Favoris IEF | Favoris d'Internet Explorer |
Onglets IE | Ouvrir les onglets d'Internet Explorer |
IEUrls | URL saisies par Internet Explorer (7 derniers jours, argument == X derniers jours) |
GarderPass | FAIRE |
Lecteurs mappés | Lecteurs mappés des utilisateurs (via WMI) |
BureauMRU | Liste des fichiers Office les plus récemment utilisés (7 derniers jours) |
UneNote | FAIRE |
Développeur OracleSQL | FAIRE |
Historique de PowerShell | Parcourt chaque utilisateur local et tente de lire l'historique de sa console PowerShell en cas de succès, l'imprimera |
PuttyHostKeys | Clés d'hôte Putty SSH enregistrées |
Sessions Putty | Configuration Putty enregistrée (champs intéressants) et clés d'hôte SSH |
RDCManFichiers | Fichiers de paramètres du Gestionnaire de connexions Bureau à distance Windows |
RDPSavedConnections | Connexions RDP enregistrées stockées dans le registre |
SecPackageCreds | Obtient les informations d'identification des packages de sécurité |
Téléchargements Slack | Analyse tous les fichiers « slack-downloads » trouvés |
SlackPrésence | Vérifie si des fichiers Slack intéressants existent |
Espaces de travail Slack | Analyse tous les fichiers « slack-workspaces » trouvés |
SuperMastic | Fichiers de configuration SuperPutty |
Groupes de jetons | Les groupes locaux et de domaine du jeton actuel |
Fichiers d'informations d'identification Windows | Blobs DPAPI d’informations d’identification Windows |
WindowsVault | Informations d'identification enregistrées dans le coffre-fort Windows (c'est-à-dire les connexions depuis Internet Explorer et Edge). |
Effectue toutes les vérifications diverses.
Exécuté avec : Seatbelt.exe -group=misc
Commande | Description |
---|---|
ChromeSignets | Analyse tous les fichiers de signets Chrome/Edge/Brave/Opera trouvés |
ChromeHistorique | Analyse tous les fichiers d'historique Chrome/Edge/Brave/Opera trouvés |
Événements de connexion explicites | Événements de connexion explicite (ID d'événement 4648) à partir du journal des événements de sécurité. Par défaut de 7 jours, argument == derniers X jours. |
Informations sur le fichier | Informations sur un fichier (informations sur la version, horodatages, informations de base sur PE, etc. argument(s) == chemin(s) du fichier) |
FirefoxHistorique | Analyse tous les fichiers d'historique FireFox trouvés |
Produits installés | Produits installés via le registre |
Fichiers intéressants | Fichiers "intéressants" correspondant à différents modèles dans le dossier de l'utilisateur. Remarque : cela prend un temps non négligeable. |
Événements de connexion | Événements de connexion (ID d'événement 4624) à partir du journal des événements de sécurité. Par défaut de 10 jours, argument == derniers X jours. |
LOLBAS | Localise les binaires et scripts Living Off The Land (LOLBAS) sur le système. Remarque : cela prend un temps non négligeable. |
Liste des sites McAfee | Déchiffrez tous les fichiers de configuration McAfee SiteList.xml trouvés. |
Mises à jour Microsoft | Toutes les mises à jour Microsoft (via COM) |
Téléchargements Outlook | Liste des fichiers téléchargés par Outlook |
Événements PowerShell | Journaux de blocs de script PowerShell (4104) avec des données sensibles. |
Imprimantes | Imprimantes installées (via WMI) |
ProcessCreationEvents | Journaux de création de processus (4688) avec des données sensibles. |
Propriétaires de processus | Exécution de la liste des processus hors session 0 avec les propriétaires. Pour une utilisation à distance. |
Corbeille | Éléments de la corbeille supprimés au cours des 30 derniers jours - ne fonctionne qu'à partir d'un contexte utilisateur ! |
reg | Valeurs des clés de registre (HKLMSoftware par défaut) argument == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
RPCMapedEndpoints | Points de terminaison RPC actuels mappés |
Tâches planifiées | Tâches planifiées (via WMI) qui ne sont pas créées par « Microsoft », vidages « complets » de toutes les tâches planifiées |
Index de recherche | Résultats de la requête à partir de l'index de recherche Windows, terme par défaut « mot de passe ». (argument(s) == <chemin de recherche> <motif1,motif2,...> |
Forfaits de sécurité | Énumère les packages de sécurité actuellement disponibles à l'aide de EnumerateSecurityPackagesA() |
Événements Sysmon | Journaux de création de processus Sysmon (1) avec des données sensibles. |
Exécuté avec : Seatbelt.exe -group=GROUPNAME
Alias | Description |
---|---|
Mou | Exécute les modules commençant par « Slack* » |
Chrome | Exécute les modules commençant par "Chromium*" |
Télécommande | Exécute les modules suivants (à utiliser sur un système distant) : 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 |
Les commandes qui acceptent des arguments le notent dans leur description. Pour transmettre un argument à une commande, placez la commande et les arguments entre guillemets doubles.
Par exemple, la commande suivante renvoie 4 624 événements de connexion au cours des 30 derniers jours :
Seatbelt.exe "LogonEvents 30"
La commande suivante interroge un registre sur trois niveaux, renvoyant uniquement les clés/noms de valeur/valeurs qui correspondent à l'expression régulière .*defini.*
et ignorant toutes les erreurs qui se produisent.
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
Seatbelt peut rediriger sa sortie vers un fichier avec l'argument -outputfile="C:Pathfile.txt"
. Si le chemin du fichier se termine par .json, la sortie sera structurée en json.
Par exemple, la commande suivante affichera les résultats des vérifications du système dans un fichier txt :
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
Les commandes signalées par un + dans le menu d'aide peuvent être exécutées à distance sur un autre système. Ceci est effectué sur WMI via des requêtes pour les classes WMI et StdRegProv de WMI pour l’énumération du registre.
Pour énumérer un système distant, fournissez -computername=COMPUTER.DOMAIN.COM
- un autre nom d'utilisateur et mot de passe peuvent être spécifiés avec -username=DOMAINUSER -password=PASSWORD
Par exemple, la commande suivante exécute des vérifications ciblées à distance sur un système distant :
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
La structure de Seatbelt est entièrement modulaire, ce qui permet de déposer des modules de commande supplémentaires dans la structure de fichiers et de les charger dynamiquement.
Il existe un modèle de module de commande commenté dans .SeatbeltCommandsTemplate.cs
pour référence. Une fois construit, déposez le module à l'emplacement logique du fichier, incluez-le dans le projet dans l'Explorateur de solutions Visual Studio et compilez-le.
Nous ne prévoyons pas de publier des binaires pour Seatbelt, vous devrez donc les compiler vous-même.
Seatbelt a été conçu avec .NET 3.5 et 4.0 avec les fonctionnalités C# 8.0 et est compatible avec Visual Studio Community Edition. Ouvrez simplement le projet .sln, choisissez "release" et construisez. Pour modifier la version cible du .NET Framework, modifiez les paramètres du projet et reconstruisez le projet.
Seatbelt intègre divers éléments de collection, des extraits de code C# et des éléments de PoC trouvés tout au long de la recherche pour ses capacités. Ces idées, extraits et auteurs sont mis en évidence aux endroits appropriés dans le code source et incluent :
Nous avons essayé de faire preuve de diligence raisonnable en ce qui concerne les citations, mais si nous avons oublié quelqu'un/quelque chose, veuillez nous le faire savoir !