17-09-2018 / Podcast

Jak działa atak Web Cache Poisoning?

Wprowadzenie

Cześć ja nazywam się Kacper Szurek i Witam wszystkich w 10 odcinku podcastu Szurkogadanie czyli o bezpieczeństwie dla wszystkich, w którym jak co tydzień przygotowałem 10 ciekawych wiadomości z dziedziny bezpieczeństwa.

Zaczynajmy.

Malware na pendrive

 Malware na pendrive

Jeszcze parę lat temu najpopularniejszym nośnikiem przenoszenia złośliwego oprogramowania pomiędzy komputerami były wszechobecne wtedy pendrive.

Oczywiście ta sytuacja to przeszłość.

Ciągle jednak zdarza się, że kupując jakiś sprzęt elektroniczny otrzymujemy razem z nim płytę CD na której znajdują się albo sterowniki albo też dokumentacja.

Czasami, niektórzy producenci decydują się nawet na dołączanie do swoich produktów kluczy USB.

I właśnie tak wyglądało to w przypadku jednego z produktów firmy Schneider Electric.

Ktoś nie dopilnował jednak procesu produkcyjnego i na pendrive oprócz dokumentacji dostało się również złośliwe oprogramowanie.

Firma zaleca aby takowy nośnik usunąć a wymagane oprogramowanie ściągnąć z Internetu. Kolejny przykład aby nie używać pendrive, które nie należą do nas.

Nigdy bowiem nie wiem co się na nich znajduje.

Privilege escalation w ProtonVPN

 Privilege escalation w ProtonVPN

Odkryto podatność podniesienia uprawnień w popularnych usługach VPN - ProtonVPN oraz NordVPN.

Są one bardzo podobne do tych, które opisywałem na swojej prezentacji podczas konferencji Pwning w tamtym roku.

Twórcy klientów zapominają o tym, ze w pliku konfiguracyjnym dane połączenie można użyć specyficznej komendy --up - która pozwala na wykonanie dowolnego pliku jeśli nasze połączenie z serwerem będzie prawidłowe.

Zazwyczaj OpenVPN jest uruchamiany z uprawnieniami użytkownika SYSTEM - czyli najwyższymi uprawnianiami w systemie Windows.

Plik konfiguracyjny natomiast może zostać zmieniony przez użytkownika bez uprawnień administratora.

Atak wygląda zatem następująco.

Preparuje się plik konfiguracyjny w taki sposób, aby w jego treści zawarta została komenda up odnosząca się do pliku bat w którym to tworzy się nowe konto administratora. Następnie łączymy się z serwerem przy pomocy interfejsu graficznego.

Gdy połączenie się powiedzie - komenda0 up zostanie automatycznie uruchomiona i nasze nowe konto administratora będzie gotowe do pracy.

Web Cache Poisoning

 Web Cache Poisoning

Możemy się na niego napotkać jeśli strona którą przeglądamy wykorzystuje mechanizm cache.

Standardowo działa to mniej więcej tak: użytkownik chce doglądnąć jakąś stronę.

Zwraca się zatem do serwera cache. Ten to sprawdza czy posiada tą stronę w swoich zasobach.

Jeśli tak - pobiera treść takiej strony i wysyła ją bezpośrednio do użytkownika.

Jeśli nie wysyła request do serwera aplikacji a następnie zapisuje otrzymaną odpowiedź.

Dzięki temu serwer aplikacji jest odciążony - co jest kluczowe przy sporym ruchu - ponieważ część danych może być zwrócona do użytkownika natychmiast bez udziału serwera aplikacji.

Ale w jaki sposób serwer cache rozpoznaje czy dane zapytanie odnosi się do tej samej strony?

Wykorzystuje do tego cache keys- czyli specyficzne komponenty z nagłówka HTTP takie jak adres URL czy też nagłówek User agent.

Te klucze mogą być różne w zależności od używanego rozwiązania. Jak zatem można zatruć dane?

Jednym z nagłówków HTTP jest X-Forwarded-Host służący do identyfikacji oryginalnego adresu IP klienta łączącego się do serwera poprzez inny serwer proxy lub load balancer. Niektórzy deweloperzy używają jego wartości w odnośnikach używanych na stronie.

Jeśli zatem serwer cache nie wykorzystuje tego nagłówka jako cache keys możliwa jest sytuacja gdzie wyślemy zapytanie z naszą wartością x-forwarded-host do serwera. Sprawi to zatem że na stronie pojawią się linki prowadzące do innych miejsc niż można by się było spodziewać.

Ponieważ używany jest serwer cache - ta strona- z tymi złośliwymi danymi zostanie zapisana w pamięci podręcznej serwera.

