업데이트로 돌아가기
New releaseJul 31, 2026

macnoise v0.2.0

확장 가능한 MacOS 시스템 텔레메트리 생성기.

공유
이미지 설명

CI Release

MacNoise

MacNoise는 실제 macOS 텔레메트리를 생성합니다: 네트워크 연결, 파일 쓰기, 프로세스 생성, plist 변경, TCC 프로브 등. EDR, SIEM 또는 방화벽 스택이 실행 중인 머신에 지정하여 실제로 트리거되는 것을 확인하세요 - 공급업체 데이터시트가 트리거될 것이라고 주장하는 것이 아니라.

배경 동기와 설계에 대한 자세한 내용은 릴리스 블로그 게시물을 참조하세요.

빠른 시작

# Build (add build-amd64 / build-arm64 to cross-compile for Darwin, or release for both)
make build

# List available modules
./macnoise list

# Run a single module
./macnoise run net_connect --param target=127.0.0.1 --param port=8080

# Preview without executing
./macnoise run svc_launch_agent --dry-run

# Run all network modules
./macnoise run --category network

# Run a scenario
./macnoise scenario configs/scenarios/edr_validation.yaml

# Emit structured JSONL output
./macnoise run --category file --format jsonl --output /tmp/events.jsonl

텔레메트리 카테고리

카테고리설명모듈
network아웃바운드 연결, DNS, 비콘닝, 리스너, 리버스 셸, 외부 유출net_connect, net_listen, net_beacon, net_revshell, net_dns, net_exfil
process프로세스 생성, 시그널 전달, dylib 주입, 시스템 탐색, Gatekeeper 우회, osascriptproc_spawn, proc_signal, proc_inject, proc_discovery, proc_gatekeeper, proc_osascript
file파일 생성, 수정, 브라우저 자격 증명 읽기, 아카이브, 숨기기file_create, file_modify, file_browser_creds, file_archive, file_hide
tccTCC 권한 프로브(FDA, 연락처, 키체인)tcc_fda, tcc_contacts, tcc_keychain
endpoint_securityES 프레임워크 이벤트 트리거es_file, es_process
serviceLaunchAgent/Daemon 지속성, cron, 셸 프로필svc_launch_agent, svc_launch_daemon, svc_cron, svc_shell_profile
plistPlist 생성 및 수정plist_create, plist_modify
xpcXPC 서비스 열거xpc_connect

명령어

macnoise run <module> [--param key=val ...]   Run a specific module
macnoise run --category <cat>                 Run all modules in a category
macnoise run --all                            Run all modules
macnoise list [--category <cat>]              List modules
macnoise info <module>                        Show module details, params, MITRE
macnoise scenario <file.yaml>                 Run a YAML scenario
macnoise categories                           List categories with counts
macnoise version                              Print version

전역 플래그

플래그기본값설명
--formathuman출력 형식: human 또는 jsonl
--output(없음)파일에 출력을 기록합니다(stdout 외에도)
--verbosefalse정리 오류를 포함한 상세 출력
--dry-runfalse실행하지 않고 작업 미리보기
--timeout30모듈별 제한 시간(초)
--audit-log(없음)OCSF 1.7.0 감사 레코드를 JSONL 파일에 기록
--config(없음)YAML 구성 파일에서 기본값 로드

감사 로깅

MacNoise는 두 개의 별도 스트림을 기록합니다. 텔레메트리 이벤트 - EDR/SIEM이 실제로 보는 것 - 는 stdout 또는 --output으로 전달됩니다. 두 번째 선택적 스트림은 MacNoise 자체가 수행한 작업(실행된 모듈, 사전 요구사항/정리 결과, MITRE 매핑)을 OCSF 1.7.0 JSONL로 기록합니다.

./macnoise scenario configs/scenarios/amos_atomic_stealer.yaml --audit-log /tmp/audit.jsonl

감사 로그는 추가 모드로 열리므로 여러 번 실행한 레코드가 한 파일에 누적되어 일괄 분석에 사용할 수 있습니다. 새 모듈을 추가할 때 새 이벤트 유형이 OCSF로 어떻게 분류되는지 확인하려면 CONTRIBUTING.md를 참조하세요.

모듈 참조

모듈 문서는 각 카테고리와 함께 있습니다:

시나리오

시나리오는 모듈을 순서 있는 시퀀스로 연결합니다. 하나의 YAML 파일로 다단계 침입 패턴을 탐지 규칙에 대해 재생합니다.

파일설명
network_only.yaml모든 네트워크 모듈
edr_validation.yaml포괄적인 EDR 탐지 범위
full_sweep.yaml모든 카테고리
lazarus_group.yaml라자루스 그룹: dylib 주입, 서비스 탐색, 리버스 셸, plist 지속성
amos_atomic_stealer.yamlAMOS / Atomic Stealer: MaaS 인포스틸러, Gatekeeper 우회, 키체인 덤프, ZIP 외부 유출, 백도어 지속성

두 APT 시나리오는 실제 문서화된 침입 시퀀스를 기술별로 따릅니다. 각 YAML 파일은 기반이 된 실제 위협 인텔리전스를 인용하고 각 단계에 해당하는 MITRE 기법을 주석으로 달아 놓았으므로, 여기서 다시 설명하는 대신 해당 파일에서 전체 분석을 확인하세요.

먼저 dry-run:

./macnoise scenario configs/scenarios/<scenario>.yaml --dry-run

SIEM/EDR과 교차 참조: 각 단계 주석은 트리거해야 하는 기법을 명명합니다. 실제 실행 후 일치하는 알림이 없다면 이는 탐지 범위의 공백입니다.

자체 시나리오 작성:

name: My Custom Scenario
steps:
  - module: net_connect
    params:
      target: "192.168.1.1"
      port: "443"
  - category: file
    params:
      base_dir: "/tmp/test"

기여

새 모듈 추가, 코드 스타일, 전체 PR 프로세스는 CONTRIBUTING.md를 참조하세요.

릴리스는 자동화되어 있습니다. release-pleaseConventional Commit PR 제목에서 바로 새 버전을 만듭니다. 따라서 feat: add net_tls module 또는 fix: correct beacon jitter는 PR 제목이자 변경 로그 항목입니다.

면책 조항

MacNoise는 소유하거나 명시적 서면 허가를 받은 시스템에 대한 승인된 보안 테스트, EDR 검증, 탐지 엔지니어링을 위해 고안되었습니다. 저자는 오용에 대한 책임을 지지 않습니다.

AI 코드 정책

AI 코드 기여는 괜찮지만, 코드 리뷰가 현재 인간 주도 프로세스로 진행된다는 점을 명심해 주세요. 즉, 검토할 수 있는 코드의 양이 한정적입니다. PR은 특정 수정 또는 새 텔레메트리 모듈로 제한해 주세요. 광범위한 변경이 포함된 PR은 닫힐 가능성이 높습니다.

카테고리