소개
2021년부터 저는 조사 및 치료 작업을 지원하기 위해 여러 스크립트를 개발해 왔습니다. 여러분에게 도움이 되기를 바라며 이를 공개하기로 했습니다.
이 스크립트들은 어떻게 작동하나요?
제가 개발한 스크립트는 Crowdstrike Endpoint Detection and Response (EDR)와 함께 작동하도록 설계되었습니다. 기본적으로 버튼 한 번으로 원격에서 장치를 신속하게 치료할 수 있는 클라우드 스크립트입니다.
왜 이 스크립트들을 만들었나요?
제 스크립트의 목적은 SOC 또는 사고 대응 분석가의 조사를 지원하는 것입니다. 일부 스크립트는 특정 원치 않는 소프트웨어/애드웨어의 치료를 지원합니다. 다른 스크립트는 사용자 이름을 기준으로 특정 시스템을 조사하여 더 많은 가시성을 제공합니다.
목차
수동 클라우드 스크립트
- WinInspect - WinInspect는 대상 사용자 이름을 기준으로 Windows 시스템에 대한 더 많은 가시성을 분석가에게 제공하는 경량 도구입니다.
- MACInspect - MACInspect는 대상 사용자 이름을 기준으로 MAC 시스템에 대한 더 많은 가시성을 분석가에게 제공하는 경량 도구입니다.
- LinInspect - LinInspect는 대상 사용자 이름을 기준으로 Linux 시스템에 대한 더 많은 가시성을 분석가에게 제공하는 경량 도구입니다.
- EnumChromeExt - EnumChromeExt는 Chrome 확장 프로그램을 검색하고 자동으로 이름을 감지하려고 시도합니다.
- Win-PortScanner - Win-PortScanner는 매우 가벼운 포트 스캐너입니다.
- ScanDll - ScanDll은 특정 동적 링크 라이브러리를 프로세스에서 검색하는 데 도움을 주는 도구입니다.
- ScanDllv2 - ScanDllv2는 C#을 사용하여 특정 동적 링크 라이브러리를 프로세스에서 검색하도록 설계된 도구입니다. ScanDll보다 훨씬 빠르지만, CrowdStrike RTR UI에서 표준 출력 표시 문제로 인해 출력이 로그 파일에 기록됩니다.
- RegScanner - 고유 키워드를 사용하여 레지스트리 키 또는 값을 검색하도록 설계된 놀랍도록 빠른 도구입니다.
- Win-DiskImage-Toolkit - 디스크 이미지를 빠르게 열거하거나 마운트 해제하는 간단한 도구입니다.
- ScreenConnect-C2Extractor - ScreenConnect-C2Extractor는 ScreenConnect aka ConnectWise Client의
user.config에서 C2를 검색합니다.
- Win-PacketCapture - 분석을 위한 패킷 덤프를 생성하는 안내 스크립트입니다.
- EvidenceCollection - 이 스크립트는 지정된 사용자의 Downloads, Documents, Desktop 디렉터리에서 Word 파일, Excel 스프레드시트, 텍스트 파일, PDF, 이메일 등 일반적인 사용자 문서 유형을 수집합니다. C:\temp\SIRT 디렉터리를 자동으로 생성하고(없는 경우) 일치하는 모든 파일을 해당 위치에 복사하여 중앙 집중식 검토, 증거 보존 또는 사고 조사를 수행합니다. 파일 유형, 디렉터리 및 사용자 이름은 사건의 필요에 맞게 사용자 지정할 수 있습니다.
- Win-DmpEventLogs - Win-DmpEventLogs는 지정된 시간 범위 내에서 Windows 이벤트 로그를 덤프할 수 있는 매우 유용한 포렌식 도구입니다:
1 = last 24 hours, 7 = last week, 30 = last month, 0 = all events.. 식별을 지원하기 위한 기본 규칙이 구현되어 있습니다.
- Win-EnumVsCodeExtension - 이 PowerShell 스크립트는 VS Code 확장 디렉터리를 검사하고 각 확장의 package.json 메타데이터 파일을 구문 분석하여 지정된 사용자 계정에 설치된 Visual Studio Code 확장을 열거합니다.
- Win-datebased_filehunt - 이 PowerShell 스크립트는 내장된 C# 코드를 사용하여 특정 날짜에 수정된 파일을 C:\ 드라이브에서 재귀적으로 검색합니다. 전체 경로, 마지막 수정 타임스탬프, 파일 크기를 포함한 모든 일치 파일을
C:\Windows\Temp\hunter_log_results.log에 있는 로그 파일에 기록합니다.
- Win-TokenImpersonateExec.ps1 - 이 스크립트는 분석가가 사용자의 액세스 토큰을 활용하여 지정된 사용자의 보안 컨텍스트 내에서 명령을 실행할 수 있도록 합니다. 필요한 경우에만 이 스크립트를 사용하십시오. 대상 사용자의 보안 컨텍스트 내에서 명령을 실행하므로, 사용자별 아티팩트, 설정 또는 데이터를 수집해야 하지만 표준 관리자 또는 SYSTEM 수준 액세스로는 얻을 수 없는 상황을 위해 예약되어야 합니다.
- Win-EnumLockedFile - 이 스크립트는 Windows Restart Manager API를 활용하여 현재 지정된 파일을 열거나 잠근 프로세스를 식별합니다.
기타 스크립트
- jsonspection - JSONSpection은 JSON 데이터 구조를 철저히 검사하고 열거하도록 설계된 유틸리티입니다. 복잡하거나 중첩된 JSON 블롭을 분해하고, 모든 키-값 경로를 식별하며, 데이터 내의 전체 스키마와 관계를 이해하는 데 도움을 줍니다. 이는 API 디버깅, 로그 분석 또는 구문 분석 및 자동화 워크플로를 위한 데이터 준비에 유용합니다.
- lin-EnumDisk -
lin-diskenum.py는 Linux에서 .img, .dd, .raw 파일과 같은 원시 디스크 이미지를 열거합니다. 읽기 전용 루프 장치를 생성하고, 파티션/파일 시스템을 감지하며, 열거 결과를 enum/ 디렉터리 아래에 별도로 저장합니다.
- lin-jextract - lin-jextract는 Linux 디스크 이미지 내의 EXT 파일 시스템을 자동으로 식별하고 포렌식 분석을 위해 해당 파일 시스템 저널을 추출합니다.
- x3 Ephemeral File Explorer - x3는 상황 인식 방식으로 그래픽 파일 관리자를 실행하여 분석가 워크플로를 간소화하도록 설계된 경량 Linux 유틸리티입니다. 직접 디렉터리 탐색은 물론, 하나 이상의 파일에 대한 격리된 임시 작업 공간을 지원합니다.
Process Execution Rules (Event ID 4688)
Net.exe Execution - General net.exe usage
Net User/Group - Net user/group commands
Net Share - Net share/use commands
Whoami Execution - Whoami command execution
Systeminfo Execution - Systeminfo command
Tasklist Execution - Tasklist command
Nslookup Execution - Nslookup command
Ping Sweep - Ping with -n or -t flags
PowerShell Encoded - PowerShell with encoded commands
PowerShell Bypass - PowerShell bypass techniques
PowerShell Download - PowerShell download strings
Certutil Download - Certutil used for downloads
BITSAdmin Download - BITSAdmin transfer/download
WMIC Process - WMIC process execution
Scheduled Task - Scheduled task creation/execution
Registry Modification - Registry add/delete operations
Service Creation - Service creation/start
Authentication & Access Rules
Network Logon - Network logon (LogonType 3)
Failed Admin Logon - Failed logon to Administrator account
Explicit Credential Use - Event ID 4648
Privilege Escalation - Event ID 4672
Account Management Rules
User Account Created - Event ID 4720
Group Member Added - Event ID 4728
System Configuration Rules
Service Installation - Event ID 4697
Service Modified - Event ID 7045 (System log)
Driver Load - Event ID 219 (System log)
Audit Policy Change - Event ID 4719
Network Share Added - Event ID 5142
WFP Blocked - Windows Filtering Platform blocked connection (Event ID 5157)
Crowdstrike API 스크립트
- CSSession - CSSession은 대상 호스트 이름을 인수로 입력하여 Real-Time-Response를 통해 연결할 수 있게 해주는 CrowdStrike API 스크립트입니다. 이 스크립트를 사용하려면 적절한 API 권한이 있어야 하며 clientid / secret이 올바른지 확인해야 합니다.
- CrowdStrike-API-queued-script - CrowdStrike API Queued 스크립트를 사용하면 선택한 클라우드 스크립트를 대상 호스트에 대기열에 추가할 수 있습니다. 이 스크립트를 사용하려면 적절한 API 권한이 있어야 하며 clientid / secret이 올바른지 확인해야 합니다.
Crowdstrike 치료 스크립트
다음 라이브러리에는 실제 환경에서 발견되는 일반적인 원치 않는 소프트웨어, 애드웨어 및 멀웨어를 제거하도록 설계된 치료 스크립트 모음이 포함되어 있습니다. 치료하고 싶은 특정 프로그램이 있다면 해당 스크립트를 다운로드하여 환경에서 사용하십시오.