Następny użytkownik który poprosi o jej treść (pomimo tego że nie wyśle nagłówka x-forwarded-host) otrzyma tą wcześniejszą, zatrutą przez nas wartość.

Opowiadam o tym ataku ponieważ odkryto podatność w jednym komponentów framework Symphony, która uderzyła uderzyła m.in. w Drupala - czyli jeden z popularniejszych systemów CMS

Prawdziwy adres IP serwera

 Prawdziwy adres IP serwera

Niektóre serwery ukrywają swój prawdziwy adres IP - na przykład za pomocą serwisów takich jak CloudFlare.

Dzięki takiemu rozwiązaniu można na przykład chronić się przed atakami DDOS - ponieważ zanim ruch dotrze do naszego oryginalnego serwera musi najpierw przedostać się przez serwer pośredniczący.

Tam zazwyczaj nieprawidłowy ruch jest wychwytywany i blokowany.

Jak zatem można dotrzeć do prawdziwego adresu IP interesującego nas komputera?

Pierwszy sposób polega na użyciu certyfikatów SSL.

Gdy ktoś wchodzi na naszą stronę przy użyciu protokołu https oraz nazwy naszej domeny - zwracany jest mu certyfikat SSL należący do tej domeny.

Certyfikat ten jest również zwracany, gdy wchodzimy na dany serwer przy użyciu adresu IP oraz portu 443.

Wystarczy więc przeskanować wszystkie adresy IP na świecie sprawdzając port 443 każdego z nich.

Jeśli zwróci nam certyfikat z nazwą której poszukiwaliśmy - znaleźliśmy adres.

Skan całego Internetu może jednak trochę potrwać.

Dlatego też warto skorzystać z dostępnych już rozwiązań - na przykład wyszukiwarce Censys - która wykonuje taki skan cały czas i z której zasobów możemy skorzystać.

Inną metodą jest wykorzystanie wyszukiwarki wraz z unikalnym dla danej strony ciągiem znaków.

Może to być na przykład identyfikator Google Analytics.

Jeśli strona nie korzystała z usług WAF od samego początku może się okazać, że któraś z wyszukiwarek zaindeksowała stronę z adresem IP w swoich zasobach.

Atak przy użyciu klawisza TAB

 Atak przy użyciu klawisza TAB

Teraz coś dla wielbicieli linuxów.

Ile razy użyliście klawisza TAB aby wpisywana przez was komenda została automatycznie uzupełniona o brakującą cześć.

A co byś powiedział drogi słuchaczu gdyby okazało się, że dzięki temu można zaatakować Twój komputer?

W jaki sposób? Skrypt bash completion dla komendy umount nie walidował dokładnie nazwy dysków.

Mogły one posiadać w swoim opisie znak grawis - czyli znak, który znajduje się na klawiaturze pod tyldą.

W linuxie jeśli jakiś tekst zawarty jest pomiędzy dwoma takimi znakami - tekst ten zostanie uznany za komendę i wykonany przez system.

Atak polega zatem na stworzeniu pendrive z odpowiednio zmodyfikowaną nazwą wolumenu.

Następnie taki pendrive musi zostać podłączony do komputera a atakowany użytkownik musi użyć komendy umount wraz z klawiszem TAB oraz enter.

Podczas tej akcji złośliwa nazwa zostanie podpowiedziana jako argument do komendy umount.

Oprócz tej komendy wykonana zostanie również nasza dodatkowa zawartość. Oczywiście atak jest trudny do przeprowadzenia w normalnych warunkach.

Ale może dzięki jego znajomości nie będziemy tak szybko wciskać enter po użyciu klawisza tab?

Tryb rodzicielski w Nintendo Switch

 Tryb rodzicielski w Nintendo Switch

Nintendo Switch tak jak każda szanująca się konsola wideo posiada tryb rodzicielski, który pozwala na zablokowanie pewnych funkcjonalności urządzenia wtedy, kiedy korzysta z niego młody użytkownik.

Dzięki temu rodzice mają pełną kontrolę nad tym co może a czego nie może robić dziecko na takim urządzeniu.

Jak zatem działa taka blokada?

Jeśli użytkownik próbuje wykonać jakąś niedozwoloną akcje - proszony jest wówczas o kod pin, ustalony wcześniej przez rodzica.

Co jednak w sytuacji, w której to rodzic zapomina ustalonego wcześniej kodu?

Wtedy rodzic musi wysłać odpowiednie zapytanie do suportu technicznego Nintendo wyjaśniając całą sytuacje oraz podając specyficzny dla danego urządzenia identyfikator.

Obsługa techniczna po przejrzeniu wniosku generuje unikalny kod odblokowujący, który po wpisaniu do urządzenia usuwa ustawioną wcześniej blokadę rodzicielską.

