dlaczego nigdy nie powinieneś używać natywnego .Zip Crypto w systemie Windows
podczas pracy w dziedzinie bezpieczeństwa IT pojawiają się pytania, na które należy odpowiedzieć raz na zawsze: czy istnieje sposób na złamanie zabezpieczonego hasłem pliku zip?
rozumiem, jak bardzo wszyscy chcemy być absolutnie pewni i pewni, że nasze pliki nie zostaną złamane-ani teraz,ani nigdy! Już od jakiegoś czasu … format zip zapewnia szyfrowanie jako dodatkową funkcję. Ale rodzaj szyfrowania, który oferuje, zależy od programu, którego używasz do tworzenia i otwierania pliku zip.
jeden zalgorytmy ochrony hasłem zip nazywa się ZipCrypto. ZipCrypto jest obsługiwane natywnie w systemie Windows, ale nigdy nie powinno być używane, ponieważ jest całkowicie zepsute, wadliwe i stosunkowo łatwe do złamania. Wszyscy hakerzy muszą wiedzieć, że jest 12 bajtów zwykłego tekstu i gdzie znajduje się w zip (który można łatwo znaleźć), aby szybko odszyfrować całą zawartość archiwum. Aby dać ci pomysł, na większości laptopów odszyfrowanie całej zawartości pliku zip zajmuje zwykle mniej niż minutę.
wykorzystanie ZipCrypto
wykorzystanie zipcrypto poprzez powszechnie znany atak tekstowy jest proste i nie wymaga zaawansowanych umiejętności technicznych. Chociaż przeprowadzę Cię po schodach, oczywiście nie robię tego, aby pomóc komuś wyjść i zhakować. Po prostu chcę pokazać, jak prosty i łatwy jest ten exploit.
wymagania
- Pobierz bkcrack z GitHub
- Pobierz zaszyfrowany.zip
- (Opcjonalnie) Pobierz zwykły.zip
otwarcie pliku zip ujawnia plik XML o nazwie SomeXmlFile.xml.
Zwykle pliki XML zawierają następujący nagłówek na początku:
<?xml version="1.0" encoding="UTF-8"?>
kroki
sama procedura jest dość prosta:
-
Utwórz plik o nazwie plain.txt.
-
Dodaj następujący tekst do zwykłego.txt: <?wersja xml=”1.0″ kodowanie= „UTF-8”?>
-
zapnij plik i nazwij to prostym.zip. Nie używaj hasła i używaj tego samego algorytmu kompresji, co zaszyfrowane archiwum. (Jeśli chcesz, możesz pobrać plain.zip za pomocą linku podanego powyżej, który ma już zwykły.plik txt w nim.)
-
przekaż oba pliki do bkcrack za pomocą następującego wiersza poleceń:
bkcrack-C zaszyfrowane.zip-C SomeXmlFile.XML-P plain.ZIP-P zwykły.txt
końcowy wynik narzędzia powinien wyglądać następująco:
Generated 4194304 Z values. Z reduction using 30 bytes of known plaintext100.0 % (30 / 30)260948 values remaining. Attack on 260948 Z values at index7 88.3 % (230335 / 260948) Keys c072e51c a36b7996 b6f8d312
po uzyskaniu kluczy wszystkie pliki w zip można odszyfrować za pomocą następującego wiersza poleceń:
bkcrack -C encrypted.zip -c Tux_ecb.jpg -k c072e51c a36b7996 b6f8d312 -d Tux_ecb.jpg
w tym przykładzie wyodrębniono Tux_ecb.plik jpg. Powstały obraz powinien wyglądać następująco:
Gratulacje, udało Ci się odszyfrować plik zip!
dodatkowo
dodaliśmy wiele plików w zaszyfrowanym.zip (licencja MIT, plik HTML), abyś mógł ćwiczyć i zejść z utartego szlaku!
AES-256
teraz pewnie zastanawiasz się: jeśli nigdy nie powinieneś używać ZipCrypto, to jaka jest alternatywa? Zdecydowanie zalecamy AES-256, który jest standardem branżowym szyfrowania zip i okazał się dość silny i bezpieczny. Niestety, System Windows nie ma natywnego wsparcia dla tego. Jednak większość archiwizatorów innych firm, takich jak 7zip, Winrar i Winzip, obsługuje go.