Seatbelt는 공격적 보안 관점과 방어적 보안 관점 모두에서 관련된 다양한 보안 지향 호스트 설문 조사 "안전 확인"을 수행하는 C# 프로젝트입니다.
@andrewchiles의 HostEnum.ps1 스크립트와 @tifkin_의 Get-HostProfile.ps1은 수집할 많은 아티팩트에 영감을 제공했습니다.
@harmj0y와 @tifkin_은 이 구현의 주요 작성자입니다.
안전벨트는 BSD 3-Clause 라이센스에 따라 라이센스가 부여됩니다.
%&&@@@&&
&&&&&&&%%%, #&&@@@@@@%%%%%%###############%
&%& %&%% &////(((&%%%%%#%################//((((###%%%%%%%%%%%%%%%
%%%%%%%%%%%######%%%#%%####% &%%**# @////(((&%%%%%%######################(((((((((((((((((((
#%#%%%%%%%#######%#%%####### %&%,,,,,,,,,,,,,,,, @////(((&%%%%%#%#####################(((((((((((((((((((
#%#%%%%%%#####%%#%#%%####### %%%,,,,,, ,,. ,, @////(((&%%%%%%%######################(#(((#(#((((((((((
#####%%%#################### &%%...... ... .. @////(((&%%%%%%%###############%######((#(#(####((((((((
#######%##########%######### %%%...... ... .. @////(((&%%%%%#########################(#(#######((#####
###%##%%#################### &%%............... @////(((&%%%%%%%%##############%#######(#########((#####
#####%###################### %%%.. @////(((&%%%%%%%################
&%& %%%%% Seatbelt %////(((&%%%%%%%%#############*
&%%&&&%%%%% v1.2.1 ,(((&%%%%%%%%%%%%%%%%%,
#%%%%##,
Available commands (+ means remote usage is supported):
+ AMSIProviders - Providers registered for AMSI
+ AntiVirus - Registered antivirus (via WMI)
+ AppLocker - AppLocker settings, if installed
ARPTable - Lists the current ARP table and adapter information (equivalent to arp -a)
AuditPolicies - Enumerates classic and advanced audit policy settings
+ AuditPolicyRegistry - Audit settings via the registry
+ AutoRuns - Auto run executables/scripts/programs
azuread - Return AzureAD info
Certificates - Finds user and machine personal certificate files
CertificateThumbprints - Finds thumbprints for all certificate store certs on the system
+ ChromiumBookmarks - Parses any found Chrome/Edge/Brave/Opera bookmark files
+ ChromiumHistory - Parses any found Chrome/Edge/Brave/Opera history files
+ ChromiumPresence - Checks if interesting Chrome/Edge/Brave/Opera files exist
+ CloudCredentials - AWS/Google/Azure/Bluemix cloud credential files
+ CloudSyncProviders - All configured Office 365 endpoints (tenants and teamsites) which are synchronised by OneDrive.
CredEnum - Enumerates the current user's saved credentials using CredEnumerate()
+ CredGuard - CredentialGuard configuration
dir - Lists files/folders. By default, lists users' downloads, documents, and desktop folders (arguments == [directory] [maxDepth] [regex] [boolIgnoreErrors]
+ DNSCache - DNS cache entries (via WMI)
+ DotNet - DotNet versions
+ DpapiMasterKeys - List DPAPI master keys
EnvironmentPath - Current environment %PATH$ folders and SDDL information
+ EnvironmentVariables - Current environment variables
+ ExplicitLogonEvents - Explicit Logon events (Event ID 4648) from the security event log. Default of 7 days, argument == last X days.
ExplorerMRUs - Explorer most recently used files (last 7 days, argument == last X days)
+ ExplorerRunCommands - Recent Explorer "run" commands
FileInfo - Information about a file (version information, timestamps, basic PE info, etc. argument(s) == file path(s)
+ FileZilla - FileZilla configuration files
+ FirefoxHistory - Parses any found FireFox history files
+ FirefoxPresence - Checks if interesting Firefox files exist
+ Hotfixes - Installed hotfixes (via WMI)
IdleTime - Returns the number of seconds since the current user's last input.
+ IEFavorites - Internet Explorer favorites
IETabs - Open Internet Explorer tabs
+ IEUrls - Internet Explorer typed URLs (last 7 days, argument == last X days)
+ InstalledProducts - Installed products via the registry
InterestingFiles - "Interesting" files matching various patterns in the user's folder. Note: takes non-trivial time.
+ InterestingProcesses - "Interesting" processes - defensive products and admin tools
InternetSettings - Internet settings including proxy configs and zones configuration
+ KeePass - Finds KeePass configuration files
+ LAPS - LAPS settings, if installed
+ LastShutdown - Returns the DateTime of the last system shutdown (via the registry).
LocalGPOs - Local Group Policy settings applied to the machine/local users
+ LocalGroups - Non-empty local groups, "-full" displays all groups (argument == computername to enumerate)
+ LocalUsers - Local users, whether they're active/disabled, and pwd last set (argument == computername to enumerate)
+ LogonEvents - Logon events (Event ID 4624) from the security event log. Default of 10 days, argument == last X days.
+ LogonSessions - Windows logon sessions
LOLBAS - Locates Living Off The Land Binaries and Scripts (LOLBAS) on the system. Note: takes non-trivial time.
+ LSASettings - LSA settings (including auth packages)
+ MappedDrives - Users' mapped drives (via WMI)
McAfeeConfigs - Finds McAfee configuration files
McAfeeSiteList - Decrypt any found McAfee SiteList.xml configuration files.
MicrosoftUpdates - All Microsoft updates (via COM)
MTPuTTY - MTPuTTY configuration files
NamedPipes - Named pipe names, any readable ACL information and associated process information.
+ NetworkProfiles - Windows network profiles
+ NetworkShares - Network shares exposed by the machine (via WMI)
+ NTLMSettings - NTLM authentication settings
OfficeMRUs - Office most recently used file list (last 7 days)
OneNote - List OneNote backup files
+ OptionalFeatures - List Optional Features/Roles (via WMI)
OracleSQLDeveloper - Finds Oracle SQLDeveloper connections.xml files
+ OSInfo - Basic OS info (i.e. architecture, OS version, etc.)
+ OutlookDownloads - List files downloaded by Outlook
+ PoweredOnEvents - Reboot and sleep schedule based on the System event log EIDs 1, 12, 13, 42, and 6008. Default of 7 days, argument == last X days.
+ PowerShell - PowerShell versions and security settings
+ PowerShellEvents - PowerShell script block logs (4104) with sensitive data.
+ PowerShellHistory - Searches PowerShell console history files for sensitive regex matches.
Printers - Installed Printers (via WMI)
+ ProcessCreationEvents - Process creation logs (4688) with sensitive data.
Processes - Running processes with file info company names that don't contain 'Microsoft', "-full" enumerates all processes
+ ProcessOwners - Running non-session 0 process list with owners. For remote use.
+ PSSessionSettings - Enumerates PS Session Settings from the registry
+ PuttyHostKeys - Saved Putty SSH host keys
+ PuttySessions - Saved Putty configuration (interesting fields) and SSH host keys
RDCManFiles - Windows Remote Desktop Connection Manager settings files
+ RDPSavedConnections - Saved RDP connections stored in the registry
+ RDPSessions - Current incoming RDP sessions (argument == computername to enumerate)
+ RDPsettings - Remote Desktop Server/Client Settings
RecycleBin - Items in the Recycle Bin deleted in the last 30 days - only works from a user context!
reg - Registry key values (HKLMSoftware by default) argument == [Path] [intDepth] [Regex] [boolIgnoreErrors]
RPCMappedEndpoints - Current RPC endpoints mapped
+ SCCM - System Center Configuration Manager (SCCM) settings, if applicable
+ ScheduledTasks - Scheduled tasks (via WMI) that aren't authored by 'Microsoft', "-full" dumps all Scheduled tasks
SearchIndex - Query results from the Windows Search Index, default term of 'passsword'. (argument(s) == <search path> <pattern1,pattern2,...>
SecPackageCreds - Obtains credentials from security packages
+ SecureBoot - Secure Boot configuration
SecurityPackages - Enumerates the security packages currently available using EnumerateSecurityPackagesA()
Services - Services with file info company names that don't contain 'Microsoft', "-full" dumps all processes
+ SlackDownloads - Parses any found 'slack-downloads' files
+ SlackPresence - Checks if interesting Slack files exist
+ SlackWorkspaces - Parses any found 'slack-workspaces' files
+ SuperPutty - SuperPutty configuration files
+ Sysmon - Sysmon configuration from the registry
+ SysmonEvents - Sysmon process creation logs (1) with sensitive data.
TcpConnections - Current TCP connections and their associated processes and services
TokenGroups - The current token's local and domain groups
TokenPrivileges - Currently enabled token privileges (e.g. SeDebugPrivilege/etc.)
+ UAC - UAC system policies via the registry
UdpConnections - Current UDP connections and associated processes and services
UserRightAssignments - Configured User Right Assignments (e.g. SeDenyNetworkLogonRight, SeShutdownPrivilege, etc.) argument == computername to enumerate
WifiProfile - Enumerates the saved Wifi profiles and extract the ssid, authentication type, cleartext key/passphrase (when possible)
+ WindowsAutoLogon - Registry autologon information
WindowsCredentialFiles - Windows credential DPAPI blobs
+ WindowsDefender - Windows Defender settings (including exclusion locations)
+ WindowsEventForwarding - Windows Event Forwarding (WEF) settings via the registry
+ WindowsFirewall - Non-standard firewall rules, "-full" dumps all (arguments == allow/deny/tcp/udp/in/out/domain/private/public)
WindowsVault - Credentials saved in the Windows Vault (i.e. logins from Internet Explorer and Edge).
+ WMI - Runs a specified WMI query
WMIEventConsumer - Lists WMI Event Consumers
WMIEventFilter - Lists WMI Event Filters
WMIFilterBinding - Lists WMI Filter to Consumer Bindings
+ WSUS - Windows Server Update Services (WSUS) settings, if applicable
Seatbelt has the following command groups: All, User, System, Slack, Chromium, Remote, Misc
You can invoke command groups with "Seatbelt.exe <group>"
Or command groups except specific commands "Seatbelt.exe <group> -Command"
"Seatbelt.exe -group=all" runs all commands
"Seatbelt.exe -group=user" runs the following commands:
azuread, Certificates, CertificateThumbprints, ChromiumPresence, CloudCredentials,
CloudSyncProviders, CredEnum, dir, DpapiMasterKeys,
ExplorerMRUs, ExplorerRunCommands, FileZilla, FirefoxPresence,
IdleTime, IEFavorites, IETabs, IEUrls,
KeePass, MappedDrives, MTPuTTY, OfficeMRUs,
OneNote, OracleSQLDeveloper, PowerShellHistory, PuttyHostKeys,
PuttySessions, RDCManFiles, RDPSavedConnections, SecPackageCreds,
SlackDownloads, SlackPresence, SlackWorkspaces, SuperPutty,
TokenGroups, WindowsCredentialFiles, WindowsVault
"Seatbelt.exe -group=system" runs the following commands:
AMSIProviders, AntiVirus, AppLocker, ARPTable, AuditPolicies,
AuditPolicyRegistry, AutoRuns, Certificates, CertificateThumbprints,
CredGuard, DNSCache, DotNet, EnvironmentPath,
EnvironmentVariables, Hotfixes, InterestingProcesses, InternetSettings,
LAPS, LastShutdown, LocalGPOs, LocalGroups,
LocalUsers, LogonSessions, LSASettings, McAfeeConfigs,
NamedPipes, NetworkProfiles, NetworkShares, NTLMSettings,
OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell,
Processes, PSSessionSettings, RDPSessions, RDPsettings,
SCCM, SecureBoot, Services, Sysmon,
TcpConnections, TokenPrivileges, UAC, UdpConnections,
UserRightAssignments, WifiProfile, WindowsAutoLogon, WindowsDefender,
WindowsEventForwarding, WindowsFirewall, WMI, WMIEventConsumer,
WMIEventFilter, WMIFilterBinding, WSUS
"Seatbelt.exe -group=slack" runs the following commands:
SlackDownloads, SlackPresence, SlackWorkspaces
"Seatbelt.exe -group=chromium" runs the following commands:
ChromiumBookmarks, ChromiumHistory, ChromiumPresence
"Seatbelt.exe -group=remote" runs the following commands:
AMSIProviders, AntiVirus, AuditPolicyRegistry, ChromiumPresence, CloudCredentials,
DNSCache, DotNet, DpapiMasterKeys, EnvironmentVariables,
ExplicitLogonEvents, ExplorerRunCommands, FileZilla, Hotfixes,
InterestingProcesses, KeePass, LastShutdown, LocalGroups,
LocalUsers, LogonEvents, LogonSessions, LSASettings,
MappedDrives, NetworkProfiles, NetworkShares, NTLMSettings,
OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell,
ProcessOwners, PSSessionSettings, PuttyHostKeys, PuttySessions,
RDPSavedConnections, RDPSessions, RDPsettings, SecureBoot,
Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall
"Seatbelt.exe -group=misc" runs the following commands:
ChromiumBookmarks, ChromiumHistory, ExplicitLogonEvents, FileInfo, FirefoxHistory,
InstalledProducts, InterestingFiles, LogonEvents, LOLBAS,
McAfeeSiteList, MicrosoftUpdates, OutlookDownloads, PowerShellEvents,
Printers, ProcessCreationEvents, ProcessOwners, RecycleBin,
reg, RPCMappedEndpoints, ScheduledTasks, SearchIndex,
SecurityPackages, SysmonEvents
Examples:
'Seatbelt.exe <Command> [Command2] ...' will run one or more specified checks only
'Seatbelt.exe <Command> -full' will return complete results for a command without any filtering.
'Seatbelt.exe "<Command> [argument]"' will pass an argument to a command that supports it (note the quotes).
'Seatbelt.exe -group=all' will run ALL enumeration checks, can be combined with "-full".
'Seatbelt.exe -group=all -AuditPolicies' will run all enumeration checks EXCEPT AuditPolicies, can be combined with "-full".
'Seatbelt.exe <Command> -computername=COMPUTER.DOMAIN.COM [-username=DOMAINUSER -password=PASSWORD]' will run an applicable check remotely
'Seatbelt.exe -group=remote -computername=COMPUTER.DOMAIN.COM [-username=DOMAINUSER -password=PASSWORD]' will run remote specific checks
'Seatbelt.exe -group=system -outputfile="C:Tempout.txt"' will run system checks and output to a .txt file.
'Seatbelt.exe -group=user -q -outputfile="C:Tempout.json"' will run in quiet mode with user checks and output to a .json file.
참고: 대상 사용자에 대한 검색은 승격되지 않은 경우 현재 사용자에 대해 실행되고 승격된 경우 모든 사용자에 대해 실행됩니다.
참고: 많은 명령은 기본적으로 특정 유형의 필터링을 수행합니다. -full
인수를 제공하면 출력 필터링이 방지됩니다. 또한 명령 그룹 all
은 모든 현재 검사를 실행합니다.
예를 들어 다음 명령은 모든 검사를 실행하고 모든 출력을 반환합니다.
Seatbelt.exe -group=all -full
시스템에 대한 흥미로운 데이터를 수집하는 검사를 실행합니다.
다음으로 실행됨: Seatbelt.exe -group=system
명령 | 설명 |
---|---|
AMSI공급자 | AMSI에 등록된 제공업체 |
안티바이러스 | 등록된 바이러스 백신(WMI를 통해) |
앱락커 | AppLocker 설정(설치된 경우) |
ARP테이블 | 현재 ARP 테이블 및 어댑터 정보를 나열합니다(arp -a와 동일). |
감사 정책 | 기본 및 고급 감사 정책 설정을 열거합니다. |
감사정책레지스트리 | 레지스트리를 통한 감사 설정 |
자동 실행 | 실행 파일/스크립트/프로그램 자동 실행 |
인증서 | 사용자 및 컴퓨터 개인 인증서 파일 |
인증서지문 | 시스템의 모든 인증서 저장소 인증서에 대한 지문 |
크레드가드 | CredentialGuard 구성 |
DNS캐시 | DNS 캐시 항목(WMI를 통해) |
닷넷 | 닷넷 버전 |
환경경로 | 현재 환경 %PATH$ 폴더 및 SDDL 정보 |
환경변수 | 현재 사용자 환경 변수 |
핫픽스 | 설치된 핫픽스(WMI를 통해) |
흥미로운 프로세스 | "흥미로운" 프로세스 - 방어 제품 및 관리 도구 |
인터넷설정 | 프록시 구성을 포함한 인터넷 설정 |
랩 | LAPS 설정(설치된 경우) |
마지막 종료 | (레지스트리를 통해) 마지막 시스템 종료 날짜/시간을 반환합니다. |
로컬GPO | 컴퓨터/로컬 사용자에게 적용되는 로컬 그룹 정책 설정 |
로컬그룹 | 비어 있지 않은 로컬 그룹, "full"은 모든 그룹을 표시합니다(인수 == 열거할 컴퓨터 이름). |
로컬사용자 | 로컬 사용자의 활성/비활성화 여부 및 마지막 설정된 비밀번호(인수 == 열거할 컴퓨터 이름) |
로그온 세션 | 보안 이벤트 로그의 로그온 이벤트(이벤트 ID 4624)입니다. 기본값은 10일, 인수 == 지난 X일입니다. |
LSA설정 | LSA 설정(인증 패키지 포함) |
McAfee구성 | McAfee 구성 파일을 찾습니다. |
명명된 파이프 | 명명된 파이프 이름 및 읽을 수 있는 ACL 정보 |
네트워크 프로필 | Windows 네트워크 프로필 |
네트워크 공유 | (WMI를 통해) 머신에 의해 노출되는 네트워크 공유 |
NTLM 설정 | NTLM 인증 설정 |
선택적 기능 | TODO |
OS정보 | 기본 OS 정보(예: 아키텍처, OS 버전 등) |
PoweredOn이벤트 | 시스템 이벤트 로그 EID 1, 12, 13, 42 및 6008을 기반으로 하는 재부팅 및 절전 일정. 기본값은 7일, 인수 == 지난 X일입니다. |
파워셸 | PowerShell 버전 및 보안 설정 |
프로세스 | 'Microsoft'가 포함되지 않은 파일 정보 회사 이름으로 프로세스를 실행하면 "전체"는 모든 프로세스를 열거합니다. |
PSSession설정 | 레지스트리에서 PS 세션 설정을 열거합니다. |
RDP 세션 | 현재 수신되는 RDP 세션(인수 == 열거할 컴퓨터 이름) |
RDP 설정 | 원격 데스크톱 서버/클라이언트 설정 |
SCCM | SCCM(System Center Configuration Manager) 설정(해당하는 경우) |
서비스 | 'Microsoft', "전체"가 포함되지 않은 파일 정보 회사 이름을 가진 서비스는 모든 프로세스를 덤프합니다. |
시스몬 | 레지스트리의 Sysmon 구성 |
Tcp연결 | 현재 TCP 연결과 관련 프로세스 및 서비스 |
토큰권한 | 현재 활성화된 토큰 권한(예: SeDebugPrivilege/etc.) |
UAC | 레지스트리를 통한 UAC 시스템 정책 |
UDP 연결 | 현재 UDP 연결과 관련 프로세스 및 서비스 |
사용자 권한 할당 | 구성된 사용자 권한 할당(예: SeDenyNetworkLogonRight, SeShutdownPrivilege 등) 인수 == 열거할 컴퓨터 이름 |
Wi-Fi 프로필 | TODO |
Windows자동로그온 | 레지스트리 자동 로그온 정보 |
윈도우디펜더 | Windows Defender 설정(제외 위치 포함) |
Windows이벤트 전달 | 레지스트리를 통한 WEF(Windows 이벤트 전달) 설정 |
Windows방화벽 | 비표준 방화벽 규칙, "전체"는 모두 덤프합니다(인수 == 허용/거부/tcp/udp/in/out/domain/private/public). |
WMI이벤트소비자 | WMI 이벤트 소비자 나열 |
WMI이벤트필터 | WMI 이벤트 필터 나열 |
WMI필터 바인딩 | 소비자 바인딩에 대한 WMI 필터 나열 |
WSUS | WSUS(Windows Server Update Services) 설정(해당하는 경우) |
현재 로그온한 사용자(승격되지 않은 경우) 또는 모든 사용자(승격된 경우)에 대한 흥미로운 데이터를 마이닝하는 검사를 실행합니다.
다음으로 실행됨: Seatbelt.exe -group=user
명령 | 설명 |
---|---|
인증서 | 사용자 및 컴퓨터 개인 인증서 파일 |
인증서지문 | 시스템의 모든 인증서 저장소 인증서에 대한 지문 |
크롬 존재 | 흥미로운 Chrome/Edge/Brave/Opera 파일이 있는지 확인합니다. |
Cloud 자격 증명 | AWS/Google/Azure 클라우드 자격 증명 파일 |
CloudSync 제공자 | TODO |
CredEnum | CredEnumerate()를 사용하여 현재 사용자의 저장된 자격 증명을 열거합니다. |
디렉토리 | 파일/폴더를 나열합니다. 기본적으로 사용자의 다운로드, 문서 및 데스크탑 폴더를 나열합니다(인수 == <디렉터리> <깊이> <regex> |
DpapiMasterKeys | DPAPI 마스터 키 나열 |
Dsregcmd | TODO |
ExplorerMRU | Explorer에서 가장 최근에 사용한 파일(지난 7일, 인수 == 지난 X일) |
ExplorerRun명령 | 최근 탐색기 "실행" 명령 |
파일질라 | FileZilla 구성 파일 |
Firefox현재 상태 | 흥미로운 Firefox 파일이 있는지 확인합니다. |
유휴 시간 | 현재 사용자의 마지막 입력 이후 경과된 시간(초)을 반환합니다. |
IE즐겨찾기 | Internet Explorer 즐겨찾기 |
IETab | Internet Explorer 탭 열기 |
IEUrls | Internet Explorer에서 입력한 URL(지난 7일, 인수 == 지난 X일) |
키패스 | TODO |
매핑된 드라이브 | 사용자의 매핑된 드라이브(WMI를 통해) |
OfficeMRU | Office에서 가장 최근에 사용한 파일 목록(지난 7일) |
원노트 | TODO |
OracleSQL개발자 | TODO |
PowerShell역사 | 모든 로컬 사용자를 반복하고 성공하면 PowerShell 콘솔 기록 읽기를 시도하여 인쇄합니다. |
PuttyHostKeys | 저장된 Putty SSH 호스트 키 |
퍼티세션 | 저장된 Putty 구성(흥미로운 필드) 및 SSH 호스트 키 |
RDCMan파일 | Windows 원격 데스크톱 연결 관리자 설정 파일 |
RDPSaveConnections | 레지스트리에 저장된 저장된 RDP 연결 |
SecPackageCreds | 보안 패키지에서 자격 증명을 얻습니다. |
Slack다운로드 | 발견된 'slack-downloads' 파일을 구문 분석합니다. |
슬랙프레즌스 | 흥미로운 Slack 파일이 있는지 확인합니다. |
SlackWorkspaces | 발견된 'slack-workspaces' 파일을 구문 분석합니다. |
슈퍼퍼티 | SuperPutty 구성 파일 |
토큰그룹 | 현재 토큰의 로컬 및 도메인 그룹 |
Windows 자격 증명 파일 | Windows 자격 증명 DPAPI Blob |
WindowsVault | Windows Vault에 저장된 자격 증명(예: Internet Explorer 및 Edge에서의 로그인) |
모든 기타 검사를 실행합니다.
다음으로 실행됨: Seatbelt.exe -group=misc
명령 | 설명 |
---|---|
Chromium북마크 | 발견된 Chrome/Edge/Brave/Opera 북마크 파일을 구문 분석합니다. |
크롬의 역사 | 발견된 Chrome/Edge/Brave/Opera 기록 파일을 구문 분석합니다. |
명시적 로그온 이벤트 | 보안 이벤트 로그의 명시적 로그온 이벤트(이벤트 ID 4648) 기본값은 7일, 인수 == 지난 X일입니다. |
파일정보 | 파일에 대한 정보(버전 정보, 타임스탬프, 기본 PE 정보 등) 인수 == 파일 경로 |
Firefox역사 | 발견된 FireFox 기록 파일을 구문 분석합니다. |
설치된제품 | 레지스트리를 통해 설치된 제품 |
흥미로운파일 | 사용자 폴더의 다양한 패턴과 일치하는 "흥미로운" 파일. 참고: 적지 않은 시간이 걸립니다. |
로그온 이벤트 | 보안 이벤트 로그의 로그온 이벤트(이벤트 ID 4624)입니다. 기본값은 10일, 인수 == 지난 X일입니다. |
롤바스 | 시스템에서 Living Off The Land 바이너리 및 스크립트(LOLBAS)를 찾습니다. 참고: 적지 않은 시간이 걸립니다. |
McAfee사이트목록 | 발견된 McAfee SiteList.xml 구성 파일을 해독합니다. |
Microsoft업데이트 | 모든 Microsoft 업데이트(COM을 통해) |
Outlook다운로드 | Outlook에서 다운로드한 파일 나열 |
PowerShell이벤트 | 민감한 데이터가 포함된 PowerShell 스크립트 블록 로그(4104). |
프린터 | 설치된 프린터(WMI를 통해) |
프로세스 생성 이벤트 | 민감한 데이터가 포함된 프로세스 생성 로그(4688)입니다. |
프로세스 소유자 | 소유자와 함께 세션 0이 아닌 프로세스 목록을 실행합니다. 원격 사용용. |
휴지통 | 지난 30일 동안 삭제된 휴지통의 항목 - 사용자 컨텍스트에서만 작동합니다! |
등록 | 레지스트리 키 값(기본적으로 HKLMSoftware) 인수 == [Path] [intDepth] [Regex] [boolIgnoreErrors] |
RPCMappedEndpoints | 매핑된 현재 RPC 끝점 |
예약된 작업 | 'Microsoft'에서 작성하지 않은 예약된 작업(WMI를 통해), "전체"는 모든 예약된 작업을 덤프합니다. |
검색색인 | 기본 용어 '비밀번호'인 Windows 검색 색인의 쿼리 결과입니다. (인수) == <검색 경로> <패턴1,패턴2,...> |
보안패키지 | EnumerateSecurityPackagesA()를 사용하여 현재 사용 가능한 보안 패키지를 열거합니다. |
Sysmon이벤트 | 민감한 데이터가 포함된 Sysmon 프로세스 생성 로그(1)입니다. |
다음으로 실행됨: Seatbelt.exe -group=GROUPNAME
별명 | 설명 |
---|---|
느슨하게 | "Slack*"으로 시작하는 모듈을 실행합니다. |
크롬 | "Chromium*"으로 시작하는 모듈을 실행합니다. |
원격 | 다음 모듈을 실행합니다(원격 시스템에 대해 사용): AMSIProviders, AntiVirus, AuditPolicyRegistry, ChromiumPresence, CloudCredentials, DNSCache, DotNet, DpapiMasterKeys, EnvironmentVariables, ExplicitLogonEvents, ExplorerRunCommands, FileZilla, Hotfixes, InterestingProcesses, KeePass, LastShutdown, LocalGroups, LocalUsers, LogonEvents , LogonSessions, LSASettings, MappedDrives, NetworkProfiles, NetworkShares, NTLMSettings, OptionalFeatures, OSInfo, PoweredOnEvents, PowerShell, ProcessOwners, PSSessionSettings, PuttyHostKeys, PuttySessions, RDPSavedConnections, RDPSessions, RDPsettings, Sysmon, WindowsDefender, WindowsEventForwarding, WindowsFirewall |
인수를 받아들이는 명령은 설명에 명시되어 있습니다. 명령에 인수를 전달하려면 명령을 큰따옴표로 묶으십시오.
예를 들어 다음 명령은 지난 30일 동안 4624개의 로그온 이벤트를 반환합니다.
Seatbelt.exe "LogonEvents 30"
다음 명령은 3개 수준 깊이의 레지스트리를 쿼리하여 정규식 .*defini.*
와 일치하는 키/값 이름/값만 반환하고 발생하는 모든 오류를 무시합니다.
Seatbelt.exe "reg "HKLMSOFTWAREMicrosoftWindows Defender" 3 .*defini.* true"
안전벨트는 -outputfile="C:Pathfile.txt"
인수를 사용하여 출력을 파일로 리디렉션할 수 있습니다. 파일 경로가 .json으로 끝나면 출력은 구조화된 json이 됩니다.
예를 들어, 다음 명령은 시스템 검사 결과를 txt 파일로 출력합니다.
Seatbelt.exe -group=system -outputfile="C:Tempsystem.txt"
도움말 메뉴에 + 표시가 있는 명령은 다른 시스템에 대해 원격으로 실행할 수 있습니다. 이는 WMI 클래스에 대한 쿼리와 레지스트리 열거를 위한 WMI의 StdRegProv를 통해 WMI를 통해 수행됩니다.
원격 시스템을 열거하려면 -computername=COMPUTER.DOMAIN.COM
제공합니다. -username=DOMAINUSER -password=PASSWORD
로 대체 사용자 이름과 비밀번호를 지정할 수 있습니다.
예를 들어 다음 명령은 원격 시스템에 대해 원격 중심 검사를 실행합니다.
Seatbelt.exe -group=remote -computername=192.168.230.209 -username=THESHIREsam -password="yum "po-ta-toes""
Seatbelt의 구조는 완전히 모듈식이므로 추가 명령 모듈을 파일 구조에 추가하고 동적으로 로드할 수 있습니다.
참조용으로 . .SeatbeltCommandsTemplate.cs
빌드되면 모듈을 논리 파일 위치에 놓고 Visual Studio 솔루션 탐색기의 프로젝트에 포함시킨 후 컴파일합니다.
우리는 Seatbelt용 바이너리를 출시할 계획이 없으므로 사용자가 직접 컴파일해야 합니다.
Seatbelt는 C# 8.0 기능을 갖춘 .NET 3.5 및 4.0을 기반으로 구축되었으며 Visual Studio Community Edition과 호환됩니다. 간단히 프로젝트 .sln을 열고 "릴리스"를 선택한 후 빌드하세요. 대상 .NET Framework 버전을 변경하려면 프로젝트 설정을 수정하고 프로젝트를 다시 빌드하세요.
안전벨트에는 기능에 대한 연구 전반에 걸쳐 발견된 다양한 컬렉션 항목, 코드 C# 조각 및 약간의 PoC가 통합되어 있습니다. 이러한 아이디어, 조각 및 작성자는 소스 코드의 적절한 위치에 강조 표시되어 있으며 다음을 포함합니다.
우리는 인용에 대해 실사를 시도했지만 누군가/무언가 누락된 경우 알려 주시기 바랍니다!