Funkcjonariusz: platforma open source do szybkiej eksfiltracji danych z komputerów, serwerów, telefonów, tabletów, aparatów cyfrowych i innych urządzeń USB.

kontakt@funkcjonariusz.com

Funkcjonariusz jest w stanie automatycznie wykryć i odszyfrować w locie partycje zaszyfrowane VeraCryptem, pod warunkiem że są to partycje systemowe i kluczem jest jedynie hasło użytkownika.

Nie są obsługiwane pliki kluczy i PIN-y, a także partycje bezsystemowe, ukryte wolumeny, całe dyski systemowe i partycje utworzone przez TrueCrypta.

Jak skonfigurować hasła do dysków?

Zobacz repozytorium keys-veracrypt-demo. Zawiera ono przykładowy plik veracrypt.keys.

Możesz stworzyć wiele takich repozytoriów - np. dzieląc wszystkie posiadane hasła wg działów atakowanej firmy (albo wg dowolnego innego kryterium). Każde takie repozytorium powinno:

  • być sklonowane na Twój dysk jako katalog /opt/drivebadger/config/keys-veracrypt-twojanazwa
  • zawierać plik veracrypt.keys z odpowiednią zawartością (patrz niżej)

Lokalny katalog /opt/drivebadger/config/keys-veracrypt-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.

Posiadasz więcej informacji o tych hasłach?

Jeśli udało Ci się wejść w posiadanie haseł 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ć:

Format pliku veracrypt.keys

Plik veracrypt.keys może zawierać:

  • hasła VeraCrypt (każde w osobnej linii)
  • komentarze (linie zaczynające się od #, bez żadnych spacji na początku)
  • puste linie

Przykładowy plik veracrypt.keys:

# haslo do laptopa
MyFancyPassword

# haslo do komputera glownego
MyVCBootPassword123

Jak działa dopasowywanie haseł do zaszyfrowanych partycji?

W przeciwieństwie do szyfrowania LUKS, partycje zaszyfrowane VeraCryptem nie są wykrywane przez systemd/udevd i tym samym nie mają przydzielonego UUID. Dlatego też są one wykrywane i eksfiltrowane w drugiej kolejności.

Mechanizm dopasowujący hasła działa następująco:

  • skrypt get-drive-encryption-keys.sh ładuje listę dostępnych haseł ze wszystkich znalezionych plików veracrypt.keys (jeśli występują na niej hasła przypisane do bieżącego dysku, są ładowane na samym początku listy)
  • kolejne hasła są testowane w poszukiwaniu tego pasującego
  • gdy zostanie znalezione pasujące hasło, skrypt save-drive-encryption-key.sh zapisuje je w katalogu "keys directory"