랜섬웨어 포렌식 & 방어 PoC 입니다.
구조는 복호화 시도 코드(decryption/)와 행위 기반 탐지 프로그램(ransom_guard/)으로 구성됩니다.
⚠️ 실제 공격 키/IV 부재로 인해FLAG.txt.ryk복호화는 실패했습니다.
대신, 시도 과정·논리·코드를 그대로 재현해 기록했습니다.
KKB_VM/
├─ decryption/ # 복호화 시도 코드 (성공/실패 포함 기록)
│ ├─ simpleXOR.py # 1) 단일 바이트 XOR (SHA256 첫 바이트)
│ ├─ GUIDcycle.py # 2) GUID 문자열 순환 XOR
│ ├─ SHAcycle_program.py # 3) SHA256 32B 순환 XOR (CLI/GUI 버전)
│ └─ plausible.py # 4) Known-plaintext(FLAG{, CTF{, PDF/ZIP/PNG 헤더 등) 역산
│
├─ ransom_guard/ # 랜섬웨어 행위 기반 탐지 프로그램 (PoC)
│ ├─ config.py
│ ├─ utils.py
│ ├─ watcher.py
│ ├─ main.py
│ ├─ requirements.txt # watchdog 등 의존성
│ ├─ samples/ # 소형 샘플 로그
│ │ ├─ rg_events.sample.csv
│ │ └─ rg_events.sample.jsonl
│ └─ pycache/ # (자동 생성, .gitignore로 제외)
│
└─ README.md암호화된 FLAG.txt.ryk 파일을 복호화하기 위한 다양한 접근을 기록했습니다.
-
simpleXOR.py
- SHA256 해시의 첫 1바이트를 키로 사용해 단일 바이트 XOR 시도
-
GUIDcycle.py
- 감염 지표에서 발견된 GUID 문자열을 바이트 배열로 변환 →
itertools.cycle로 순환 XOR
- 감염 지표에서 발견된 GUID 문자열을 바이트 배열로 변환 →
-
SHAcycle_program.py
- SHA256(32B)을 순환 XOR 키로 사용 (CLI/간단 GUI 포함)
-
plausible.py
- RC4/AES(CTR/CFB) 후보, Known-plaintext(
FLAG{,CTF{, PDF/ZIP/PNG 헤더 등) 기반 역산 - ASCII 비율, 엔트로피, 키워드 매칭 등으로 plausibility 스코어링
- RC4/AES(CTR/CFB) 후보, Known-plaintext(
결과물은
C:\Analysis\Output\또는C:\Export\경로에 저장됩니다.
- 실시간 감시 대상:
Desktop,Downloads,Documents - 의심 확장자 / 버스트 이벤트 / 엔트로피 급상승 탐지
- CSV/JSONL 로그 저장 (샘플은
samples/폴더 커밋)
pip install -r ransom_guard/requirements.txt
python ransom_guard/main.py- config.py: 감시 폴더, 확장자 블랙리스트, 임계치 설정
- utils.py: 엔트로피 계산, 이벤트 카운터, CSV/JSONL 로깅
- watcher.py: 파일 이벤트 핸들러 (생성/수정/삭제/이름변경 감시)
- main.py: 프로그램 엔트리 (watchdog 기반)
- 본 코드는 포렌식 보고서와 1:1 대응되게 작성되었습니다.
- 복호화는 키/IV 부재로 실패했으나, 시도 과정과 재현 가능한 코드를 제공합니다.
- 연구 및 학습 목적 공개.
-
Ransomware 탐지 및 대응 전략
Exabeam - Ransomware Analysis & Detection Strategies
Varonis - DarkSide Ransomware -
2025년 Q1, Q2 TTP 트렌드
Dragos - Industrial Ransomware Analysis (Q1 2025)
Dragos - Industrial Ransomware Analysis (Q2 2025) -
시나리오 내 C2 구조, 초기 접근
Picus Security - Qilin Ransomware
Microsoft - Stopping C2 Communications -
보안 프로그램 & 대응
보안뉴스 - 랜섬웨어 방어 동향
Plainbit Blog - Initial Response to Ransomware -
Tools
FTK Imager 소개
Eric Zimmerman - MFTECmd
Sysinternals - Sysmon
Python Watchdog Docs
이 레포지토리의 코드는 MIT License 하에 배포됩니다.
자유롭게 사용, 수정, 재배포할 수 있으나, 출처 표기를 권장합니다.