Spisu treści:

Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!: 15 kroków (ze zdjęciami)
Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!: 15 kroków (ze zdjęciami)

Wideo: Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!: 15 kroków (ze zdjęciami)

Wideo: Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!: 15 kroków (ze zdjęciami)
Wideo: Hacking PC with 10$ perfect BadUSB / Rubberducky / USB device based on Arduino Leonardo SS Beetle 2024, Listopad
Anonim
Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!
Password Keeper w Aruino Pro Micro lub dlaczego warto zachować prostotę, gdy istnieje skomplikowany sposób!

Wydaje się, że głównym problemem mikrokontrolerów dla fanów elektroniki (zwłaszcza początkujących) jest znalezienie ich zastosowania:) W dzisiejszych czasach elektronika, zwłaszcza cyfrowa, coraz bardziej wygląda jak czarna magia. Tylko czarodzieje na 80-poziomowym poziomie są w stanie zrobić coś tam z małymi komponentami. To jest powód, dla którego płytki Arduino stały się bardzo popularne. Zamknięto w nich czarną magię i trochę dymu;) w tablicę za pomocą szpilek, którymi można zarządzać przez człowieka.

Ten post chcę poświęcić dość prostemu projektowi o nazwie PasswordKeeper, opartemu na płycie Aruino Pro Micro. Ta płyta obsługiwała układ ATmega32U4.

Krok 1: Pomysł

Pomysł
Pomysł

Przez długi czas chciałem zrobić coś prostego i użytecznego za pomocą jakiegoś kontrolera. A potem kolega wpadł na ciekawy pomysł - był zbyt leniwy, żeby codziennie wpisywać login i hasło do swojego komputera. Wziął więc maleńką płytkę DigiSpark (ATTiny85) i stworzył urządzenie, które po kliknięciu przycisku wysyła login+hasło do komputera. Oto to urządzenie.

Krok 2: Pomysł i okablowanie

Pomysł i okablowanie
Pomysł i okablowanie

Świetny pomysł – pomyślałem. Dlaczego nie pożyczyć go i zastosować w nim trochę szalonej kreatywności.

Przebudowywanie projektu Arduino i ponowne ładowanie go na płytkę za każdym razem, gdy zmienia się hasło - "To nie są droidy, których szukasz" [wave]. To zbyt proste. Pojechalibyśmy znacznie bardziej splątaną trasą!

Urządzenie powinno pokazywać, jak to działa. Ale tylko trzy standardowe wbudowane diody LED - to zdecydowanie za mało do tego celu. Podnieśmy liczbę LED do 4099! Do projektu dodano więc niewielki moduł wyświetlacza OLED 128X32. Przez dłuższy czas nie mogłem wymyślić, gdzie go wycisnąć. I idealnie pasuje do tego projektu. Jeszcze kilka przycisków - i wszystko gotowe!

Zabrakło miejsca w układzie ATTiny85 na projekt - dodanie wyświetlacza ściągniętego na bibliotekę graficzną + czcionki. Więc wszystko to po prostu nie mieściło się w pamięci DigiSpark. Szybkie wyszukiwanie zapewnia odpowiednią platformę: Arduino Pro Micro.

Główną ideą projektu jest to, że ATmega32U4 domyślnie udaje urządzenie HID - klawiatura USB i port USB COM. Sterowniki dla tych urządzeń są już preinstalowane w większości systemów operacyjnych – i nie trzeba nic więcej konfigurować.

Zwrócono twoją uwagę PasswordKeeper, to chindogu, który imituje klikanie przycisków na klawiaturze. Kliki te mogą przenieść login i hasło do komputera. Nawet wszechobecne Ctrl-Alt-Del można wysłać, klikając 1 przycisk zamiast 3. Lub dowolną inną sekwencję klawiszy według własnego gustu.

Forma wybranych modułów jest bardzo kompaktowa, ale mimo to łatwa do zaplątania. Jest to możliwe przy minimalnych wysiłkach, aby zmontować małe i raczej przydatne urządzenie. Okablowanie po prostu nie mogłoby być prostsze.

