All your PESEL are belong to us!

Wpis na Sekuraku o łamaniu hasła do PDF za cztery zł odwoływał się do wpisu na Informatyku zakładowym w tym temacie. Oba opierały się o generator numerów PESEL. Rzuciłem okiem na program i stwierdziłem, że nie jest kompletny. Nie obsługuje bowiem wszystkich lat. Co gorsza C# wydał mi się średnim wyborem – uruchomienie pod Linuksem wymaga doinstalowania dodatkowych pakietów, trudniejsze w rozwijaniu.

Postanowiłem ulepszyć i napisałem własną wersję generatora numerów PESEL. Zasadnicza różnica to obsługa wszystkich lat objętych specyfikacją PESEL. Dodatkowo można generować numery PESEL dla dowolnych zakresów. Takie ficzery przydatne przy pentestach.

Program nie jest specjalnie szybki – każdy rok na moim sprzęcie to ok. 2 sekundy. Z drugiej strony nie jest tak źle z prędkością . Oryginał działał 80 sekund według autora, mój dla tych samych lat – 113 sekund[1]. Oczywiście nasze sprzęty mogą się różnić, niemniej różnica nie jest drastyczna. Poza tym, słownik generuje się raczej rzadko.

Generator numerów PESEL raczej nie będzie rozwijany. No chyba, że ktoś znajdzie błędy. Może komuś się przyda.

[1] Wszystkie czasy podaję dla uruchomienia przy pomocy PyPy.

Gosund SP-111 cz. 2

W tej części cyklu wpisów o Gosund SP-111 opiszę moje perypetie związane z wymianą firmware. Zaczęło się od tego, że chciałem uzyskać możliwość sterowania urządzeniem bez dostępu do internetu. O tym, czemu miałem takie wymaganie może następnym razem. W każdym razie urządzenie posiada wsparcie w otwartych firmware, np. obsługiwane jest przez Tasmota.

Wgrywanie Tasmota bez kabli

Istnieją opisy jak flashować Gosund SP-111 rozkręcając gniazdko i podłączając przewody. Choć posiadam sprzęt, wolałem tego uniknać, dlatego ucieszyłem się, znajdując ten opis bezprzewodowej wymiany firmware przy pomocy tuya-convert. Doczytałem gdzieś, że najlepiej nie pozwolić urządzeniu łączyć się z internetem, tylko od razu przystąpić do flashowania. Chodzi o uniknięcie aktualizacji oprogramowania – podobno nowe wersje mają jakieś zabezpieczenia przed aktualizacją przez tuya-convert.

Po krótkiej zabawie najpierw z Orange Pi, następnie Banana Pi doszedłem do tego, że trzeba trochę powalczyć z konfiguracją, zmieniając nazwę urządzenia sieciowego. Karta wbudowana w Orange Pi nie działała, z kolei sam system nie widział mojej karty na USB, stąd ostatecznie przełączenie na Banana Pi. Niestety, mimo trzymania się i opisu, i instrukcji ze strony projektu, nie udało się wgrać oprogramowania przy pomocy tuya-convert. Ani korzystając z głównej gałęzi oprogramowania, ani z wersji developerskiej.

Oryginalne oprogramowanie i API

Stwierdziłem, że pora wypróbować oryginalne oprogramowanie i zobaczyć, czy urządzenie w ogóle jest sprawne. Zainstalowałem aplikację, zarejestrowałem konto, podłączyłem – wszystko działa. Chyba zaktualizowałem oprogramowanie producenta. Albo zrobiło się to samo? Nie pamiętam. Okazało się również, że powinno dać się uzyskać klucz API umożliwiający sterowanie z użyciem oryginalnego oprogramowania. Po szczegóły odsyłam do projektu tuyapi. Jednak gdy zobaczyłem, że mam zakładać kolejne konto, w kolejnym serwisie, zwątpiłem.

Podszedłem jeszcze raz do flashowania przy pomocy tuya-convert i… tym razem udało się od kopa. Nie wiem czy znaczenie miała aktywacja z oryginalnym oprogramowaniem, czy ew. aktualizacja firmware producenta. Po prostu się firmware się sflashował i… cegła. Krótki błysk po włączeniu zasilanie i tyle. Logi też nie nastrajały optymistycznie, ostatnie co było widać to:

smarthack-web.log:[I 211220 22:07:17 web:2239] 200 GET /files/upgrade.bin (10.42.42.12) 4003.81ms

