Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Огляд
Багато форматів архівів (ZIP, RAR, TAR, 7-ZIP тощо) дозволяють кожному запису мати свій внутрішній шлях. Коли утиліта для розпакування сліпо поважає цей шлях, створене ім'я файлу, що містить ..
або абсолютний шлях (наприклад, C:\Windows\System32\
), буде записано поза вибраною користувачем директорією. Цей клас вразливостей широко відомий як Zip-Slip або перехід по шляху розпакування архіву.
Наслідки варіюються від перезапису довільних файлів до безпосереднього досягнення віддаленого виконання коду (RCE) шляхом розміщення корисного навантаження в автоматично запускаємому місці, такому як папка Startup Windows.
Корінна причина
- Зловмисник створює архів, в якому один або кілька заголовків файлів містять:
- Відносні послідовності переходу (
..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe
) - Абсолютні шляхи (
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe
)
- Жертва розпаковує архів за допомогою вразливого інструменту, який довіряє вбудованому шляху замість його очищення або примусового розпакування під вибраною директорією.
- Файл записується в місце, контрольоване зловмисником, і виконується/завантажується наступного разу, коли система або користувач активує цей шлях.
Приклад з реального життя – WinRAR ≤ 7.12 (CVE-2025-8088)
WinRAR для Windows (включаючи rar
/ unrar
CLI, DLL та портативне джерело) не зміг перевірити імена файлів під час розпакування. Зловмисний архів RAR, що містить запис, такий як:
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
виявиться поза вибраною вихідною директорією і всередині Startup папки користувача. Після входу в систему Windows автоматично виконує все, що там присутнє, забезпечуючи постійний RCE.
Створення PoC архіву (Linux/Mac)
# Requires rar >= 6.x
mkdir -p "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
cp payload.exe "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
rar a -ep evil.rar evil/*
Options used:
-ep
– зберігати шляхи до файлів точно так, як вказано (не виключати ведучий./
).
Доставте evil.rar
жертві та накажіть їй витягти його за допомогою вразливої версії WinRAR.
Спостережуване використання в дії
ESET повідомила про кампанії таргетованої фішингової атаки RomCom (Storm-0978/UNC2596), які прикріплювали RAR-архіви, що використовують CVE-2025-8088 для розгортання кастомізованих бекдорів та сприяння операціям з програмами-вимагачами.
Поради щодо виявлення
- Статична перевірка – Перерахуйте записи архіву та позначте будь-які імена, що містять
../
,..\\
, абсолютні шляхи (C:
) або неканонічні кодування UTF-8/UTF-16. - Витяг у пісочниці – Розпакуйте в одноразовий каталог, використовуючи безпечний екстрактор (наприклад, Python’s
patool
, 7-Zip ≥ остання версія,bsdtar
) та перевірте, щоб результуючі шляхи залишалися в межах каталогу. - Моніторинг кінцевих точок – Сповіщайте про нові виконувані файли, записані в
Startup
/Run
місця незабаром після відкриття архіву за допомогою WinRAR/7-Zip тощо.
Пом'якшення та зміцнення
- Оновіть екстрактор – WinRAR 7.13 реалізує належну санітизацію шляхів. Користувачі повинні завантажити його вручну, оскільки WinRAR не має механізму автоматичного оновлення.
- Витягуйте архіви з опцією “Ігнорувати шляхи” (WinRAR: Витягти → "Не витягувати шляхи") коли це можливо.
- Відкривайте ненадійні архіви всередині пісочниці або ВМ.
- Реалізуйте білу списку додатків та обмежте доступ користувачів до каталогів автозапуску.
Додаткові постраждалі / історичні випадки
- 2018 – Масове Zip-Slip попередження від Snyk, що вплинуло на багато бібліотек Java/Go/JS.
- 2023 – 7-Zip CVE-2023-4011 подібне обходження під час злиття
-ao
. - Будь-яка кастомна логіка витягання, яка не викликає
PathCanonicalize
/realpath
перед записом.
Посилання
- BleepingComputer – Вразливість нульового дня WinRAR використана для розміщення шкідливого ПЗ під час витягання архівів
- WinRAR 7.13 Зміни
- Snyk – Опис вразливості Zip Slip
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.