Krok 3: Gotowanie

Gotowanie
Gotowanie

Składniki urządzenia:

1) Aruino Pro Micro-1 sztuka

2) wyświetlacz OLED 128x32 - 1 sztuka

3) Guziki - 2 szt. (lub innego typu - wg. fałdu).

4) Złącza DuPont - 7 sztuk (lub trochę drutu do zlutowania razem - według smaku).

Całość włóż do małego pojemnika na jedzenie i dokładnie wstrząśnij. Zgodnie z teorią prawdopodobieństwa elementy ostatecznie łączą się ze sobą we właściwy sposób.

Zaczekaj! To nie jest artykuł związany z gotowaniem! Moje przeprosiny.

Lepiej połącz wszystko ręcznie - zgodnie ze schematem elektrycznym i oszczędź sobie kilku eonów wstrząsania.

Więc prototyp do debugowania szkicu / testowania jest gotowy.

Krok 4: Konstruowanie sprawy

Konstruowanie sprawy
Konstruowanie sprawy

Szkic wydaje się działać. Ale niewygodne jest używanie urządzenia w tej formie. Tak więc trochę pracy w Sketchup zapewnia nam małą obudowę.

Aktualizacja: Pomysł na sprawę.

Możesz wziąć dowolne odpowiednie małe przezroczyste plastikowe pudełko.

Lub weź cienki przezroczysty plastik z jakiegoś opakowania. Wygnij go zgodnie z geometrią urządzenia. Włóż elektronikę do środka i wypełnij całą wolną przestrzeń przezroczystym silikonem. Powinien dać ci stosunkowo ładne urządzenie.

Krok 5: Drukowanie 3D

Druk 3D
Druk 3D

Wrzuciłem go do najbliższej drukarki 3D.

Krok 6: Sprawa jest gotowa

Sprawa jest gotowa
Sprawa jest gotowa

I jak zwykle pośpiech jest niezbędny przy łapaniu pcheł.

Pierwsza wersja obudowy jest trochę za mała, a płytka nie pasuje!

Akela nie zdołał zostawić kilku luk. Więc rysunek jest poprawiany i przedrukowywany.

Drugie podanie było lepsze - deska pasuje idealnie.

Krok 7: Wypróbowanie przypadku

Wypróbowanie przypadku
Wypróbowanie przypadku

Włóż deskę do środka, dociśnij i charakterystycznym chrupnięciem zablokuje się na miejscu.

Przymierzanie guzików - one też pasują.

Krok 8: Lutowanie. Przewody

Lutowanie. Przewody
Lutowanie. Przewody

Swoją drogą długo szukałem dobrego drutu do prototypowania.

W rezultacie w moich projektach używam teraz drutu 30AWG. Możesz je zobaczyć na zdjęciu. To owija drut.

Niewiele narodów pamięta teraz, do czego to służy.

Ale doskonale nadaje się również do lutowania na płycie. Kolorowe przewody dobre do uporządkowania zwykłego bałaganu poprzez przypisanie odrębnych kolorów do funkcji przewodów. Drut jest cienki. Izolacja dobrze znosi temperaturę lutownicy. Typowa izolacja PVC topi się natychmiast podczas lutowania. Ten staje się zmiękczony, ale zachowuje swój kształt i pozwala od czasu do czasu dotykać grotu lutownicy bez topienia się do rdzenia.

Krok 9: PwKeeper jest gotowy

PwKeeper jest gotowy
PwKeeper jest gotowy

Więc złożenie tego wszystkiego razem daje nam mały token, który łączy się z komputerem i pozwala zarządzać i używać

dość duża liczba loginów i haseł.

Krok 10: PwKeeperPc - łatwa edycja danych w tokenie

PwKeeperPc - Łatwa edycja danych w tokenie
PwKeeperPc - Łatwa edycja danych w tokenie

Liczba logowań jest ograniczona ilością wbudowanej pamięci EEPROM (1024 bajty) oraz długością haseł.

