modbus na hasło

Cześć.

Rozpracowuje pewne urządzenie.

Posiada ono magistralę modbus wystawioną na porcie 502/tcp (to hipoteza).

Jest to jedyny otwarty port jaki jest widoczny na IP urządzenia.

Zakładam wstępnie że posiada ono tylko taką drogę komunikacji, czyli jakaś wersję modbus over tcp.

Niestety urządzenie nie odpowiada na żadnym adresie i numerze "cewki". Ogólnie jest głuche, można podpiąc socket do tego poru, wpychać dane ale nie ma śladu odpowiedzi.

Wyczytałem w internetach że *niektóre* firmy wymysliły sobie metodę autoryzacji modbusa przez hasło. Polega ona na wysłaniu "w ciemno" prawidłowo spreparowanych bajtów i wtedy interfejs udostępnia normalny modbus.

Z urządzeniem współpracuje aplikacja mobilna, ale z uwagi na rózne detale chwilowo nie mogę zarejestrować ruchu w sieci aby mieć pojęcie co jest wysyłane. Na pewno aplikacja mobilna wymaga hasła i jest ono sprawdzane przez urządzenie.

Z snifowaniem ruchu sobie poradzę i o ile proces nie jest szyfrowny powinienem dać radę wyczaić jak wyglada komunikacja.

Ale pytanie jest inne:

Czy ktokolwiek widział jakaś implementację modbusa z autoryzacją? Liczę na to że producent nie wymyślił kwadratowego koła tylko kupił/ukradł jakieś gotowe rozwizanie. Przejrzałem internetu i poza jakimiś luźnymi wzmiankami konkretów nie widzę.

Reply to
heby
Loading thread data ...

A pytasz ramką odpowiednią do modbusTCP? Port 502 to chyba "standardowy" dla ModbusTCP jest.

jp

Reply to
jacek pozniak

Używam QModMaster. Ten sam program z innym urządzeniem działa.

Do czasu aż podsłsucham transmisję po wifi pomiędzy aplikacją mobilną a urządzeniem pewności mieć nie będę. Ale wiem że "modbus na hasło" zachowuje się tak samo jak moje urządzenie, czyli nie odpowiada do czasu wysłania popawnego "klucza". O ile opisane w internetach zachowanie innych urządeń jest prawdą.

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Czy te bajty to nie jest po prostu zapis do specjalnego rejestru? Bo chyba nie jest to pakiet niezgodny z Modbusem?

Reply to
Grzegorz Niemirowski

Nie wiadomo. Widzę tylko wzmianki na necie o takich koncepcjach, ale brak konkretów. Dlatego pytam, może ktoś się zetknął z taką technologią i może podpowiedzieć jak wprowadza się hasło na poziomie portu tcp. Inaczej czeka mnie kłopotliwe snifowanie ruchu, a aplikacja istnieje tylko na telefonie bez roota, AP pozwala tylko na 1 urządznei jednoczęsnie i to komplikuje sprawę.

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Możesz zrobić AP na komputerze.

Reply to
Grzegorz Niemirowski

Oj wiem, to nie jest jakiś wielki problem, to tylko upierdliwe. Ponadto samo AP na komputerze da mi tylko informacje o tym jak inicjuje się transmisję z aplikacji, nie dostanę dalszej wymiany danych. Musiałbym postawić taki nietypowy proxy. I tu jest już wiecej roboty bo do tego chyba gotowców nie ma, pozostaje rzeźba w KaliLinuxie.

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Dlaczego nie dostaniesz dalszej wymiany danych? Wireshark powinien dać radę.

Reply to
Grzegorz Niemirowski

Są dwie opcje. Albo postawie proxy (i będe widział cała komunikację) albo będę emulował urządzenie i dostanę tylko początek i rozkminiał co zwrócić.

