Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CAPEv2 — 악성코드 설정 및 페이로드 추출 | Kitploit
도구/GitHubGitHub/kevoreilly/capev2
Dynamic Analysis (Sandboxing)Memory ForensicsVulnerability AnalysisNetwork ForensicsReverse EngineeringDebuggersForensicsMalware AnalysisLearning & EducationMalware Analysis #20위
3.4k597941일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubkevoreilly/capev2

CAPEv2

악성코드 설정 및 페이로드 추출

저장소 보기웹사이트

CAPE: 악성코드 구성 및 페이로드 추출 - 문서

CAPE는 악성코드 샌드박스입니다.

샌드박스는 악성 파일을 격리된 환경에서 실행하면서 그 동적 동작을 계측하고 포렌식 아티팩트를 수집하는 데 사용됩니다.

CAPE는 Cuckoo v1에서 파생되었으며, Windows 플랫폼에서 다음과 같은 핵심 기능을 제공합니다:

  • API 후킹 기반의 행위 계측
  • 실행 중 생성, 수정, 삭제된 파일 캡처
  • PCAP 형식의 네트워크 트래픽 캡처
  • 행위 및 네트워크 시그니처 기반의 악성코드 분류
  • 악성코드 실행 중 촬영된 데스크톱 스크린샷
  • 대상 시스템의 전체 메모리 덤프

CAPE는 Cuckoo의 전통적인 샌드박스 출력에 다음과 같은 몇 가지 핵심 기능을 추가합니다:

  • 자동화된 동적 악성코드 언패킹
  • 언패킹된 페이로드의 YARA 시그니처 기반 악성코드 분류
  • 정적 및 동적 악성코드 구성 추출
  • YARA 시그니처를 통해 프로그래밍 가능한 자동화 디버거, 이를 통해 다음이 가능:
    • 사용자 정의 언패킹/구성 추출기
    • 동적 안티 샌드박스 대응책
    • 명령어 트레이스
  • 대화형 데스크톱

누구나 사용할 수 있는 무료 데모 인스턴스가 온라인에 있습니다:

https://capesandbox.com - 계정 활성화는 https://twitter.com/capesandbox 로 문의하세요

약간의 역사

Cuckoo Sandbox는 2010년 The Honeynet Project 내에서 Google Summer of Code 프로젝트로 시작되었습니다. 원래 Claudio Guarnieri가 설계하고 개발했으며, 첫 번째 베타 릴리스는 2011년에 공개되었습니다. 2014년 1월, Cuckoo v1.0이 릴리스되었습니다.

2015년은 Cuckoo의 역사에서 중요한 분기점이 된 해였습니다. 원래의 모니터 및 API 후킹 방식의 개발은 메인 Cuckoo 프로젝트에서 중단되었습니다. 이는 Jurriaan Bremer가 만든 Linux 툴체인으로 컴파일되는 restructuredText 기반 시그니처 형식을 사용하는 대체 모니터로 대체되었습니다.

같은 시기에 Brad 'Spender' Spengler가 Cuckoo-modified 라는 포크를 만들어 원래 모니터의 개발을 이어갔으며, 64비트 지원과 중요한 Microsoft Visual Studio 컴파일러 도입 등 상당한 개선을 이루었습니다.

같은 해에 Context Information Security에서 Kevin O'Reilly가 동적 명령줄 구성 및 페이로드 추출 도구인 CAPE의 개발을 시작했습니다. 이 이름은 'Config And Payload Extraction'의 약자로 만들어졌으며, 원래 연구는 Microsoft의 Detours 라이브러리가 제공하는 API 후크를 사용하여 언패킹된 악성코드 페이로드와 구성을 캡처하는 데 초점을 맞추었습니다. 그러나 API 후크만으로는 임의의 악성코드에서 페이로드나 구성을 언패킹하기에 충분한 성능과 정밀도를 제공하지 못한다는 것이 분명해졌습니다.

이러한 이유로 최대한 은밀하게 동작하기 위해 Microsoft 디버깅 인터페이스를 사용하지 않으면서 악성코드를 정밀하게 제어하고 계측할 수 있는 새로운 디버거 개념에 대한 연구가 시작되었습니다. 이 디버거는 개념 증명 Detours 기반 명령줄 도구에 통합되어 API 후크와 결합되었고, 그 결과 매우 강력한 기능을 갖추게 되었습니다.