Pamięć EEPROM przechowuje szereg rekordów.

Każdy rekord zawiera pole komentarza i do 8 pól tekstowych.

Dwa pola tekstowe nazwane Nazwa i Hasło - tylko dla wygody zarządzania.

Wyświetlacz pozwala wybrać żądany login, wyświetlając pola komentarzy.

Pozwala również na edycję danych w tokenie. Dane można edytować tylko dwoma przyciskami. Wcisnąłem w token jakiegoś edytora. Ale szczerze mówiąc, powinieneś być masochistą, aby z niego korzystać.

Dlatego, aby uprościć zarządzanie hasłami, musiałem napisać specjalny program na PC (swoją drogą - nie zapomnij przełączyć tokena w tryb USB podczas korzystania z tego programu).

Aktualizacja: Dla *nix people dodałem konsolę szeregową TTY w oprogramowaniu PwKeeper v1.4. Ta konsola jest aktywowana z menu urządzenia. Połącz się z nim za pomocą dowolnego odpowiedniego programu terminalowego - i możesz edytować dane w PwKeeper za pomocą kilku poleceń podobnych do VI. Konsola jest również dostępna na platformie Windows. Po prostu naciśnij Ctrl-Shift-M z Arduino IDE i jesteś na miejscu (nie zapomnij wcześniej aktywować TTY w PwKeeper). Ale myślę, że PwKeeperPc jest znacznie wygodniejszy.

Krok 11: PwKeeper działa

PwKeeper działa!
PwKeeper działa!

Token zawiera bardzo wrażliwe dane, dlatego należy dołożyć starań, aby zapewnić bezpieczeństwo.

Istnieje główne hasło do odblokowania tokena.

Domyślnie jest pusta, ale jak ustawisz w tokenie, powinieneś ją wpisywać każdorazowo po włączeniu.

Hasło główne to zdefiniowana przez użytkownika sekwencja pojedynczych i podwójnych kliknięć przycisków w górę i w dół.

Krok 12: Przepływ myśli

Teoretycznie da się zaszyfrować dane w EEPROM jakimś algorytmem kryptograficznym - jeszcze trochę miejsca we flashu. Ale tych wysiłków nie widać z zewnątrz - więc nie zawracałem sobie głowy.

Token w swoim normalnym stanie nie jest widoczny dla komputera. Aby umieścić go w trybie edycji USB należy to fizycznie zrobić, naciskając przyciski na nim. Podobnie, aby wysłać hasło, należy fizycznie nacisnąć przycisk GÓRA. Więc złośliwy haker nie wykradłby twoich haseł z tokena. Łapał je na porcie USB, gdy wysyłasz je z tokena;)

Efektem tego projektu jest urządzenie, w którym przechowuję hasła do moich kont bankowych i forów. Również moi rodzice uznali go za przydatny do logowania się do poczty internetowej i kilku innych witryn.

Specjalnie dla kolegi zaprogramowałem wszystkie pozostałe wejścia płytki jako przyciski szybkiego dostępu. Z pozostałych pinów wejściowych do masy można podłączyć do 12 przycisków. Klikając na jeden z tych przycisków przeskakujesz do odpowiedniego loginu (jeśli istnieje). Więc wystarczy nacisnąć przycisk GÓRA, aby go wysłać. Lub przytrzymaj przycisk skrótu nieco dłużej.

Krok 13: Inspekcja-1

Inspekcja-1
Inspekcja-1

Przed upublicznieniem PwKeeper przeszedł drobiazgową kontrolę.

Krok 14: Inspekcja-2

Inspekcja-2
Inspekcja-2

Szef inspekcji właśnie się obudził i nie jest w nastroju.

Ale mimo to marszczy brwi – dlaczego wyraźnie niedokończone urządzenie jest oferowane publicznie.

Moje słowa, że musi zweryfikować jakość produktu, a trudno to zrobić z zamkniętą sprawą, zostały przez niego zignorowane.

Newerless (po przekupieniu kiełbasą) wystawił świadectwo dopuszczenia.

Zalecana: