TrueCrypt – częściowo pamietane hasło
Dziś w ramach ciekawostki zapomniana sztuka pisania \*.bat. Ale najpierw kontekst. A kontekstem jest to pytanie:
(...) Pamiętam konkretne cyfry, liczby, symbole i wyrazy ale po kilku latach nie pamiętam kolejności a kombinacji przy haśle ok 15-25 znakowym jest za dużo by klepać na piechotę. Czy ktoś może mi poradzić jak stworzyć słownik do “jakiegoś programu” który w miarę szybko by pokombinował... (...)
Teoretycznie do “łamania” TrueCrypt można wykorzystać sam TrueCrypt. Tak się składa, że udostępnia on również interfejs CLI. I prosty “skrypt”, który sprawdzi wszystkie elementy słownika wygląda mniej więcej tak:
@echo off set v=“c:\sciezka\do\pliku.tc” set l=x set tc=“c:\program files\truecrypt\truecrypt.exe” %25tc%25 /d /l %25l%25 /q for /f “tokens=*” %25%25i in (slownik.txt) do %25tc%25 /v %25v%25 /s /q /l %25l%25 /p “%25%25i” && echo %25%25i && exit /b @echo on
Zasada działania jest prosta. Skrypt sprawdza wszystkie hasła znajdujące się w pliku slownik.txt i próbuje z takim hasłem montować wolumen wskazany w zmiennej v pod literę określoną w zmiennej l. Jeśli to się uda (magiczne &&) bieżące hasło wypisywane jest na konsole, a skrypt kończy swoje działanie.
Trzeba pamiętać, że wydajność tego rozwiązania jest daleka od ideału. Dla każdego sprawdzanego hasła tworzony jest nowy proces truecrypt.exe , co kosztuje. W tym kontekście przede wszystkim kosztuje czas. Dlatego to rozwiązanie ma sens wówczas, gdy ilość haseł w słowniku nie jest zbyt duża. Oczywiście są również rozwiązania bardziej “enterprise”, na przykład takie (kosztują też “enterprise”).
Prawdziwym pytaniem jest w jaki sposób sensownie wygenerować możliwe hasła. Jednym z możliwych rozwiązań jest użycie do tego celu John the Ripper, w szczególności chodzi mi tu o reguły opisane tutaj: Wordlist rules syntax.
Wybór narzędzia zależy jednak od tego, jak dobrze pamiętane jest hasło. Sam kiedyś miałem taki przypadek, gdy na nowej klawiaturze ustawiałem hasło i okazało się, że po pewnym czasie nie byłem w stanie go wpisać. Po prostu na początku robiłem w powtarzalny sposób jakąś literówkę. Gdy do klawiatury się przyzwyczaiłem nie byłem już w stanie zrobić tej samej literówki, bo samo hasło znałem. Skończyło się na napisaniu skryptu, który wygenerował możliwe hasła z literówką (jedną). Okazało się to wystarczające do odzyskania “utraconego” hasła.
Oryginał tego wpisu dostępny jest pod adresem TrueCrypt – częściowo pamietane hasło
Autor: Paweł Goleń