초기 작업을 통해 Microsoft Detours를 Cuckoo-modified의 API 후킹 엔진으로 대체할 수 있다는 것이 밝혀지면서 CAPE Sandbox에 대한 아이디어가 탄생했습니다. 디버거, 자동화된 언패킹, YARA 기반 분류 및 통합 구성 추출이 추가되어 2016년 9월 44con에서 CAPE Sandbox가 처음으로 공개 릴리스되었습니다: CAPE 버전 1.

2018년 여름, 프로젝트는 오랜 Cuckoo 기여자인 Andriy 'doomedraven' Brukhovetskyy의 거대한 기여가 시작되는 것을 보게 되어 운이 좋았습니다. 2019년 그는 CAPE를 Python 3로 포팅하는 거대한 작업을 시작했고, 그해 10월 CAPEv2가 릴리스되었습니다.

CAPE는 악성코드와 운영체제 기능의 발전 속도에 맞춰 지속적으로 개발되고 개선되어 왔습니다. 2021년에는 동적 YARA 스캔을 통해 폭발(detonation) 중에 CAPE의 디버거를 프로그래밍할 수 있는 기능이 추가되어, 안티 샌드박스 기법에 대한 동적 우회를 생성할 수 있게 되었습니다. Windows 10이 기본 운영체제가 되었으며, 다른 중요한 추가 사항으로는 대화형 데스크톱, AMSI(Anti-Malware Scan Interface) 페이로드 캡처, Microsoft Nirvana 기반의 'syscall hooking', 그리고 디버거 기반의 직접/간접 시스템 콜 대응책이 있습니다.

2024년 enzok은 wxPython을 그래픽 인터페이스로 사용하고 64비트 게스트 Python 호환성을 도입한 CAPE의 대화형 Windows 데스크톱 버전인 CAPEsolo를 만들었습니다. 2026년에는 모든 Windows 10 버전과 Windows 11 23H2에 대한 지원이 추가되었습니다.

분류

image

CAPE에서는 세 가지 메커니즘을 통해 악성코드를 분류할 수 있습니다:

  • 언패킹된 페이로드에 대한 YARA 스캔
  • 네트워크 캡처에 대한 Suricata 스캔
  • API 후크 출력을 스캔하는 행위 시그니처

구성 추출

image

파싱은 CAPE 자체 프레임워크를 사용하여 수행할 수 있으며, 또는 다음 프레임워크가 지원됩니다: RATDecoders, DC3-MWCP, MalDuck, 또는 MaCo

CAPE-parsers

CAPE의 핵심 및 커뮤니티 구성 파서는 별도의 CAPE-parsers 저장소에서 유지 관리되며 CAPE-parsers 의존성으로 설치됩니다. 해당 파서에 대한 추가 및 수정 사항은 그곳에 제출하세요. README에 예상되는 구성 필드가 설명되어 있습니다.

구성 파싱 프레임워크에 대한 특별 참고 사항:

  • 악성코드의 특성상 새 버전이 릴리스될 때마다 끊임없이 변경되므로 무언가가 깨질 수 있습니다!
  • 순수 Python으로 되어 있고 진입점이 def extract_config(data):인 CAPE의 프레임워크를 사용하는 것을 권장합니다. 이는 cape_utils.py에 의해 호출되며 복잡한 점이 전혀 없습니다.
    • 보너스로, 추출기를 다른 프로젝트에서 재사용할 수 있습니다.

자동화된 언패킹

image

CAPE는 언패킹된 페이로드 캡처를 가능하게 하기 위해 많은 악성코드 기법이나 행위를 활용합니다:

  • 프로세스 인젝션
    • 셸코드 인젝션
    • DLL 인젝션
    • 프로세스 할로잉(Process Hollowing)
    • 프로세스 도플갱깅(Process Doppelganging)
  • 메모리 내 실행 가능 모듈 또는 셸코드의 추출 또는 압축 해제

이러한 행위는 추가 분석을 위해 인젝션, 추출 또는 압축 해제되는 페이로드의 캡처로 이어집니다. 또한 CAPE는 각 프로세스에 대해 자동으로 프로세스 덤프를 생성하거나, DLL의 경우 메모리 내 DLL의 모듈 이미지를 생성합니다. 이는 단순한 패커로 패킹된 샘플에 유용하며, 종종 모듈 이미지 덤프가 완전히 언패킹되어 있습니다.

