Funkcjonariusz jest w stanie automatycznie wykryć i odszyfrować w locie partycje zaszyfrowane Apple FileVault, pod warunkiem że dysponujesz albo hasłem użytkownika, albo kluczem odzyskiwania.
Zobacz repozytorium keys-filevault-demo. Zawiera ono przykładowy plik filevault.keys
.
Możesz stworzyć wiele takich repozytoriów - np. dzieląc wszystkie posiadane hasła i klucze wg działów atakowanej firmy (albo wg dowolnego innego kryterium). Każde takie repozytorium powinno:
/opt/drivebadger/config/keys-filevault-twojanazwa
filevault.keys
z odpowiednią zawartością (patrz niżej)Lokalny katalog /opt/drivebadger/config/keys-filevault-twojanazwa
tak naprawdę nie musi zawierać podkatalogu .git
, ani być kopią repozytorium - równie dobrze może to być ręcznie wgrany katalog, który będziesz aktualizował w inny sposób. Natomiast jeśli będzie to kopia repozytorium, będziesz mógł wszystkie takie katalogi aktualizować jednym skryptem: /opt/drivebadger/update.sh
.
Jeśli udało Ci się wejść w posiadanie haseł i/lub kluczy sparowanych bezpośrednio z numerami seryjnymi dysków twardych, możesz takie hasła zapisać w katalogu "keys directory" - zwróć uwagę, że katalog ten różni się dla Funkcjonariusza i Funkcjonariusza Mobilnego.
Jeśli posiadasz dodatkowe informacje o hasłach, pozwalające je jakoś podzielić operacyjnie (np. na budynki, piętra, działy firmy, specjalności pracowników), ale nie pozwalające na powiązanie ich bezpośrednio z dyskami twardymi, wówczas możesz spróbować:
filevault.keys
Plik filevault.keys
może zawierać:
#
, bez żadnych spacji na początku)Przykładowy plik filevault.keys
:
# macbook pro, klucz odzyskiwania
ABCD-1234-5678-90AB-CDEF-1234
# mac mini, haslo uzytkownika
MyFancyPassword
Partycja APFS ma inną strukturę niż większość innych typów partycji, przypominającą raczej plastry z FreeBSD: jedna partycja, widoczna jako pojedynczy UUID, zawiera kilka (z reguły 4 lub 5) osobnych systemów plików. Wszystkie te systemy plików są montowane w systemie jako nakładające się na siebie warstwy, tworzące jeden logiczny system plików. Spośród tych warstw, tylko 1 lub 2 zawierają interesujące dane i podlegają eksfiltracji - reszta zawiera różne dane związane ze startem i odzyskiwaniem systemu.
Podobnie do partycji szyfrowanych LUKS, partycje APFS są wykrywane przez systemd
/udevd
, niezależnie od tego, czy są szyfrowane, czy nie. Natomiast ze względu na specyfikę APFS, działanie mechanizmu dopasowującego hasła jest nieco bardziej skomplikowana:
get-drive-encryption-keys.sh
ze wszystkich znalezionych plików filevault.keys
(za każdym razem są one ładowane na nowo, aby wykorzystać ew. hasło dopasowane wcześniej dla poprzedniego systemu plików)save-drive-encryption-key.sh
zapisuje je w katalogu "keys directory"