
CVE-2022-30190(Follina) 취약점용 교육용 개념 증명.
교육용 악성코드 개발, 익스플로잇, 분석 및 대응
소셜 엔지니어링 전달부터 익스플로잇, 포렌식 분석, 패치 개발까지 Follina 취약점을 완전히 문서화한 개념 증명입니다.
⚠️ 교육용으로만 사용하세요. 이 저장소의 모든 활동은 SLIIT의 IE4012 공격적 해킹 전술 및 전략 모듈의 일환으로 완전히 격리된 가상 머신 랩 환경에서만 수행되었습니다. 통제된 실습 환경 외부에서는 사용하지 마십시오. 실제 시스템이나 네트워크를 대상으로 테스트하지 마십시오.
CVE-2022-30190 (일명 Follina)은 Microsoft 지원 진단 도구(MSDT)의 원격 코드 실행 취약점입니다. 2022년 5월 30일에 공개적으로 공개되었으며 CVSS 점수는 **7.8(높음)**입니다. 이 익스플로잇은 피해자가 특별히 제작된 Microsoft Office 문서를 열면 작동하며, 매크로가 필요하지 않습니다. 문서는 공격자가 제어하는 HTTP 서버에서 HTML 페이로드를 가져와서 ms-msdt: URI 프로토콜 핸들러를 호출하고 PCWDiagnostic 인수를 통해 시스템에 임의의 명령을 전달합니다.
SourceCode.zip/
├── PoC.py # 주요 익스플로잇 스크립트
├── patch.py # 완화 패치 스크립트
├── Invoice_FS-2026-8821_OVERDUE.docx # 생성된 악성 Word 문서
└── doc/ # docx에서 추출한 내부 XML 파일
├── word/
│ ├── document.xml # 주요 문서 본문
│ └── _rels/
│ └── document.xml.rels # 공격자 서버를 가리키는 외부 OLE 참조
└── [Content_Types].xml
유인물은 FinanceSync라는 청구 플랫폼을 사칭하여 연체된 송장이 있다고 주장하는 피싱 이메일입니다. 첨부 파일은 악성 Word 문서가 포함된 암호로 보호된 zip 아카이브(Invoice.zip)입니다. 암호화된 아카이브를 사용하면 대부분의 이메일 게이트웨이 스캐너를 우회할 수 있습니다. 내용을 검사할 수 없기 때문입니다.
Invoice_FS-2026-8821_OVERDUE.docx를 생성하고 포트 8000에서 HTTP 서버를 시작합니다.word/_rels/document.xml.rels에 http://<attacker_ip>:8000/index.html을 가리키는 외부 OLE 참조가 포함되어 있습니다.2026-03-25)에 대한 JavaScript 날짜 검사가 포함되어 있습니다. 날짜 조건이 충족되지 않으면 아무것도 실행되지 않습니다.ms-msdt: URI가 PCWDiagnostic 인수와 함께 실행되어 cmd.exe 명령을 포함합니다.WINWORD.EXE → msdt.exe → cmd.exe가 실행되어 침해 증거로 C:\Users\Public\에 sys_cache.dat를 씁니다.patch.py는 Windows 레지스트리에서 ms-msdt URI 프로토콜 핸들러를 제거하여 공격자가 제어하는 인수가 MSDT에 도달하기 전에 URI 확인 단계에서 익스플로잇 체인을 차단합니다.
공격자 머신(Kali Linux)
피해자 머신(Windows 10)
HKEY_CLASSES_ROOT 아래에 ms-msdt 레지스트리 키가 있어야 함2026-03-25 이후로 설정되어 있어야 함# 공격자 머신에서
python3 PoC.py
스크립트는 Word 문서를 생성하고 HTTP 서버를 시작합니다. 문서를 피해자 VM으로 전송하고 엽니다. 공격자 터미널은 Word에서 오는 수신 요청을 기록합니다.
패치 스크립트는 Windows 피해자 VM에서 관리자 권한으로 실행해야 합니다.
# 현재 상태 확인
python patch.py --status
# 패치 적용(ms-msdt 레지스트리 키 제거)
python patch.py --apply
# 취약한 상태로 롤백(재테스트용)
python patch.py --rollback
| 머신 | 역할 | IP 주소 |
|---|---|---|
| Kali Linux VM | 공격자 - PoC.py 실행 | 192.168.56.10 |
| Windows 10 VM | 피해자 - 문서 열기 | 192.168.56.20 |
두 VM은 모두 인터넷에 연결되지 않은 VirtualBox 호스트 전용 네트워크를 통해 연결되었습니다.
| 필드 | 세부 정보 |
|---|
| CVE ID | CVE-2022-30190 |
| 일반 명칭 | Follina |
| CVSS 점수 | 7.8 (높음) |
| CVSS 벡터 | AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| 구성 요소 | Microsoft 지원 진단 도구(MSDT) |
| 영향을 받는 버전 | Windows 7 - 11 / Server 2008 R2 - 2022 |
| 공개일 | 2022년 5월 30일 |
| 공식 패치 | KB5014697 (2022년 6월 패치 화요일) |
| 테스트 | 패치 전 | 패치 후 |
|---|
| ms-msdt 레지스트리 키 존재 | 예 (취약) | 아니오 (완화됨) |
| Word가 HTTP 요청 수행 | 예 | 예 (변경 없음) |
| msdt.exe 실행됨 | 예 | 아니오 |
| cmd.exe 실행됨 | 예 | 아니오 |
| sys_cache.dat 생성됨 | 예 | 아니오 |
| 익스플로잇 성공 | 예 | 아니오 |