CAPE의 기본 '수동' 언패킹 메커니즘 외에도, 새로 할당되거나 보호된 메모리 영역에 대한 쓰기를 감지하기 위해 브레이크포인트를 사용하는 '능동' 언패킹을 활성화할 수 있으며, 이를 통해 실행 전 가능한 한 이른 시점에 언패킹된 페이로드를 캡처할 수 있습니다. 이는 웹 제출 체크박스를 통해 또는 unpacker=2 옵션을 지정하여 활성화되며, 폭발 품질에 영향을 미칠 수 있으므로 기본적으로 꺼져 있습니다.

CAPE는 YARA 시그니처를 통해 특정 패커를 언패킹하도록 프로그래밍할 수 있습니다. 예를 들어, UPX 유형 패커는 매우 흔하며, CAPE에서는 이러한 패커가 수동적으로 캡처되는 언패킹된 페이로드를 생성하지만, 기본 캡처는 언패킹된 페이로드가 실행을 시작한 후에 이루어집니다. 따라서 사용자 정의 YARA 시그니처를 통해 UPX에서 파생된 패커를 동적으로 감지하고 최종 패커 명령어에 브레이크포인트를 설정함으로써, 페이로드가 실행을 시작하기 전에 원래 진입점 (OEP)에서 페이로드를 캡처할 수 있습니다.

image

image

dump-on-api 옵션을 사용하면 웹 인터페이스에서 지정할 수 있는 특정 API 함수를 호출할 때 모듈을 덤프할 수 있습니다 (예: dump-on-api=DnsQuery_A).

디버거

디버거는 CAPE가 원래 기능을 넘어 계속 진화할 수 있게 해주었으며, 이제는 동적 안티 회피 우회 기능도 포함합니다. 현대 악성코드는 일반적으로 가상화를 위한 타이밍 트랩이나 API 후크 감지를 사용하는 등 샌드박스 내에서의 분석을 회피하려고 시도하므로, CAPE는 Yara 시그니처 내에 디버거 동작을 결합하여 회피성 악성코드가 폭발할 때 이를 감지하고 제어 흐름 조작을 수행하여 샘플이 완전히 폭발하도록 강제하거나 회피 동작을 건너뛰게 하는 동적 대응책을 개발할 수 있게 합니다.

image image

디버거에 대한 빠른 접근은 제출 옵션 bp0부터 bp3를 통해 가능하며, RVA 또는 VA 값을 받아 브레이크포인트를 설정하고, count 및 depth 옵션에 의해 제어되는 짧은 명령어 트레이스가 출력됩니다 (예: bp0=0x1234,depth=1,count=100). image

모듈 진입점에 브레이크포인트를 설정하려면 주소 대신 ep를 사용합니다 (예: bp0=ep). 또는 break-on-return을 사용하면 후킹된 API의 반환 주소에 브레이크포인트를 설정할 수 있습니다 (예: break-on-return=NtGetContextThread). 선택적 base-on-api 매개변수를 사용하면 API 호출에 의해 RVA 브레이크포인트의 이미지 베이스를 설정할 수 있습니다 (예: base-on-api=NtReadFile,bp0=0x2345).

image

action0 - action3 옵션을 사용하면 브레이크포인트가 적중될 때 메모리 영역 덤프(예: action0=dumpebx) 또는 실행 제어 흐름 변경(예: action1=skip)과 같은 동작을 수행할 수 있습니다. CAPE의 문서에는 이러한 동작의 추가 예시가 포함되어 있습니다.

capemon

CAPE의 모니터에 대한 코드를 포함하는 저장소는 별도로 존재합니다.

업데이트 요약 changelog

커뮤니티 기여

CAPE 커뮤니티가 개발한 수백 개의 시그니처를 포함하는 커뮤니티 시그니처 저장소가 있습니다. 모든 새로운 커뮤니티 기능은 해당 저장소에 푸시해야 합니다. 나중에 개발자들이 유지 관리할 의지와 능력이 있다면 핵심으로 이동할 수 있습니다.

더 많은 악성코드 패밀리에 대한 새로운 시그니처, 파서 또는 우회를 만드는 데 참여하여 이 프로젝트에 기여해 주세요. 현재 많은 작업이 진행 중이니 지켜봐 주세요.

CAPE를 단독으로 Python 3로 포팅한 @D00m3dR4v3n에게 큰 감사를 드립니다.

최적의 성능을 위한 설치 권장 사항 및 스크립트

  • Python3
    • agent.py는 python (3.7.2|3.8) x86으로 테스트되었습니다. VM 내부에서는 x86 python 버전을 사용해야 합니다!
    • 호스트는 python3 버전 3.10, 3.12로 테스트되었지만, 더 새로운 버전도 작동할 것입니다
도구 다운로드