Funkcjonariusz jest konfigurowany za pomocą specjalnych repozytoriów konfiguracyjnych, wgrywanych do katalogu /opt/drivebadger/config
. Każde takie repozytorium powinno zawierać 1 lub więcej plików konfiguracyjnych, o nazwach i zawartości opisanych niżej.
Poszczególne typy plików konfiguracyjnych są rozpoznawane po nazwach:
exclude.list
- reguły wykluczające rsync, ograniczające ilość plików do eksfiltracjibitlocker.keys
- klucze odzyskiwania Bitlockerfilevault.keys
- hasła i klucze odzyskiwania Apple FileVaultveracrypt.keys
- hasła VeraCryptluks.keys
- hasła LUKSignore.uuid
- partycje ignorowane przez Funkcjonariusza Mobilnego (np. z obrazem samego Kali Linuxa)target.uuid
- partycje docelowe na dane dla Funkcjonariusza MobilnegoKażdy z powyższych plików może występować w więcej niż jednym repozytorium - zawartość wielu plików jest wówczas łączona. Większość plików (z wyjątkiem exclude.list
) obsługuje komentarze i puste linie - są one wycinane podczas ładowania konfiguracji.
Repozytoria konfiguracyjne powinny być klonowane do katalogu /opt/drivebadger/config
jako podkatalogi - np. /opt/drivebadger/config/exclude-windows
czy /opt/drivebadger/config/keys-luks-twojanazwa
.
Każdy taki lokalny katalog /opt/drivebadger/config/twojanazwa
tak naprawdę może być:
Katalogi będące prawidłowymi kopiami roboczymi można zaktualizować za jednym podejściem, skryptem /opt/drivebadger/update.sh
(obsługuje on również repozytoria prywatne pod warunkiem, że prawidłowo skonfigurujesz klucze ssh pozwalające na dostęp do nich) - w przypadku zwykłych katalogów musisz samodzielnie zadbać o ich aktualność.
Jeśli nie jesteś pewien, czy jakiś element konfiguracji może być jawny, lepiej dla pewności umieść go w repozytorium prywatnym.
Poniższe repozytoria są rozwijane jako element projektu, możesz więc polegać na ich aktualności i jakości. Możesz również wykonać forka każdego z tych repozytoriów i rozwijać go samodzielnie w pożądanym kierunku.
exclude-*
, zawierające reguły wykluczające rsync - np. exclude-windows
ignore-known
- lista dobrze znanych UUID-ów dla Funkcjonariusza MobilnegoPoniższe repozytoria nie są przeznaczone do bezpośredniego użytku, ale jako przykłady. Docelowe repozytoria powinieneś stworzyć od zera - ze względów bezpieczeństwa powinny to być repozytoria prywatne.
target-demo
- przykładowa konfiguracja dysków używanych do ataku dla Funkcjonariusza Mobilnegokeys-bitlocker-demo
- przykładowy plik bitlocker.keys
keys-filevault-demo
- przykładowy plik filevault.keys
keys-veracrypt-demo
- przykładowy plik veracrypt.keys
keys-luks-demo
- przykładowy plik luks.keys
Do instalacji publicznego repozytorium konfiguracyjnego wystarczy jedno polecenie (wykonane z konsoli jako root na etapie konfigurowania nowego dysku):
git clone https://github.com/drivebadger/nazwa-repozytorium /opt/drivebadger/config/nazwa-repozytorium
W przypadku repozytoriów prywatnych procedura jest nieco bardziej skomplikowana:
/opt/drivebadger/internal/git/key.sh nazwa-repozytorium
Wygenerowany klucz zostanie wyświetlony na konsoli i będzie się kończył nazwą hosta komputera, na którym go wygenerowałeś - możesz tą nazwę podmienić na taką, która będzie możliwie najlepiej identyfikować konkretny dysk lub kartę pamięci (na wypadek zgubienia lub odebrania, gdyby trzeba było ten klucz szybko odnaleźć i usunąć).
https://github.com/twoj-uzytkownik-github/nazwa-repozytorium/settings/keys
GIT_SSH=/opt/drivebadger/internal/git/helper.sh \
GIT_KEY=~/.ssh/id_github_nazwa-repozytorium \
git clone \
git@github.com:twoj-uzytkownik-github/nazwa-repozytorium.git \
/opt/drivebadger/config/nazwa-repozytorium
Do aktualizacji służy skrypt /opt/drivebadger/update.sh
, uruchamiany z konsoli jako użytkownik root. Skrypt ten aktualizuje po kolei wszystkie repozytoria konfiguracyjne, a także hooki, injectory i moduły zewnętrzne, a następnie przebudowuje pliki UUID używane przez Funkcjonariusza Mobilnego.
exclude.list
*.keys
#
jako pierwszego w linii (spacje przed nim nie są dozwolone).*.keys
.*.uuid
#
jako pierwszego w linii (spacje przed nim nie są dozwolone).*.uuid
./opt/drivebadger/internal/mobile/rebuild-uuid-lists.sh
(skrypt /opt/drivebadger/update.sh
uruchamia go automatycznie).