Seatbelt es un proyecto de C# que realiza una serie de "comprobaciones de seguridad" de encuestas de host orientadas a la seguridad, relevantes desde perspectivas de seguridad tanto ofensivas como defensivas.
El script HostEnum.ps1 de @andrewchiles y el Get-HostProfile.ps1 de @tifkin_ sirvieron de inspiración para muchos de los artefactos que se iban a recopilar.
@harmj0y y @tifkin_ son los autores principales de esta implementación.
El cinturón de seguridad tiene la licencia BSD de 3 cláusulas.
%&&@@@&&
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
#####%###################### %%%.. @////(((&%%%%%%%################
&%& %%%%% 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.
Nota: las búsquedas dirigidas a usuarios se ejecutarán para el usuario actual si no está elevado y para TODOS los usuarios si está elevado.
Nota: muchos comandos realizan algún tipo de filtrado de forma predeterminada. Proporcionar el argumento -full
evita filtrar la salida. Además, el grupo de comandos all
ejecutará todas las comprobaciones actuales.
Por ejemplo, el siguiente comando ejecutará TODAS las comprobaciones y devolverá TODOS los resultados:
Seatbelt.exe -group=all -full
Ejecuta comprobaciones que extraen datos interesantes sobre el sistema.
Ejecutado con: Seatbelt.exe -group=system
Dominio | Descripción |
---|---|
AMSIProveedores | Proveedores registrados en AMSI |
antivirus | Antivirus registrado (a través de WMI) |
Locker de aplicaciones | Configuración de AppLocker, si está instalado |
ARPTable | Muestra la tabla ARP actual y la información del adaptador (equivalente a arp -a) |
Políticas de auditoría | Enumera la configuración de políticas de auditoría clásicas y avanzadas. |
Registro De Políticas De Auditoría | Auditar la configuración a través del registro |
Ejecuciones automáticas | Ejecución automática de ejecutables/scripts/programas |
Certificados | Archivos de certificados personales de usuario y máquina |
CertificadoHuellas digitales | Huellas digitales para todos los certificados del almacén de certificados en el sistema |
CredGuard | Configuración de CredentialGuard |
DNSCaché | Entradas de caché DNS (a través de WMI) |
DotNet | Versiones DotNet |
Medio AmbienteRuta | Carpetas %PATH$ del entorno actual e información SDDL |
Variables ambientales | Variables de entorno del usuario actual |
Correcciones | Revisiones instaladas (a través de WMI) |
Procesos interesantes | Procesos "interesantes": productos defensivos y herramientas de administración |
Configuración de Internet | Configuraciones de Internet, incluidas las configuraciones de proxy |
VUELTAS | Configuración de LAPS, si está instalada |
último apagado | Devuelve la fecha y hora del último apagado del sistema (a través del registro) |
GPO locales | Configuración de política de grupo local aplicada a la máquina/usuarios locales |
Grupos locales | Grupos locales no vacíos, "lleno" muestra todos los grupos (argumento == nombre de computadora a enumerar) |
Usuarios locales | Usuarios locales, ya sea que estén activos/deshabilitados y la última contraseña configurada (argumento == nombre de computadora a enumerar) |
Sesiones de inicio de sesión | Eventos de inicio de sesión (ID de evento 4624) del registro de eventos de seguridad. Valor predeterminado de 10 días, argumento == últimos X días. |
LSAConfiguración | Configuración de LSA (incluidos los paquetes de autenticación) |
McAfeeConfiguraciones | Encuentra archivos de configuración de McAfee |
Tuberías con nombre | Nombres de canalizaciones con nombre y cualquier información de ACL legible |
Perfiles de red | Perfiles de red de Windows |
Recursos compartidos de red | Recursos compartidos de red expuestos por la máquina (a través de WMI) |
NTLMConfiguración | Configuración de autenticación NTLM |
Características opcionales | HACER |
Información del sistema operativo | Información básica del sistema operativo (es decir, arquitectura, versión del sistema operativo, etc.) |
PoweredOnEventos | Programación de reinicio y suspensión basada en los EID 1, 12, 13, 42 y 6008 del registro de eventos del sistema. Valor predeterminado de 7 días, argumento == últimos X días. |
PowerShell | Versiones de PowerShell y configuraciones de seguridad |
Procesos | Ejecutando procesos con nombres de empresas de información de archivos que no contienen 'Microsoft', "completo" enumera todos los procesos |
PSSessionConfiguración | Enumera la configuración de sesión de PS desde el registro |
Sesiones RDP | Sesiones RDP entrantes actuales (argumento == nombre de computadora a enumerar) |
Configuración de RDP | Configuración del cliente/servidor de escritorio remoto |
SCCM | Configuración de System Center Configuration Manager (SCCM), si corresponde |
Servicios | Servicios con nombres de empresas de información de archivos que no contienen 'Microsoft', volcados "completos" de todos los procesos |
sismon | Configuración de Sysmon desde el registro. |
Conexiones TCP | Conexiones TCP actuales y sus procesos y servicios asociados. |
Privilegios de tokens | Privilegios de token actualmente habilitados (por ejemplo, SeDebugPrivilege/etc.) |
UAC | Políticas del sistema UAC a través del registro. |
UdpConexiones | Conexiones UDP actuales y procesos y servicios asociados. |
Asignaciones de derechos de usuario | Asignaciones de derechos de usuario configuradas (por ejemplo, SeDenyNetworkLogonRight, SeShutdownPrivilege, etc.) argumento == nombre de computadora a enumerar |
Perfil Wifi | HACER |
Inicio de sesión automático de Windows | Información de inicio de sesión automático del registro |
Windows Defender | Configuración de Windows Defender (incluidas las ubicaciones de exclusión) |
Reenvío de eventos de Windows | Configuración de reenvío de eventos de Windows (WEF) a través del registro |
WindowsFirewall | Reglas de firewall no estándar, volcados "completos" todos (argumentos == permitir/denegar/tcp/udp/in/out/domain/private/public) |
WMIEventoConsumidor | Enumera los consumidores de eventos WMI |
Filtro de eventos WMI | Enumera los filtros de eventos WMI |
Enlace de filtro WMI | Enumera el filtro WMI en enlaces de consumidor |
WSUS | Configuración de Windows Server Update Services (WSUS), si corresponde |
Ejecuta comprobaciones que extraen datos interesantes sobre el usuario que ha iniciado sesión actualmente (si no está elevado) o TODOS los usuarios (si está elevado).
Ejecutado con: Seatbelt.exe -group=user
Dominio | Descripción |
---|---|
Certificados | Archivos de certificados personales de usuario y máquina |
CertificadoHuellas digitales | Huellas digitales para todos los certificados del almacén de certificados en el sistema |
Presencia De Cromo | Comprueba si existen archivos interesantes de Chrome/Edge/Brave/Opera |
Credenciales en la nube | Archivos de credenciales en la nube de AWS/Google/Azure |
Proveedores de CloudSync | HACER |
CredEnum | Enumera las credenciales guardadas del usuario actual usando CredEnumerate() |
directorio | Enumera archivos/carpetas. De forma predeterminada, enumera las descargas, los documentos y las carpetas del escritorio de los usuarios (argumentos == <directorio> <profundidad> <regex> |
DpapiMasterKeys | Listar claves maestras DPAPI |
dsregcmd | HACER |
ExplorerMRU | Archivos utilizados más recientemente en Explorer (últimos 7 días, argumento == últimos X días) |
Comandos de ejecución del explorador | Comandos de "ejecución" recientes del Explorador |
ArchivoZilla | Archivos de configuración de FileZilla |
FirefoxPresencia | Comprueba si existen archivos interesantes de Firefox |
Tiempo inactivo | Devuelve el número de segundos desde la última entrada del usuario actual. |
IEFavoritos | Favoritos de Internet Explorer |
IETablas | Abrir pestañas de Internet Explorer |
IEUrls | URL escritas en Internet Explorer (últimos 7 días, argumento == últimos X días) |
KeePass | HACER |
Unidades asignadas | Unidades asignadas de los usuarios (a través de WMI) |
OficinaMRU | Lista de archivos usados más recientemente de Office (últimos 7 días) |
Una nota | HACER |
OracleSQLDesarrollador | HACER |
PowerShellHistoria | Itera a través de cada usuario local e intenta leer el historial de su consola PowerShell, si tiene éxito, lo imprimirá. |
PuttyHostKeys | Claves de host SSH de Putty guardadas |
Sesiones de masilla | Configuración guardada de Putty (campos interesantes) y claves de host SSH |
Archivos RDCMan | Archivos de configuración del Administrador de conexión a Escritorio remoto de Windows |
RDPConexiones guardadas | Conexiones RDP guardadas almacenadas en el registro |
SegPackageCreds | Obtiene credenciales de paquetes de seguridad. |
SlackDescargas | Analiza cualquier archivo de 'descargas flojas' encontrado |
Presencia floja | Comprueba si existen archivos interesantes de Slack |
Espacios de trabajo de Slack | Analiza cualquier archivo 'slack-workspaces' encontrado |
supermasilla | Archivos de configuración de SuperPutty |
Grupos de tokens | Los grupos locales y de dominio del token actual. |
Archivos de credenciales de Windows | Blobs DPAPI de credenciales de Windows |
Bóveda de Windows | Credenciales guardadas en Windows Vault (es decir, inicios de sesión desde Internet Explorer y Edge). |
Ejecuta todas las comprobaciones diversas.
Ejecutado con: Seatbelt.exe -group=misc
Dominio | Descripción |
---|---|
Marcadores de cromo | Analiza cualquier archivo de marcadores de Chrome/Edge/Brave/Opera encontrado |
CromoHistoria | Analiza cualquier archivo de historial de Chrome/Edge/Brave/Opera encontrado |
Eventos de inicio de sesión explícitos | Eventos de inicio de sesión explícitos (ID de evento 4648) del registro de eventos de seguridad. Valor predeterminado de 7 días, argumento == últimos X días. |
Información de archivo | Información sobre un archivo (información de versión, marcas de tiempo, información básica de PE, etc. argumento(s) == ruta(s) del archivo |
FirefoxHistoria | Analiza cualquier archivo histórico de Firefox encontrado |
Productos instalados | Productos instalados a través del registro. |
Archivos interesantes | Archivos "interesantes" que coinciden con varios patrones en la carpeta del usuario. Nota: lleva un tiempo no trivial. |
Inicio de sesiónEventos | Eventos de inicio de sesión (ID de evento 4624) del registro de eventos de seguridad. Valor predeterminado de 10 días, argumento == últimos X días. |
LOLBÁS | Localiza Living Off The Land Binaries and Scripts (LOLBAS) en el sistema. Nota: lleva un tiempo no trivial. |
Lista de sitios de McAfee | Descifre los archivos de configuración de McAfee SiteList.xml encontrados. |
Actualizaciones de Microsoft | Todas las actualizaciones de Microsoft (a través de COM) |
OutlookDescargas | Listar archivos descargados por Outlook |
Eventos de PowerShell | Registros de bloques de secuencias de comandos de PowerShell (4104) con datos confidenciales. |
Impresoras | Impresoras instaladas (a través de WMI) |
Eventos de creación de procesos | Registros de creación de procesos (4688) con datos sensibles. |
Propietarios del proceso | Ejecutando una lista de procesos sin sesión 0 con propietarios. Para uso remoto. |
Papelera de reciclaje | Elementos de la Papelera de reciclaje eliminados en los últimos 30 días: ¡solo funciona desde el contexto del usuario! |
registro | Valores de clave de registro (HKLMSoftware de forma predeterminada) argumento == [Ruta] [intDepth] [Regex] [boolIgnoreErrors] |
Puntos finales asignados RPC | Puntos finales RPC actuales asignados |
Tareas programadas | Tareas programadas (a través de WMI) que no son creadas por 'Microsoft', volcados "completos" de todas las tareas programadas |
Índice de búsqueda | Resultados de la consulta del índice de búsqueda de Windows, término predeterminado de "contraseña". (argumento(s) == <ruta de búsqueda> <patrón1,patrón2,...> |
Paquetes de seguridad | Enumera los paquetes de seguridad actualmente disponibles usando EnumerateSecurityPackagesA() |
SysmonEventos | Registros de creación de procesos Sysmon (1) con datos confidenciales. |
Ejecutado con: Seatbelt.exe -group=GROUPNAME
Alias | Descripción |
---|---|
Flojo | Ejecuta módulos que comienzan con "Slack*" |
Cromo | Ejecuta módulos que comienzan con "Chromium*" |
Remoto | Ejecuta los siguientes módulos (para usar en un sistema remoto): AMSIProviders, AntiVirus, AuditPolicyRegistry, ChromiumPresence, CloudCredentials, DNSCache, DotNet, DpapiMasterKeys, EnvironmentVariables, ExplicitLogonEvents, ExplorerRunCommands, FileZilla, Hotfixes, InterestingProcesses, KeePass, LastShutdown, LocalGroups, Usuarios locales, LogonEvents, LogonSessions, LSASettings, MappedDrives, NetworkProfiles, NetworkShares, NTLMSettings, OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell, ProcessOwners, PSSessionSettings, PuttyHostKeys, PuttySessions, RDPSavedConnections, RDPEssions, RDPsettings, Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall |
Los comandos que aceptan argumentos lo tienen anotado en su descripción. Para pasar un argumento a un comando, incluya el comando y los argumentos entre comillas dobles.
Por ejemplo, el siguiente comando devuelve 4624 eventos de inicio de sesión durante los últimos 30 días:
Seatbelt.exe "LogonEvents 30"
El siguiente comando consulta un registro de tres niveles de profundidad, devolviendo solo claves/nombres de valores/valores que coinciden con la expresión regular .*defini.*
e ignorando cualquier error que ocurra.
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
Seatbelt puede redirigir su salida a un archivo con el argumento -outputfile="C:Pathfile.txt"
. Si la ruta del archivo termina en .json, la salida tendrá la estructura json.
Por ejemplo, el siguiente comando generará los resultados de las comprobaciones del sistema en un archivo txt:
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
Los comandos marcados con un + en el menú de ayuda se pueden ejecutar de forma remota en otro sistema. Esto se realiza a través de WMI mediante consultas de clases WMI y StdRegProv de WMI para la enumeración del registro.
Para enumerar un sistema remoto, proporcione -computername=COMPUTER.DOMAIN.COM
; se puede especificar un nombre de usuario y contraseña alternativos con -username=DOMAINUSER -password=PASSWORD
Por ejemplo, el siguiente comando ejecuta comprobaciones remotas en un sistema remoto:
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
La estructura de Seatbelt es completamente modular, lo que permite colocar módulos de comando adicionales en la estructura de archivos y cargarlos dinámicamente.
Hay una plantilla de módulo de comando comentada en .SeatbeltCommandsTemplate.cs
como referencia. Una vez creado, coloque el módulo en la ubicación lógica del archivo, inclúyalo en el proyecto en Visual Studio Solution Explorer y compílelo.
No estamos planeando lanzar archivos binarios para Seatbelt, por lo que tendrás que compilarlos tú mismo.
Seatbelt se ha creado en .NET 3.5 y 4.0 con funciones de C# 8.0 y es compatible con Visual Studio Community Edition. Simplemente abre el proyecto .sln, elige "liberar" y compila. Para cambiar la versión de destino de .NET Framework, modifique la configuración del proyecto y reconstruya el proyecto.
Seatbelt incorpora varios elementos de colección, fragmentos de código C# y fragmentos de PoC encontrados a lo largo de la investigación sobre sus capacidades. Estas ideas, fragmentos y autores se resaltan en las ubicaciones apropiadas del código fuente e incluyen:
Hemos tratado de hacer nuestra debida diligencia con las citaciones, pero si hemos omitido a alguien o algo, ¡háganoslo saber!