W Internecie znaleźć można stronę, która pozwala na wygenerowanie kodu bez kontaktu z obsługą Nintendo.

Jeśli więc Twoja pociecha gra w gry pomimo tego iż teoretycznie dostęp do nich powinien być zablokowany - już wiesz jak można tego dokonać.

Exploit na noscript

 Exploit na noscript

Firma Zerodium opublikowała ostatnio exploit na rozszerzenie noscript używane w przeglądarce Tor Browser.

Tor to narzędzie pozwalające na przeglądanie Internetu w anonimowy sposób.

W standardowej konfiguracji wyłączone są wszystkie funkcje, które mógłby by w jakikolwiek sposób pomóc zidentyfikować użytkownika, który korzysta z tej sieci.

Stąd też rozszerzenie noscript - które pozwala na wyłączenie obsługi JavaScript w przeglądarce.

Opublikowany błąd jest trywialny w zastosowaniu - wystarczy tylko że strona zwróci kod JavaScript udając że jest on w formacie json używając odpowiednio nagłówka Content-Type.

Noscript pozwoli wtedy na wykonanie takiego kodu. Podatna była wersja 7 przeglądarki Tor Browser.

Można jedynie przypuszczać, że jeśli firma opublikowała publicznie kod exploita to zapewne był on już od dłuższego czasu wykorzystywany przez różne instytucje aby poznać prawdziwą tożsamość użytkowników.

Klonowanie pilotów samochodowych

 Klonowanie pilotów samochodowych

Badacze z Belgii odkryli sposób na sklonowanie pilotów otwierających samochody Tesla model S.

Parę miesięcy temu gorącym tematem w naszym kraju były kradzieże samochodów na tak zwaną walizkę.Urządzenie to służyło za przedłużenie anteny od kluczyka - nie było więc mowy o żadnym klonowaniu kodów.

Tym razem sprawa wygląda inaczej.

Tesla korzystała z kluczyków zewnętrznej firmy Pektron, które używały 40 bitowego szyfrowania.W obecnych czasach takie szyfrowanie nie jest bezpieczne i może być dość szybko złamane.

Aby dodatkowo przyspieszyć cały proces naukowcy stworzyli listę wszystkich możliwych kombinacji - która zmieściła się na pojedynczym dysku twardym.

Aby otworzyć samochód wystarczyło więc podsłuchać transmisję kluczyka, następnie znaleźć odpowiedni kod w kilka sekund przy użyciu naszego dysku twardego i stworzyć kopie kluczyka.

Tesla wprowadziła odpowiednie zabezpieczenie do swoich samochodów.

Teraz przed jego uruchomieniem możemy zostać poproszeni o podanie dodatkowego kodu zabezpieczającego.

Co ciekawe podobne kluczyki są również używane przez firmę McLaren - naukowcy nie byli jednak w stanie potwierdzić, czy są w stanie otworzyć również i ten samochód.

Dane zebrane przez Spotify

 Dane zebrane przez Spotify

Ostatnio ciągle słyszymy rodo tu rodo tam. Sporo serwisów internetowych wprowadziło dodatkową funkcjonalność, która pozwala na pobranie większości danych, które zabrały o nas te serwisy. Usługę taką posiada Google, Facebook czy taż Apple.

Pobranie tych paczek danych może pomóc otworzyć nam oczy na to, jakie informacje są zbierane przez te serwisy i ile tak naprawdę o nas wiedzą.

Funkcjonalność taką posiada również Spotify - czyli serwis służący do strumieniowania muzyki.

Jakie zatem interesujące dane można tam znaleźć?

Zapewne nazwy piosenek które słuchaliśmy razem z dokładną datą i czasem.

Jeden z użytkowników Twitera postanowił dowiedzieć się co tak naprawdę można tam znaleźć.

Rozdzielczość ekranu, miejsca w których pauzujemy piosenki czy też przerywamy ich słuchanie, adresy IP ale także nazwy producentów słuchawek, z których korzystamy podczas używania ich oprogramowania.

Całkiem sporo jak na serwis muzyczny.

Wyciek z aplikacji śledzącej telefony dzieci

 Wyciek z aplikacji śledzącej telefony dzieci

Firma Mspy - producent oprogramowania śledzącego telefony komórkowe dzieci zapomniała zabezpieczyć dostęp do serwera Kibany pozwalając na dowolne przeglądanie ich bazy danych. Zatem tym razem nie tylko rodzice mieli dostęp do zebranych informacji.

To nie pierwszy raz gdy firma ta ma problem związany z wyciekiem danych.

W 2015 w Internecie można było znaleźć bazę danych z informacjami o ponad 400 000 użytkowników.

1 2 3 4 5 6 7 8 9 10