CobaltStrike Malleable C2 프로필 분석은(는) 무엇을 하나요?
개요
Cobalt Strike Malleable C2 프로필은 Beacon이 팀 서버와 통신하는 방식을 사용자 정의하는 도메인 특화 언어 스크립트로, HTTP 요청/응답 변환, sleep 간격, jitter 값, user-agent, URI 경로 및 프로세스 인젝션 동작을 정의합니다. 위협 행위자는 malleable 프로필을 사용하여 C2 트래픽을 정상 서비스(Amazon, Google, Slack)로 가장합니다. 이러한 프로필을 분석하면 URI 패턴, HTTP 헤더, POST/GET 변환, DNS 설정, 프로세스 인젝션 기술 등 네트워크 기반 탐지 지표를 식별할 수 있습니다. dissect.cobaltstrike 라이브러리는 프로필 파일과 비콘 페이로드 모두에서 구성을 추출할 수 있으며, pyMalleableC2는 Lark 문법을 사용한 AST 기반 파싱을 제공하여 프로그래밍 방식의 프로필 조작 및 검증을 가능하게 합니다.
사용 시기
- 보안 사고 조사 시 CobaltStrike malleable C2 프로필을 분석해야 할 때
- 이 도메인에 대한 탐지 규칙 또는 위협 헌팅 쿼리를 구축할 때
- SOC 분석가가 이러한 분석 유형에 대한 구조화된 절차가 필요할 때
- 관련 공격 기술에 대한 보안 모니터링 커버리지를 검증할 때
사전 요구 사항
- Python 3.9+ 및
dissect.cobaltstrike및/또는pyMalleableC2 - 샘플 Malleable C2 프로필 (공개 저장소에서 확보 가능)
- HTTP 프로토콜 및 Cobalt Strike Beacon 통신 모델에 대한 이해
- 시그니처 배포를 위한 네트워크 모니터링 도구 (Suricata/Snort)
- 트래픽 검증을 위한 PCAP 분석 도구
단계
- 라이브러리 설치:
pip install dissect.cobaltstrike또는pip install pyMalleableC2 C2Profile.from_path("profile.profile")로 프로필 파싱- HTTP GET/POST 블록 구성 추출 (URI, 헤더, 파라미터)
- user-agent 문자열 및 스푸핑 대상 식별
- sleep 시간, jitter 백분율 및 DNS 비콘 설정 추출
- 프로세스 인젝션 설정 분석 (spawn-to, 할당 기술)
- 추출된 네트워크 지표로 Suricata/Snort 시그니처 생성
- 알려진 위협 행위자 프로필 컬렉션과 프로필 비교
- 스테이징 URI 및 페이로드 전달 메커니즘 추출
- IOC 및 권장 네트워크 시그니처가 포함된 탐지 보고서 생성
예상 출력
추출된 C2 URI, HTTP 헤더, user-agent, sleep/jitter 설정, 프로세스 인젝션 구성, 생성된 프로세스 경로, DNS 설정 및 Suricata 호환 탐지 규칙이 포함된 JSON 보고서입니다.