Według badacza Christopher’a Le Roux’a, aplikacja mobilna o nazwie WiFi Mouse, która umożliwia użytkownikom kontrolowanie ruchów myszy na komputerze PC lub Mac za pomocą smartfona lub tabletu, ma niezałatany bug, który umożliwia atakującym przejęcie kontroli nad komputerami stacjonarnymi.

Problem dotyczy składnika oprogramowania typu „serwer”, który jest niezbędny do działania aplikacji i musi być zainstalowany na komputerze z Windows. Drugi składnik jest wtedy instalowany jako aplikacja mobilna na urządzeniu z Androidem. Luka pozwala złośliwemu aktorowi, współdzielącemu tę samą sieć Wi-Fi, uzyskać pełny dostęp do komputera z Windowsem za pośrednictwem portu komunikacyjnego otwieranego przez oprogramowanie.

WiFi Mouse, wydana przez firmę Necta, jest dostępna w Google Play i w Apple App Store pod nazwą wydawcy Shimeng Wang. Jedyną wersją oprogramowania przetestowaną przez odkrywcę podatności była wersja dla systemu Windows 1.7.8.5 działająca na Windows 10 Enterprise – build 17763.

Pomimo wielu prób skontaktowania się z twórcą aplikacji, Necta nie odpowiedziała ani na pytania specjalistów cyberbezpieczeństwa, ani na prośbę portali newsowych o komentarz. Nie jest jasne, czy problem dotyczy również innych wersji oprogramowania WiFi Mouse, kompatybilnych z komputerami Mac, Debian i RPM.


Zakres podatności

Zgodnie ze statystykami, aplikacja mobilna WiFi Mouse została pobrana w sklepie Google Play ponad 100 000 razy. Jednak urządzenia Android nie są podatne na atak.
Luka istnieje na komputerach Windows i jest związana przede wszystkim z brakiem metody uwierzytelniania przy parowaniu urządzenia mobilnego z komputerem. Wystarczyłby tutaj prosty PIN lub hasło. Jednak aplikacja mobilna nie prosi użytkowników o podanie jakiejkolwiek autoryzacji, a nawet nie komunikuje, kiedy połączenie zostanie ustanowione.

Ten brak uwierzytelnienia otwiera drzwi potencjalnemu nieuczciwemu użytkownikowi do wykorzystania otwartego portu używanego przez aplikacje do sterowania myszą.

Aplikacja mobilna WiFi Mouse wyszukuje hosty z otwartym portem TCP 1978 i łączy się z nimi. Po podłączeniu serwer stacjonarny odpowiada informacją o systemie operacyjnym i tutaj uzgadnianie TCP jest zakończone. W aplikacji mobilnej jest oczywiście opcja touchpada, ale także i eksploratora plików. Eksplorator umożliwia użytkownikowi „uruchomienie” dowolnego pliku w systemie. Obejmuje to nawet pliki wykonywalne, takie jak PowerShell[.]exe czy cmd[.]exe, które otwierają atakującym nieskończony szereg możliwości.


Przypuszczalny atak

Wykorzystanie takiej podatności jest niespotykanie łatwe, a dla wprawnych hackerów wręcz banalne. Wystarczy przygotować odpowiednio zakodowaną komendę (z ASCII na HEX) i przesłać ją na serwer z otwartym portem – wszystko to bez żadnej weryfikacji ze strony aplikacji.

Aby przeprowadzić atak, przeciwnik potrzebuje tylko oprogramowania serwera WiFi Mouse działającego na docelowym komputerze ofiary, nie jest potrzebny nawet skonfigurowany klient mobilny.
Serwer stacjonarny WiFi Mouse akceptuje każde połączenie, o ile działa na punkcie końcowym, a zapora sieciowa nie blokuje nasłuchu na porcie 1978.
Stamtąd przeciwnik może uruchomić proste polecenie w docelowym systemie Windows, aby pobrać dowolny program wykonywalny z serwera HTTP i uruchomić go w celu uzyskania zdalnej powłoki na komputerze celu.
Ograniczenia atakującego będą polegały tylko i wyłącznie na uprawnieniach zalogowanej osoby.


Podsumowanie

Chociaż badacz powiedział, że jego testy ograniczały się do komputerów PC z systemem Windows, podejrzewa – ale nie może potwierdzić, że ten problem może również wpływać na inne platformy.

„Nie wykonałem jeszcze żadnych testów w systemie macOS. Moje testy na Debianie Linux (Kali) pokazują, że opcja eksploratora plików nie działa prawidłowo. Nie eliminuje to jednak możliwości „odtwarzania” danych dotyczących ruchu myszy i wysyłania kliknięć lewym przyciskiem myszy i wprowadzania poleceń klawiszowych w celu zastąpienia braku eksploratora plików”- napisał.

Wciąż czekamy na odpowiedź twórców WiFi Mouse w tej sprawie. Jeśli nie ukaże się żaden oficjalny komunikat, będzie to jeszcze bardziej podejrzane. Trudno uwierzyć, że zespół programistów Necta nie pomyślał o żadnym mechanizmie weryfikacji połączenia klienta z serwerem.
My radzimy trzymać się z dala o tej aplikacji, ale też od wszystkich jej podobnych. Jak wiemy narzędzia zdalnej kontroli zawsze budzą kontrowersje i warto korzystać tylko z tych zaufanych i sprawdzonych.

Podziel się z innymi tym artykułem!