Przeczytałem niedawno wpis w jednym blogu i chciałbym się podzielić kilkoma spostrzeżeniami oraz przemyśleniami, które były skutkiem lektury.
Pomysł jest nienowy, ale wydaje się interesujący: uruchomić niezabezpieczoną bezprzewodową sieć z dostępem do internetu i atakować podłączających się do niej klientów. Pomysł jest piękny w swojej prostocie ;-). Kto nie skorzysta z sieci za darmo? Myślę, że nawet osobnicy z wysokim poziomem paranoi daliby się złapać na wabik. W dobie technologii mobilnych i miniaturyzacji taka idea jest nawet całkiem realna.
Teraz bardziej mroczna część rozważań. Zastanówmy się nad kilkoma skutkami ubocznymi takiego – teoretycznie – darmowego połączenia. W co można podstępnie wciągnąć użytkownika posiadając całkowitą kontrolę nad bramą zapewniającą dostęp do internetu?
Możliwości widzę kilka:
- oczywisty i banalny sniffing haseł fruwających czystym tekstem (tak, w dalszym ciągu są jeszcze ludzie, którzy jeszcze nie odkryli SSLa),
- mniej oczywisty atak przy wykorzystaniu transparentnego proxy, o którym za moment,
- ataki phishingowe,
- dalsze zarażanie innych.
Zapoznawanie Czytelnika z metodologią działania tak antycznego narzędzia jak sniffery raczej mija się z celem tym bardziej, że podobnych opisów było już setki i do tego lata temu ;-).
Znacznie ciekawszym przykładem zaatakowania użytkownika jest próba wyeksploitowania systemu przy wykorzystaniu przeglądarki stron www. Nawet jeżeli mamy do czynienia z użytkownikiem, który przegląda zbiór zawsze tych samych stron www, atak się powiedzie. Użytkownik taki, jak by nie był wyedukowany i tak dostanie się pod niewidzialny toporek. Siła leży tym razem w metodologii przeprowadzenia ataku.
Cała akcja mogłaby przebiegać na przykład tak. Na routerze napastnika stoi transparentne proxy www (np. ogólnie znany i stosowany Squid). Bez najmniejszego problemu da się klientowi przechodzącemu przez niego wstrzykiwać własny kod html pomiędzy requesty o kolejne strony www (jest gotowy skrypt). Przy próbie wejścia na dowolną stronę www (przypomnijmy tylko, że użytkownik nie odwiedza podejrzanych stron, ponieważ jest doskonale wyedukowany i boi się złych hakerów) napastnik wstrzykuje własnego HTMLa, w którym będzie IFRAME, który przeprowadzi atak. Jeżeli się uda, klient dołącza do bardzo specyficznego community…
Kolejnym sposobem ataku na klienta jest bardzo standardowy phishing. W końcu napastnik kontroluje także dnsy. Uważny czytelnik powinien zauważyć, że użytkownik może mieć przecież wpisane własne dnsy. Takiemu czytelnikowi zalecam zapoznanie się z pakietem dsniff ;-).
Tutaj jest akurat prosto, zamiast strony banku czy innej usługi w sieci, podstawiamy własną i czekamy aż pan klient się zaloguje, za pierwszym razem wyświetlając komunikat o błędnym haśle, za drugim – przekierowując na stronę banku. Jeżeli hasło nie jest maskowane, możemy sobie popatrzeć, co tam pan klient robi na koncie, ile zarabia, ile wydaje, jakie płaci rachunki, a potem np. wysłać mu pozdrowienia literami wyciętymi z gazety. Albo jeżeli pan klient ma konto w mBanku, przelać całą jego wypłatę na konto elektrowni (przelew zdefiniowany nie wymaga potwierdzenia kodem).
Wracając do głównego tematu, jesteśmy akurat w momencie, gdy pan klient został zainfekowany. Co dalej? Zapewne zabierze laptopa i wróci do domu. Może zarazi jeszcze kogoś? Może potem zabierze laptopa do pracy i wepnie do sieci korporacyjnej? A może do sieci w małej firmie? Na pewno na tej jednej infekcji się nie skończy. A potem będziemy czytać więcej postów podobnych do tego..
Oczywiście minusem takiego rozwiązania jest konieczność postawienia fałszywego access pointa z dostępem do sieci. Ten problem jest stosunkowo prosty do obejścia. Kupujemy sobie nielimitowany internet z komórki (UMTS czy HSDPA zapewniają całkiem przyjemną szybkość), access pointa i odpowiednio przygotowany router (najlepiej taki na routerboardzie – bo mały) chowamy do torby i ruszamy w teren. Możemy zrobić stanowisko nasłuchujące w samochodzie (bo tam mamy prąd i dodatkowo można szybko odjechać ;-) ) albo usiąść w knajpie, gdzie można się wpiąć do gniazdka z prądem (a coraz więcej miejsc z HotSpotem posiada także i prąd). Całkiem interesujący punkt to lotnisko albo okolice drogich hoteli dla managerów wszelkiej maści (tylko trzebaby odrobinę wzmocnić sygnał).
Jak się bronić przed takimi atakami? Standardowa mantra bezpieczeństwa… korzystaj z SSLa, sprawdzaj certyfikaty, nie chodź po dziwnych stronach, nie klikaj podejrzanych linków, aktualizuj swój system, zainstaluj anty-wirusa, zmieniaj hasła, myśl i nie ufaj, zwracaj uwagę na anomalie…
W prezentowanym teoretycznym przypadku można się całkiem porządnie naciąć. Ataku na przeglądarkę nie da się uniknąć ponieważ strony www to podstawowy sposób zdobywania informacji w sieci. Tutaj tylko pozostaje mieć nadzieję, że napastnik nie będzie posiadał wiedzy o niepublikowanych lukach bezpieczeństwa ;-). Próba sprawdzenia poczty po sslu powinna się skończyć komunikatem o błędnym certyfikacie, którego nie powinniśmy nawykowo „odkliknąć”. Przed phishingiem powinien nas ostrzegać zdrowy rozsądek oraz narzędzia w popularnych przeglądarkach.
Przed „dołączeniem” do botnetu antywirus raczej nas nie powstrzyma, ale zawsze warto go mieć, może heurystyka coś jednak zauważy albo aktualizacja definicji jednak złapie malware albo chociaż jakieś jego pozostałości. Tutaj od razu chciałbym ostudzić fanatycznych zwolenników alternatywnych systemów operacyjnych. To, że na Linuxa nie ma wirusów (w windowsowym rozumieniu tego pojęcia) nie oznacza, że nie należy uważać. System spod znaku pingwina staje się coraz bardziej popularny i tylko patrzeć, jak czarny rynek zauważy nieeksplorowaną niszę czekającą na wykorzystanie. A sposób eksploitowania będzie oczywiście dopasowany do specyfiki systemu, najpierw konto lokalne, potem eskalacja do roota, potem jakiś rootkit. A na koniec zostanie już tylko .adv.start asn 100 4 0 -r -b -s
Jeden komentarz do
14 kwietnia, 2008 o godzinie 19:58
Nie wiem dlaczego ale lubię takie wpisy :).