Wgranie oprogramowania przy pomocy konwertera FTDI

Czyli przyszła pora przeprosić się z kabelkami. Skorzystałem z tego opisu i wgrania firmware przy pomocy esptool. W zasadzie uznałbym go za bardzo dobry, jednak przestrzegam przed poleganiem na kolorach kabli ze zdjęć. Zawsze należy czytać opisy pinów i łączyć zgodnie z opisem. Wpis ten jest dobrym przykładem, bo zdjęcie konwertera FTDI pochodzi bowiem prawdopodobnie z innego podłączenia, niż zdjęcie samego Gosund SP-111 z podłączonymi kabelkami. Tak czy inaczej, opis jest dobry, uwagi dotyczące zaostrzenia pinów czy użycia taśmy klejącej jak najbardziej na miejscu. Oczywiście całą operację flashowania i podłączania kabelków wykonujemy na urządzeniu wypiętym z gniazdka 230V.

Flashowanie „po kablu” przebiegło poprawnie i bez niespodzianek, włożyłem Gosund SP-111 do gniazdka, włączyłem zasilanie i… znowu krótki błysk i zupełna ciemność, całkiem jak po flashowaniu bezprzewodowym.

Tym razem jednak coś mnie tknęło, albo przeczytałem w którymś opisie i przeskanowałem dostępne sieci WiFi. I oczywiście, znalazł się tam nowy AP, po podłączeniu którego mogłem skonfigurować urządzenie. Czyli prawdopodobnie podmiana oprogramowania przy pomocy tuya-convert także była skuteczna. To, czego nie wiedziałem, to fakt, że zachowaniem LED steruje się przy pomocy template’u, który wgrywa się samodzielnie, później.

Jednym słowem, nie ma to jak utrudnić sobie życie i wypróbować wiele sposobów. Grunt jednak, że udało się dotrzeć do szczęśliwego finału, czyli mój Gosund SP-111 działa pod kontrolą otwartego firmware w postaci Tasmota.

Gosund SP-111 cz. 1

Kroi się mini cykl wpisów. Kupiłem bowiem tzw. inteligentne gniazdko Gosund SP-111, działające po WiFi. Trafiło się akurat za 40 zł z darmową dostawą w ramach Smart. Obecnie jest promocja i są dostępne w podobnej cenie, więc jest okazja do wpisu.

Wybrałem to rozwiązanie z kilku powodów. Po pierwsze, pozwala nie tylko na sterowanie włączeniem i wyłączeniem prądu, ale także na mierzenie parametrów prądu. Czyli może służyć jako zdalny watomierz. Po drugie, umożliwia wgranie otwartego oprogramowania. Ostatni powód to wymiary i wygląd. Jest to jedno z mniejszych rozwiązań tego typu i na zdjęciach wygląda dość estetycznie.

Gosund SP-111
Źródło: https://www.mediaexpert.pl/dom-i-ogrod/inteligentny-dom/inteligentne-gniazdka-wifi/gniazdko-gosund-sp111

Gdy dotarło, utwierdziłem się w słuszności wyboru. Eleganckie opakowanie, instrukcja. Sam produkt faktycznie jest mały. Niewiele większy od standardowej, okrągłej wtyczki, więc na tyle mały, że nie blokuje sąsiednich gniazd w listwie. Sama obudowa też sprawia solidne wrażenie. W realu również wygląda estetycznie.

Zanim przejdę do kolejnych wpisów zastrzegam, że produkty danej firmy, a nawet wersje tego samego produktu potrafią się różnić, jeśli chodzi o zastosowane rozwiązania. Potrafią mieć inną elektronikę, co oznacza, że nie zawsze da się wgrać otwarty firmware. Niemniej, w obrębie danego produktu, jego wersji i maksymalnej mocy jest spora szansa na powtarzalność. Inteligentne gniazdko, które kupiłem, to Gosund SP-111 3450W.

Uważam, że jeśli ktoś szuka podobnego rozwiązania, to warto rozważyć zakup właśnie tego produktu. W kolejnych wpisach będzie można przeczytać o perypetiach ze zmianą firmware producenta na otwarte oprogramowanie. Choć przyznaję, że inteligentne gniazdko nawet z oprogramowaniem producenta radziło sobie nieźle. Niestety, nie nadawało się do pewnych zastosowań.