Jak działa atak “Man in the middle”? Dlaczego jest on bardzo niebezpieczny? Jak go wykorzystać w praktyce i rozwiązać problem bez modyfikacji aplikacji produkcyjnej? Tego dowiecie się z poniższego artykułu.
Spis treści
Problem
Przedstawiam Wam rozwiązanie problemu, jaki spotkał mnie ostatnio w pracy. Telewizorowa aplikacja SPA (produkcyjna) w pewnym momencie miała problem z pobieraniem plików. Podczas uruchomienia pobiera pliki z niepoprawnego adresu — nie ma jednak sensu zapuszczać się w detale tego problemu, bo to nie jest celem tego artykułu.
Aby rozwiązać problem w celu debugowania chciałbym móc zaserwować kod aplikacji z mojego komputera, a nie z produkcyjnej lokalizacji. Ale jak to mam zrobić, skoro aplikacja jest wgrana do telewizora i nie ma możliwości jej podmiany, bez upgrade-u? Przecież nie mogę na produkcję wrzuć wersji developerskiej!
Rozwiązanie
Rozwiązanie polega na wpięciu się w ruch między routerem, do którego podłączony jest telewizor a samo urządzenie. Ze względu na fakt, że do tego routera wpięte jest mnóstwo urządzeń, wolę delikatnie zmienić architekturę i postawić swoje źródło dostępu do internetu (mój telefon).
Dzięki temu będę mógł wpiąć się komputerem pomiędzy telewizor a telefon za pomocą dwóch portów jakie mam w komputerze:
USB — do którego podłączę telefon,
Thunderbolt-Ethernet (dongle) — do którego podłączę telewizor za pomocą kabla sieciowego.
W skrócie: Należy przechwycić ruch i móc go zmienić w locie.
Jak działa Man in the middle?
Technika MITM polega na przechwyceniu ruchu poprzez wpięcie urządzenia pomiędzy “ofiarę” (w moim przypadku telewizor), a internet (w moim przypadku telefon).
Ruch w obie strony możemy śledzić za pomocą narzędzia Wireshark. Niebezpieczne jest to, że response odpowiedzi może być modyfikowany. Tym samym OFIARA nie dostrzeże żadnej różnicy (jeśli ruch nie jest szyfrowany), kiedy dostanie zmodyfikowaną odpowiedź.
Bądź czujny! Nie podłączajcie się do niezabezpieczonych sieci Wi-Fi. Istnieje potencjalne ryzyko, że ktoś może przechwytywać ruch (pakiety) i go modyfikować, a Wy się o tym nie dowiecie.