30 marca 2010

Oto pliki PDF zdolne do wykonania dowolnego kodu w systemie Windows

Za jedno z największych zagrożeń dla naszego bezpieczeństwa informatycznego uważamy zazwyczaj luki obecne w popularnych systemach operacyjnych, przeglądarkach internetowych oraz innym oprogramowaniu. Od pewnego czasu w rankingach najbardziej dziurawego oraz najopieszalej łatanego oprogramowania przodują produkty firmy Adobe, a komputerowi przestępcy bardzo chętnie tworzą złośliwe pliki PDF zdolne do wykorzystania znanych luk w przeglądarce Adobe Reader. Okazuje się jednak, że odpowiednio skonstruowany plik PDF jest zdolny do wykonania dowolnego kodu w systemie Windows, bez wykorzystania jakiejkolwiek luki w oprogramowaniu i to zarówno z poziomu Adobe Readera, jak i jego popularnego konkurenta Foxit Readera...

Didier Stevens zaprezentował na swym blogu nowatorską metodę ataku z wykorzystaniem odpowiednio spreparowanego pliku PDF. Okazuje się, że w wyniku najzwyklejszego otwarciu pliku PDF, możliwe jest automatyczne zainicjowanie wykonania zawartego w nim pliku EXE! Stevens zarejestrował działanie przygotowanego na tę okazję pliku PoC. W programie Adobe Reader wygląda to następująco:



Jak widać program firmy Adobe przed uruchomieniem potencjalnie niebezpiecznego kodu wyświetla ostrzeżenie. Treść komunikatu może jednak zostać zmodyfikowana przez twórcę pliku, co otwiera drogę przed kreatywnymi intruzami, którzy mogą za pomocą podstępnej treści zachęcić ofiarę do wybrania opcji zezwalającej na dalsze wykonanie:
Jeszcze ciekawiej potencjalny atak wygląda w przypadku otwarcia takiego pliku w innym popularnym programie (Foxit Reader). Powszechnie chwalony (między innymi za brak luk, jakimi obarczony jest Adobe Reader) zamiennik Adobe Readera nie wyświetla nawet jakiegokolwiek ostrzeżenia, od razu wykonując ukryty plik wykonywalny:
Plik PDF pozwalający na uruchomienie zawartego w nim kodu wykonywalnego nie został jeszcze przez Stevensa opublikowany (został jednak przekazany do dyspozycji Adobe Product Security Incident Response Team). Już dziś możemy się jednak zapoznać z podobnym plikiem zdolnym do uruchomienia programu cmd.exe. Każdy może więc już dziś przetestować podatność swojego oprogramowania na tego rodzaju atak.

Plik demonstrujący możliwości ataku działa zarówno z najnowszą wersją Adobe Readera (9.3.1), jak i Foxit Readera (3.2). Jak twierdzi sam odkrywca nowego zagrożenia, zamknięcie luki będzie niezwykle trudne, ponieważ atak właściwie żadnej luki nie wykorzystuje, a stanowi jedynie zręczne wykorzystanie możliwości języka opisu plików PDF. Przed udanym atakiem nie uchroni nas również wyłączenie w przeglądarkach plików PDF obsługi technologii JavaScript (takie postępowanie mogło nas uchronić między innymi przed atakami wykorzystującymi słynną lukę CVE-2009-4324 w programach firmy Adobe). Nie istnieje więc nawet żadne tymczasowe rozwiązanie problemu.

Ataki z wykorzystaniem popularnych i zazwyczaj bez obaw otwieranych przez internautów plików PDF stają się więc systematycznie coraz większym zagrożeniem. Powyższa metoda, ze względu na swą specyfikę (wykonanie w docelowym systemie dowolnego kodu, wykorzystanie nieprzewidzianych możliwości, a nie luki w oprogramowaniu) będzie z pewnością niezwykle atrakcyjna dla komputerowych przestępców. Pytanie tylko kiedy możemy się spodziewać nowej fali złośliwych plików PDF i jak się przed nią obronić?

Komentarze (29)

Wczytywanie... Logowanie...
  • Zalogowany jako
