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-windowsignore-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.keyskeys-filevault-demo - przykładowy plik filevault.keyskeys-veracrypt-demo - przykładowy plik veracrypt.keyskeys-luks-demo - przykładowy plik luks.keysDo 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).