Po artykule na temat usługi Bitwarden (menedżer haseł, z którego korzystam) dostałem całkiem sporo zapytań m.in. od znajomych o tę usługę. Ale to, co mnie zaskoczyło chyba najbardziej, to to, że dominującym argumentem nawet nie do samego korzystania z Bitwardena, ale od razu do przejścia na wersję płatną dla moich rozmówców okazała się opcja dostępu awaryjnego, o której wspomniałem trochę przy okazji (dla mnie – głównie ze względów zawodowych – to bardzo ważna opcja, z której korzystam po to, by „w razie czego” zabezpieczyć m.in. interesy swoich klientów). A skoro już ktoś zdecydował się na wersję płatną usługi Bitwarden, to bardzo możliwe, że zdecyduje się korzystać z niej również do generowania kodów jednorazowych 2FA/TOTP (Time-based One-Time Password).
Spis treści w artykule
Eksport tokenów z Authy
Kwestii bezpieczeństwa takiego rozwiązania – loginy i hasła, oraz kody 2FA/TOTP w jednej aplikacji – nie będę rozwijał, bo choć zdecydowanie bezpieczniej korzystać z różnych aplikacji do tego celu, to przy odpowiedniej „staranności” nie powinno być większego problemu, by wszystko trzymać w jednym miejscu, czyli bezpiecznym menedżerze haseł, jakim najprawdopodobniej właśnie jest Bitwarden.
Z opcji takiej zdecydował się skorzystać m.in. mój dobry przyjaciel, z tym że – również za moją radą – dotychczas jako aplikacji programowego tokena, czyli do generowania jednorazowych kodów 2FA/TOTP korzystał z Authy. Z aplikacji, z której sam od lat korzystam, i ogólnie jak najbardziej polecam.
Problem tylko w tym, że o ile dodanie nowych kodów (serwisów, usług) do Authy jest banalne, tak samo jak ich synchronizacja między różnymi urządzeniami, to już wyciągnięcie ich z Authy takie proste nie jest. Znaczy – jak mam nadzieję, że za chwilę pokażę – jest dość proste, ale wymaga odrobiny kombinowania…
Authy Desktop
Są różne metody, by wydobyć z Authy niezbędne informacje, ja najczęściej korzystam z „ataku” na klienta Authy na komputery, czyli Authy Desktop. Konkretnie na klienta dla systemy Windows, ale to nie ma większego znaczenia.
Tak więc instalujemy i konfigurujemy Authy Desktop, tak w aplikacji były dostępne do generowania kody jednorazowe. W tym momencie wyłączamy klienta i uruchamiamy ponownie, ale z dodatkowym parametrem:
--remote-debugging-port=12345
Skrót do aplikacji znajdziemy w katalogu:
C:\Users\[NAZWA UŻYTKOWNIKA]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Twilio Inc
A samą aplikację (Authy Desktop.exe) w katalogu:
C:\Users\[NAZWA UŻYTKOWNIKA]\AppData\Local\authy-electron\
Załóżmy, że użytkownik nazywa się „webinsider”, więc ścieżka do aplikacji będzie wyglądać tak:
C:\Users\webinsider\AppData\Local\authy-electron\Authy Desktop.exe
A cała komenda uruchomieniowa – już z uwzględnieniem cudzysłowów, ze względu na spacje w nazwie pliku – tak:
"C:\Users\webinsider\AppData\Local\authy-electron\Authy Desktop.exe" --remote-debugging-port=12345
Wystarczy teraz kliknąć prawym przyciskiem myszy na przycisk menu na pasku zadań (symbol Windowsa), lub skorzystać z kombinacji klawiszy Windows + R, by wywołać okno „uruchamianie”, gdzie wklejamy powyższą linijkę (pamiętając o zmianie nazwy użytkownika).
Po tej operacji aplikacja uruchomi się jakby normalnie. Ale można teraz w przeglądarce internetowej wejść na stronę, debugowania aplikacji, czyli:
http://localhost:12345/
A stąd już otwarta droga do wyciągnięcia niezbędnych danych z aplikacji:
Tak więc po wejściu na stronę klikamy link „Twilio Authy”, następnie z menu wybieramy „application” (jakby ta pozycja była niewidoczna, to korzystamy ze strzałek „>>” by pokazać ukryte/niewidoczne). Dalej w sekcji „frames” robimy dwuklik lewym przyciskiem myszy na „top”, i z rozwiniętej listy klikamy prawym przyciskiem myszy na pliku „main.html” (frames -> top -> scripts -> main.html) i wybieramy opcję/pozycję „open in containing folder”.
W tym momencie powinno otworzyć się okno konsoli, w której wklejamy kod ze strony „AuthyToOtherAuthenticator.md” w serwisie GitHub Gist, lub – już w wersji zmodyfikowanej, by wynik zapisać do pliku – z tej strony.
Po uruchomieniu skryptu (wkleić i nacisnąć enter) zostanie wygenerowany plik, w którym znajdziemy wszystkie (obsługiwane przez skrypt) tokeny kodów 2FA/TOPT.
Przykładowa zawartość (jeden token):
{
"name": "Webinsider",
"secret": "8Q7PBLAHE5S2RQP39W5RPBJH56Q",
"uri": "otpauth://totp/Webinsider?secret=8Q7PBLAHE5S2RQP39W5RPBJH56Q&digits=7&period=10"
}
W większości przypadków wystarczy skorzystać z kodu „secret” wprowadzając go w nowej aplikacji (np. Bitwarden).
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01