Foxit Reader 3.2.0.0303 odpalił cmd.exe.
Jednak Sunbelt Personal Firewall zapytał czy na pewno odpalić.
Kiedyś wypuścili na swf. Teraz pdf.
Niebawem java, silver$hit, zip, rar.
Firewall daje radę. Antywirusy są bez sensu.
3 odpowiedzi · aktywny 783 tygodni temu
To ciekawe, a jaki był komunikat (co takiego wykrył Twój Firewall)? Bo przecież ten plik testowy nie generuje żadnego ruchu sieciowego?
Pojawił się komunikat, że aplikacja Foxit Reader uruchamia aplikację cmd.exe . Comodo Internet Security czy firewall od PC Tools (chyba dwa najskuteczniejsze firewalle, przynajmniej patrząc na testy) również mają takie coś.
Java...
Może niebawem i C++ oraz Delphi?
Nie pracujcie na prawach admina a wiele złego wam taki plik nie zrobi.
Nie chcę wywoływać flame-war, ale na linuxie (Ubuntu) testowy pdf otworzył się bez niespodzianek. Oczywiście nie spodziewałem się, że uruchomi mi cmd.exe ;), ale liczyłem chociaż na jakiś błąd.
2 odpowiedzi · aktywny 783 tygodni temu
Oczywiście nie chcemy flame-wara, ale Didier Stevens zapowiedział już, że zaczyna prace nad wersją ataku dla Linuksa... http://twitter.com/DidierStevens/status/113477419... prawdopodobnie niedługo więc pojawi się również odpowiedni PoC.
w sieci krążył już podobny pdf który odpalał kalkulator pod wszystkie systemy w zależności czy to Linux/Win/Mac. Poza tym już w komentarzach rozpracowali co ma być w PDFie by użytkownik zobaczył właśnie taki tekst.

PDFa można łatwo zmodyfikować gdyż jest to plik tekstowy
Wystarczy mieć Comodo Internet Security z włączoną darmową opcją Defense+ i nic sie nie odpali bez Twojej zgody :)

Pozdrawiam ;)
...
3 odpowiedzi · aktywny 783 tygodni temu
Nie używam Comodo, ale rozumiem, że jest to coś w stylu wykrywania nieznanych do tej pory aplikacji (czyli coś w rodzaju systemu HIPS)? Otóż niewielu użytkowników korzysta z tego typu rozwiązań, a jeśli już mają coś takiego w systemie, to zazwyczaj klikają opcję "nigdy więcej już mnie o nic nie pytaj - zawsze sam pozwalaj", gdyż denerwują ich ciągłe prośby o przyzwolenie na uruchomienie każdego programu...
U mnie Comodo nie było przeszkodą (Defense+ aktywne). cmd.exe uruchomił się bez żadnych problemów :/
Wejdz w zasady bezpieczenstwa komputera i w zakladce wszystkie aplikacje zdefdiniuj program uruchamiajacy pdf
U mnie też Sunbelt dał radę
A u mnie pojawiło się przyzwoite ostrzeżenie, wraz ze ścieżką do uruchamianego programu.
Screen: http://www.fotosik.pl/pokaz_obrazek/pelny/68181d3...

Pozdro
Adobe Acrobat 8 (nie reader) informuje mnie, że z plikiem pdf jest powiązane odpalenia cmd.exe. Jak na razie to najtrafniejszy komunikat.
Adobe Acrobat 6.0 : Wystąpił błąd podczas otwierania tego dokumentu. Plik jest uszkodzony i nie mógł być naprawiony.
NIE OTWIERA PLIKU
Adobe Reader 9.2: Komunikat taki jak na screenie z artykułu.
OTWIERA PO ZATWIERDZENIU
A na sevenie 64bit też działa? Bo tu jest pokazany xp.
1 odpowiedź · aktywny 783 tygodni temu
Przetestuj i daj nam znać :). Na 32-bitowym Win 7 działa.
A u mnie na foxit 1.3 otworzyl dokument bez bledu i nie odpalil cmd.exe.
WinXp na prawach admina.
Polecam starsze wersje foxita, mniejsze, szybsze i jak widac odporne.
Windows 7 Home Premium 64-bit + Kaspersky Internet Security 9.0.0.736 + Foxit Reader 3.2.0.0303 = wszystko działa, tak jak w artykule.
Na Linuchu się nic nie odpala. Po prostu wyświetla się pdf. I już.
Dlatego do przeglądania PDF-ów¹ najlepiej używać przeglądarek Google Viewer² lub STDU Viewer³.

¹ http://grzglo.jogger.pl/2009/10/21/przeglad-lekki...
² http://labs.google.com/gviewer.html
³ http://www.stdutility.com/download.html
Bardzo łatwo się edytuje ten pdf, udało mi się podstawić uruchamianie strony (http://)

http://tnij.org/pdf-test-link
Działający link http://tnij.org/pdf-http
mi avg nic nie wykrył oczywiście, ale pojawiło mi się takie coś: http://img132.imageshack.us/img132/2397/helloworl...
U mnie też bez problemu się otwiera Ciekawy jestem czy jak dało się cmd uruchomić to czy możemy wpisać tam polecenie takie jak "net user Administrator * " i zmienic hasło na admin
a ja mam sumatrapdf i żaden plik się nie otworzył...
"A u mnie na foxit 1.3 otworzyl dokument bez bledu i nie odpalil cmd.exe.
WinXp na prawach admina.
Polecam starsze wersje foxita, mniejsze, szybsze i jak widac odporne."

Potwierdzam, Foxit Reader 1.3 odporny.
Właśnie wyszła nowa wersja Foxit Reader 3.2.1.0401 i w momencie uruchamiania pliku wyświetla odpowiedni komunikat.

Wyślij nowy komentarz

Comments by