Proxy nie jest trywialne bo wymaga operowania w sytuacji gdy w komputerze istnieją dwie identyczne sieci z identycznym adresowaniem. Jedna udaje urządzenie, druga udaje klienta. Na razie czytam poradniki do Kali aby zorientować się jak zrobić takie proxy bez programowania.

Równolegle szukam metody podsłuchania sieci mając w posiadaniu hasło. Zakładam że to trudne, ale nie tracę nadziei.

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Nie potrzebujesz żadnego proxy ani nic programować, tym bardziej emulować. Po prostu stawiasz na Linuksie access point, dzięki któremu po WiFi będzie można połączyć się z siecią, w której jest komputer oraz badane urządzenie. AP będzie pracować w trybie mostu (bridge). Aplikacja mobilna w ten sposób będzie mogła połączyć się z urządzeniem. Wystarczy wtedy uruchomić na komputerze sniffer i przechwycić ruch.

Reply to
Grzegorz Niemirowski

Urządzenie *JEST* AP. Można do niego podpiąc tylko 1 klienta.

Zakładając że mogę zrobić to co mogę, czyli: a) postawić u mnie AP o bardzo podobnej nazwie i parametrach i udawać że jestem urządzeniem b) na drugiej karcie połaczyć się z urządzeniem i udawać klienta c) spiąc je bridge

to nie zadziała...

formatting link
Kali Linux odmawia spięcia dwóch wlan0 i wlan1 kiedy jeden pracuje jako klient a drugi jako ap. brctl can't add ...

Dlatego to ogólnie nie jest takie trywialne jak się może wydawać.

PS. Na razie mam mały trop wynikający ze sniffingu: istnieje szansa że urządzenie używa EAPoL do uwierzytelnienia. W zasadzie z opisów wynika że działa właśnie tak jak obserwuje: zabrania dostepu do portu jeśli nie podam hasła.

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Trzeba było od razu pisać :) Niestety nie wyłapałem z kontekstu.

Racja. Nie mam w takim razie pomysłu. Ewentualnie sniffowanie WiFi jeśli ten AP tworzy sieć otwartą (bez hasła).

Myślałem, że tam jest zwykły AP, ewentualnie z uwierzytelnianiem WPA/WPA2. Tam jeszcze wsadzili EAPoL?

Reply to
Grzegorz Niemirowski

Hasło jest.

W zasadzie są dwa hasła. Pierwsze do WiFi (WPA2), drugie już w aplikacji dzielące dostęp na "instalatora" i "uzytkownika".

Szyfrowanie WPA2 utrudnia mi sniffowanie ruchu w eterze więc kombinuje nad jakimś mitm.

Mam wrażenie że to typowy problem w automatyce przemysłowej: brak logiki i kult cargo.

Mam jeszcze inną koncepcję. Istnieje Android w wersji x86 na peceta. Sprawdzę czy aplikacja w nim pracuje (jest wybredna, dział tylko 50% telefonów). Zakładając że w x86 android mogę zrobić sobie trywialnie roota powinienem też dać radę podpiąć sniffer typu tcpdump.

Pytanie tylko czy Android x86 posiada gdzieś tcpdumpa :D

Reply to
heby

heby snipped-for-privacy@poczta.onet.pl> napisał(a):

Nie wiem czy posiada, ale może da się tego Androida uruchomić na wirtualce? Wtedy będzie można przechwycić ruch na hoście.

Reply to
Grzegorz Niemirowski

Obawiam się że aplikacja potrzebuje prawdziwej karty sieciowej wifi. Tak czy inaczej powalcze z Ax86 i zobaczymy, a internetach piszą o tym że tcpdumpa można dorzucić więc sprawdzę. Oczywiście o ile aplikacja producnta będzie łaskawa się uruchomić :/

Reply to
heby

Oczywiśćie że nie jest łaskawa. Strzela focha na stacie na Androidzie x86. Chyba jednak pozostaje rzeźba z fałszywym AP i analizą ruchu EAPoL o ile to to :/

Reply to
heby

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.