Seatbelt é um projeto C# que executa uma série de "verificações de segurança" de pesquisa de host orientadas à segurança, relevantes tanto do ponto de vista de segurança ofensivo quanto defensivo.
O script HostEnum.ps1 de @andrewchiles e Get-HostProfile.ps1 de @tifkin_ forneceram inspiração para muitos dos artefatos a serem coletados.
@harmj0y e @tifkin_ são os principais autores desta implementação.
O cinto de segurança é licenciado sob a licença 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.
Observação: as pesquisas direcionadas aos usuários serão executadas para o usuário atual, se não for elevado, e para TODOS os usuários, se for elevado.
Nota: muitos comandos fazem algum tipo de filtragem por padrão. Fornecer o argumento -full
impede a filtragem da saída. Além disso, o grupo de comandos all
executará todas as verificações atuais.
Por exemplo, o comando a seguir executará TODAS as verificações e retornará TODAS as saídas:
Seatbelt.exe -group=all -full
Executa verificações que extraem dados interessantes sobre o sistema.
Executado com: Seatbelt.exe -group=system
Comando | Descrição |
---|---|
Fornecedores AMSI | Provedores cadastrados na AMSI |
Antivírus | Antivírus registrado (via WMI) |
Bloqueador de aplicativos | Configurações do AppLocker, se instalado |
Tabela ARP | Lista a tabela ARP atual e as informações do adaptador (equivalente a arp -a) |
Políticas de auditoria | Enumera configurações de política de auditoria clássicas e avançadas |
Política de AuditoriaRegistro | Configurações de auditoria por meio do registro |
Execuções automáticas | Executar automaticamente executáveis/scripts/programas |
Certificados | Arquivos de certificado pessoal de usuário e máquina |
Impressões digitais do certificado | Impressões digitais para todos os certificados de armazenamento de certificados no sistema |
CredGuard | Configuração do CredentialGuard |
DNSCache | Entradas de cache DNS (via WMI) |
PontoNet | Versões DotNet |
Caminho do ambiente | Pastas %PATH$ do ambiente atual e informações SDDL |
Variáveis de ambiente | Variáveis atuais de ambiente do usuário |
Correções | Hotfixes instalados (via WMI) |
Processos interessantes | Processos "interessantes" - produtos defensivos e ferramentas administrativas |
Configurações da Internet | Configurações da Internet, incluindo configurações de proxy |
VOLTAS | Configurações LAPS, se instaladas |
Último desligamento | Retorna o DateTime do último desligamento do sistema (através do registro) |
GPOs locais | Configurações de Política de Grupo Local aplicadas à máquina/usuários locais |
Grupos Locais | Grupos locais não vazios, "completo" exibe todos os grupos (argumento == nome do computador a ser enumerado) |
Usuários locais | Usuários locais, estejam eles ativos/desativados, e último conjunto de senhas (argumento == nome do computador a ser enumerado) |
Sessões de logon | Eventos de logon (ID de evento 4624) do log de eventos de segurança. Padrão de 10 dias, argumento == últimos X dias. |
Configurações LSAS | Configurações LSA (incluindo pacotes de autenticação) |
Configurações da McAfee | Encontra arquivos de configuração da McAfee |
NamedPipes | Nomes de tubos nomeados e qualquer informação legível da ACL |
Perfis de rede | Perfis de rede do Windows |
Compartilhamentos de rede | Compartilhamentos de rede expostos pela máquina (via WMI) |
Configurações NTLM | Configurações de autenticação NTLM |
Recursos opcionais | PENDÊNCIA |
OSInfo | Informações básicas do sistema operacional (ou seja, arquitetura, versão do sistema operacional, etc.) |
Eventos PoweredOn | Programação de reinicialização e suspensão com base nos EIDs 1, 12, 13, 42 e 6008 do log de eventos do sistema. Padrão de 7 dias, argumento == últimos X dias. |
PowerShell | Versões do PowerShell e configurações de segurança |
Processos | Executando processos com nomes de empresas com informações de arquivo que não contêm 'Microsoft', "completo" enumera todos os processos |
Configurações de PSSession | Enumera configurações de sessão PS do registro |
Sessões RDP | Sessões RDP de entrada atuais (argumento == nome do computador a ser enumerado) |
Configurações RDP | Configurações de servidor/cliente de área de trabalho remota |
SCCM | Configurações do System Center Configuration Manager (SCCM), se aplicável |
Serviços | Serviços com nomes de empresas com informações de arquivo que não contêm 'Microsoft', "completo" despeja todos os processos |
Sysmon | Configuração Sysmon do registro |
Conexões TCP | Conexões TCP atuais e seus processos e serviços associados |
Privilégios de Token | Privilégios de token atualmente habilitados (por exemplo, SeDebugPrivilege/etc.) |
UAC | Políticas do sistema UAC por meio do registro |
Conexões Udp | Conexões UDP atuais e processos e serviços associados |
UserRightAssignments | Atribuições de direitos de usuário configuradas (por exemplo, SeDenyNetworkLogonRight, SeShutdownPrivilege, etc.) argumento == nome do computador a ser enumerado |
Perfil Wifi | PENDÊNCIA |
WindowsAutoLogon | Informações de logon automático do registro |
WindowsDefender | Configurações do Windows Defender (incluindo locais de exclusão) |
WindowsEventForwarding | Configurações do Windows Event Forwarding (WEF) por meio do registro |
Firewall do Windows | Regras de firewall não padrão, dumps "completos" de todos (argumentos == permitir/deny/tcp/udp/in/out/domain/private/public) |
WMIEventConsumidor | Lista consumidores de eventos WMI |
Filtro de eventos WMIE | Lista filtros de eventos WMI |
WMIFilterBinding | Lista o filtro WMI para ligações do consumidor |
WSUS | Configurações do Windows Server Update Services (WSUS), se aplicável |
Executa verificações que extraem dados interessantes sobre o usuário atualmente conectado (se não for elevado) ou TODOS os usuários (se for elevado).
Executado com: Seatbelt.exe -group=user
Comando | Descrição |
---|---|
Certificados | Arquivos de certificado pessoal de usuário e máquina |
Impressões digitais do certificado | Impressões digitais para todos os certificados de armazenamento de certificados no sistema |
Presença de cromo | Verifica se existem arquivos interessantes do Chrome/Edge/Brave/Opera |
CloudCredentials | Arquivos de credenciais de nuvem AWS/Google/Azure |
Provedores CloudSync | PENDÊNCIA |
CredEnum | Enumera as credenciais salvas do usuário atual usando CredEnumerate() |
diretório | Lista arquivos/pastas. Por padrão, lista os downloads, documentos e pastas da área de trabalho dos usuários (argumentos == <diretório> <profundidade> <regex> |
DpapiMasterKeys | Listar chaves mestras DPAPI |
Dsregcmd | PENDÊNCIA |
ExplorerMRUs | Arquivos usados mais recentemente pelo Explorer (últimos 7 dias, argumento == últimos X dias) |
ExplorerRunCommands | Comandos recentes de "execução" do Explorer |
FileZilla | Arquivos de configuração do FileZilla |
Presença do Firefox | Verifica se existem arquivos interessantes do Firefox |
Tempo ocioso | Retorna o número de segundos desde a última entrada do usuário atual. |
Favoritos do IEF | Favoritos do Internet Explorer |
IETabs | Abra as guias do Internet Explorer |
IEUrls | URLs digitados no Internet Explorer (últimos 7 dias, argumento == últimos X dias) |
KeepPass | PENDÊNCIA |
Unidades mapeadas | Unidades mapeadas dos usuários (via WMI) |
OfficeMRUs | Lista de arquivos usados mais recentemente do Office (últimos sete dias) |
OneNote | PENDÊNCIA |
Desenvolvedor OracleSQL | PENDÊNCIA |
História do PowerShell | Itera através de cada usuário local e tenta ler o histórico do console do PowerShell, se for bem-sucedido, irá imprimi-lo |
PuttyHostKeys | Chaves de host SSH do Putty salvas |
Sessões Putty | Configuração salva do Putty (campos interessantes) e chaves de host SSH |
Arquivos RDCMan | Arquivos de configurações do Gerenciador de Conexão de Área de Trabalho Remota do Windows |
Conexões RDPSaved | Conexões RDP salvas armazenadas no registro |
SecPackageCreds | Obtém credenciais de pacotes de segurança |
SlackDownloads | Analisa todos os arquivos de 'slack-downloads' encontrados |
SlackPresença | Verifica se existem arquivos interessantes do Slack |
SlackWorkspaces | Analisa todos os arquivos 'slack-workspaces' encontrados |
SuperPutty | Arquivos de configuração do SuperPutty |
Grupos de tokens | Os grupos locais e de domínio do token atual |
Arquivos de credenciais do Windows | Blobs DPAPI de credenciais do Windows |
WindowsVault | Credenciais salvas no Windows Vault (ou seja, logins do Internet Explorer e Edge). |
Executa todas as verificações diversas.
Executado com: Seatbelt.exe -group=misc
Comando | Descrição |
---|---|
Marcadores do Chromium | Analisa todos os arquivos de favoritos do Chrome/Edge/Brave/Opera encontrados |
História do cromo | Analisa todos os arquivos de histórico encontrados do Chrome/Edge/Brave/Opera |
ExplicitLogonEvents | Eventos de logon explícitos (ID de evento 4648) do log de eventos de segurança. Padrão de 7 dias, argumento == últimos X dias. |
Informações do arquivo | Informações sobre um arquivo (informações de versão, carimbos de data/hora, informações básicas de PE, etc. argumento(s) == caminho(s) do arquivo |
Histórico do Firefox | Analisa todos os arquivos de histórico do FireFox encontrados |
Produtos instalados | Produtos instalados por meio do registro |
Arquivos interessantes | Arquivos "interessantes" que correspondem a vários padrões na pasta do usuário. Nota: leva um tempo não trivial. |
Eventos de logon | Eventos de logon (ID de evento 4624) do log de eventos de segurança. Padrão de 10 dias, argumento == últimos X dias. |
LOLBAS | Localiza binários e scripts Living Off The Land (LOLBAS) no sistema. Nota: leva um tempo não trivial. |
McAfeeSiteList | Descriptografe todos os arquivos de configuração McAfee SiteList.xml encontrados. |
Atualizações da Microsoft | Todas as atualizações da Microsoft (via COM) |
Downloads do Outlook | Listar arquivos baixados pelo Outlook |
Eventos do PowerShell | Logs de bloco de script do PowerShell (4104) com dados confidenciais. |
Impressoras | Impressoras instaladas (via WMI) |
Eventos de Criação de Processo | Logs de criação de processos (4688) com dados confidenciais. |
Proprietários de processos | Executando lista de processos fora da sessão 0 com proprietários. Para uso remoto. |
Lixeira | Itens da Lixeira excluídos nos últimos 30 dias - funciona apenas no contexto do usuário! |
registro | Valores da chave de registro (HKLMSoftware por padrão) argumento == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
Pontos finais RPMapped | Endpoints RPC atuais mapeados |
Tarefas agendadas | Tarefas agendadas (via WMI) que não são de autoria da 'Microsoft', "completas" despejam todas as tarefas agendadas |
Índice de pesquisa | Resultados da consulta do Índice de Pesquisa do Windows, termo padrão de 'senha'. (argumento(s) == <caminho de pesquisa> <padrão1,padrão2,...> |
Pacotes de segurança | Enumera os pacotes de segurança atualmente disponíveis usando EnumerateSecurityPackagesA() |
Eventos Sysmon | Logs de criação de processos Sysmon (1) com dados confidenciais. |
Executado com: Seatbelt.exe -group=GROUPNAME
Alias | Descrição |
---|---|
Folga | Executa módulos que começam com "Slack*" |
Cromo | Executa módulos que começam com "Chromium*" |
Remoto | Executa os seguintes módulos (para uso em um sistema remoto): 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, OpcionalFeatures, OSInfo, PoweredOnEvents, PowerShell, ProcessOwners, PSSessionSettings, PuttyHostKeys, PuttySessions, RDPSavedConnections, RDPSessions, RDPsettings, Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall |
Comandos que aceitam argumentos estão anotados em sua descrição. Para passar um argumento para um comando, coloque os argumentos do comando entre aspas duplas.
Por exemplo, o comando a seguir retorna 4.624 eventos de logon dos últimos 30 dias:
Seatbelt.exe "LogonEvents 30"
O comando a seguir consulta um registro com três níveis de profundidade, retornando apenas chaves/valueNames/valores que correspondem à regex .*defini.*
e ignorando quaisquer erros que ocorram.
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
O cinto de segurança pode redirecionar sua saída para um arquivo com o argumento -outputfile="C:Pathfile.txt"
. Se o caminho do arquivo terminar em .json, a saída será estruturada em json.
Por exemplo, o comando a seguir gerará os resultados das verificações do sistema em um arquivo txt:
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
Os comandos marcados com um + no menu de ajuda podem ser executados remotamente em outro sistema. Isso é executado no WMI por meio de consultas para classes WMI e StdRegProv do WMI para enumeração de registro.
Para enumerar um sistema remoto, forneça -computername=COMPUTER.DOMAIN.COM
- um nome de usuário e senha alternativos podem ser especificados com -username=DOMAINUSER -password=PASSWORD
Por exemplo, o comando a seguir executa verificações com foco remoto em um sistema remoto:
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
A estrutura do Seatbelt é completamente modular, permitindo que módulos de comando adicionais sejam inseridos na estrutura de arquivos e carregados dinamicamente.
Há um modelo de módulo de comando comentado em .SeatbeltCommandsTemplate.cs
para referência. Depois de compilado, solte o módulo no local do arquivo lógico, inclua-o no projeto no Visual Studio Solution Explorer e compile.
Não estamos planejando lançar binários para o Seatbelt, então você terá que compilar você mesmo.
O cinto de segurança foi desenvolvido em .NET 3.5 e 4.0 com recursos do C# 8.0 e é compatível com o Visual Studio Community Edition. Basta abrir o projeto .sln, escolher "release" e construir. Para alterar a versão do .NET Framework de destino, modifique as configurações do projeto e reconstrua o projeto.
O cinto de segurança incorpora vários itens de coleção, trechos de código C# e pedaços de PoCs encontrados em pesquisas sobre seus recursos. Essas ideias, trechos e autores são destacados nos locais apropriados no código-fonte e incluem:
Tentamos fazer a devida diligência em relação às citações, mas se deixamos alguém/alguma coisa de fora, avise-nos!