Trzy i pół miliona użytkowników znanego dostawcy tunelowania ZenMate VPN było przez niecałą dobę narażonych na całkowite przejęcie konta. Jak to możliwe? Okazało się, że aplikacja zawiera poważny błąd w zabezpieczeniach pozwalający na ujawnienie identyfikatora uwierzytelnienia i tajnego tokenu, za pomocą którego można zalogować się na konto ofiary i zmienić hasło. To tylko połowa złych wiadomości. Druga połowa jest nie mniej drastyczna, ponieważ badaczowi udało się dodatkowo w prosty sposób pobrać informacje o ofierze, czyli:
- Informacje o ID konta.
- Adres e-mail ofiary.
- Listę wszystkich używanych adresów e-mail (także tych używanych poprzednio).
- Informacje o subskrypcji i rodzaju konta.
- Kraj, z którego pochodzi ofiara.
- Szczegółowe informacje o urządzeniu, z którego się logowano.
- Prawdziwy adres IP ofiary.
- Całkowitą deanonimizację podczas korzystania przez użytkownika z VPN.
To wszystko było możliwe dzięki luce w rozszerzeniu do przeglądarek pozwalającej na atak XSS, czyli w tym przypadku wstrzyknięcie do pliku „manifest.json” domeny, do której odwoływało się rozszerzenie i pobierało złośliwy kod.
Cześć manifestu rozszerzenia ZenMate VPN wygląda tak:
...trimmed for brevity… { "js": [ "scripts/page_api.js" ], "matches": [ "*://*.zenmate.com/*", "*://*.zenmate.ae/*", "*://*.zenmate.ma/*", "*://*.zenmate.dk/*", "*://*.zenmate.at/*", "*://*.zenmate.ch/*", "*://*.zenmate.de/*", "*://*.zenmate.li/*", "*://*.zenmate.ca/*", "*://*.zenmate.co.uk/*", "*://*.zenmate.ie/*", "*://*.zenmate.co.nz/*", "*://*.zenmate.com.ar/*", "*://*.zenmate.cl/*", "*://*.zenmate.co/*", "*://*.zenmate.es/*", "*://*.zenmate.mx/*", "*://*.zenmate.com.pa/*", "*://*.zenmate.com.pe/*", "*://*.zenmate.com.ve/*", "*://*.zenmate.fi/*", "*://*.zenmate.fr/*", "*://*.zenmate.co.il/*", "*://*.zenmate.in/*", "*://*.zenmate.hu/*", "*://*.zenmate.co.id/*", "*://*.zenmate.is/*", "*://*.zenmate.it/*", "*://*.zenmate.jp/*", "*://*.zenmate.kr/*", "*://*.zenmate.lu/*", "*://*.zenmate.lt/*", "*://*.zenmate.lv/*", "*://*.zenmate.my/*", "*://*.zenmate.be/*", "*://*.zenmate.nl/*", "*://*.zenmate.pl/*", "*://*.zenmate.com.br/*", "*://*.zenmate.pt/*", "*://*.zenmate.ro/*", "*://*.zenmate.com.ru/*", "*://*.zenmate.se/*", "*://*.zenmate.sg/*", "*://*.zenmate.com.ph/*", "*://*.zenmate.com.tr/*", "*://*.zenmate.pk/*", "*://*.zenmate.vn/*", "*://*.zenmate.hk/*" ], "run_at": "document_start" }...trimmed for brevity...
Autorowi udało się wstrzyknąć zarejestrowaną domenę „zenmate.li
” i umieścić na niej złośliwy kod ujawniający dane o ofierze:
// Make call to Content Script to get all user data __zm.getData(function(results) { console.log( results ); });
Dodając poniższą linijkę, można wyłączyć ofierze połączenie VPN:
// Turn off VPN __zm.toggle(false);
Problem z bezpieczeństwem dotyczył wyłącznie użytkowników, którzy korzystali z rozszerzenia do przeglądarki, a nie z aplikacji zainstalowanej w systemie operacyjnym.
Luka została zgłoszona 28 maja o 2:15 nad ranem. Producent o 2:38 potwierdził problem. Aktualizacja rozszerzenia została upubliczniona o 21 wieczorem:
May 28, 2:15am – Disclosed issue via security contact email address.
May 28, 2:38am – Confirmed by vendor.
May 28, 9:00pm – Patch issued for Chrome and Firefox extensions.
Autor przygotował stronę internetową, na której można sprawdzić podatność, jeśli ktoś jeszcze nie zaktualizował wtyczki. Nie mamy możliwości sprawdzenia, ale według słów badacza ujawnione zostaną szczegółowe informacje o połączeniu, a sieć VPN zostanie wyłączona. Tak jak na tym wideo:
VPN w przeglądarce czy w systemie?
Zdecydowanie w systemie, ponieważ wtedy szyfrowany jest cały ruch sieciowy. Rozszerzenie zainstalowane w przeglądarce zaszyfruje wyłącznie ruch sieciowy przechodzący przez protokół HTTP/S na portach 80, 8080 i 443 — i w zależności od dostawcy VPN-a — połączenie będzie korzystało z serwerów DNS dostawcy usługi VPN lub zewnętrznego dostawcy, który dowie się, jakie strony odwiedza użytkownik. To kolejna pułapka czyhająca na nieroztropnych, którzy chcieliby ukryć się przed światem. VPN-y nie powstały w celu prywatności, ale by zwiększyć bezpieczeństwo.
Aplikacje klienckie NordVPN są dostępne na niemal wszystkie systemy operacyjne: Windows, macOS, iOS, Apple, Linux i wiele więcej. NordVPN wspiera protokół P2P (nie wszystkie VPN-y to robią) więc bez przeszkód możesz pobierać legalne torrenty. Oprócz tego NordVPN korzysta z własnego serwera DNS, czyli żaden inny węzeł komunikacyjny DNS nie będzie logował odwiedzanych stron internetowych. I co najważniejsze, firma NordVPN zarejestrowana jest w Panamie i nie przechowuje ŻADNYCH logów — nie ma takiego obowiązku.
VPN chroni właściciela urządzenia przed nieostrożnością lub nieroztropnością podczas logowania się do usług internetowych. Zabezpieczy m.in. przed podatnością KRACK na Wi-FI oraz pozwali ominąć restrykcje na usługi bądź strony internetowe nałożone przez rządowe dyktatury.
Niedawno ZenMate VPN był bohaterem innego artykułu. Niestety w takim samym kontekście, czyli problemów z bezpieczeństwem. Warto się poważnie zastanowić, czy nie zmienić dostawcy.
Czy ten artykuł był pomocny?
Oceniono: 0 razy