8:00
7/4/2010

Ciekawa dziura w PDF – przykład ataku

Poniżej zamieszczamy przykładowy plik PDF, który atakuje nie tylko Acrobat Readera, ale także alternatywny program: Foxit Reader. Dzięki tej luce, atakujący może odpalić dowolny program na komputerze ofiary. Jak to możliwe?

Dziura w PDF

Złośliwy plik PDF korzysta ze standardowych funkcji wchodzących w skład specyfikacji formatu PDF (/Launch /Action). W skrócie, funkcje te pozwalają na odpalenie umieszczonego w PDF-ie kodu wykonywalnego. Czytnik PDF powinien co prawda zapytać użytkownika o zgodę na uruchomienie zagnieżdżonego w PDF-ie programu, ale okno dialogowe z pytaniem można lekko przeprojektować, wprowadzając użytkownika w błąd:

Ciekawy komunikat, ale większość i tak z rozpędu kliknie na Open ;)

I znów potwierdza się reguła, że to człowiek jest najsłabszym ogniwem w łańcuchu bezpieczeństwa…

Co ciekawe, Foxit Reader uważany za bezpieczniejszą alternatywę dla Acrobat Readera w ogóle nie pokaże ostrzeżenia, od razu uruchamiając plik. Warto również zauważyć, że w przeciwieństwie do wielu “dziur” w PDF, tym razem wyłączenie wykonywania JavaScriptu nie pomoże.

PDF Exploit w akcji

Przykład PDF-a, który po otworzeniu uruchomi plik cmd.exe na komuterze użytkownika można pobrać stąd. Poniżej video prezentujące exploit w akcji:

Adobe jeszcze nie zareagowało, Foxit natomiast wypuścił nową wersję swojego czytnika, która dodaje ostrzeżenie o próbie uruchomienia zagnieżdżonego w PDF-ie kodu.

Ktoś jeszcze twierdzi, że PDF to “bezpieczny” format? :-)

Aktualizacja 7.04.2010, 15:58
Adobe pokazuje jak można zminimalizować ryzyko poprzez odpowiednie ustawienia w rejestrze systemu Windows.

Przeczytaj także:

22 komentarzy

Dodaj komentarz
  1. U mnie nie działa ;-P ;-D. Kubuntu 9.10 amd64 i otworzyłem w Okularze. Tak więc tak, pdf to w tym wypadku bezpieczny format ;-).

  2. Nie chcę Ci przerywać chwili zwycięstwa, ale ten pdf jest wymierzony w Windows (cmd.exe) ;)
    No a tak poważnie ciekawe czy jest gdzieś pdf odpalający bash ?

    P.S. xpdf ani też wyżej okular nie wyrzuca żadnego komunikatu, czyżby poziom zabezpieczeń był jak w Foxit Reader czy po prostu nie obsługują tych funkcji ?

    Pozdrawiam

  3. Czy uważasz że jeśli specyfikacja udostępnia wykonywanie wbudowanego kodu to jest to zła specyfikacja? A może wina leży w obsłudze tego formatu (specyfikacji).
    Słabym ogniwem w tym przypadku jest też klient obsługujący format PDF.

    • @me_zola: sama specyfikacja nie pozwala tak łatwo uruchamiać zewnętrznych plików. Didier oprócz odpowiedniej instrukcji do wykonywania dołączonego do PDF-a kodu użył innych technik (nieopisanych w szczegółach), aby móc uruchomić binarkę.

  4. U mnie Acrobat Reader ostrzega o próbie uruchomienia cmd.exe, zaś Sumatra milczy. I właśnie się zastanawiam, czy pozwoliła odpalić binarkę w tle, czy po prostu na to nie pozwala…

  5. @Cyber Killer,
    bardzo łatwo można zrobić pdfa na inne systemy:
    patrz -> http://seclabs.org/fred/docs/sstic09/samples/actions/launch/calc.pdf

    Didier dodał swój kod który odczytuje z pamięci pliki schowane w pdfie i później je uruchamia. Dzięki temu tylko pdf wystarczy by zarazić ofiare.

  6. Sumatara AFAIR w ogóle nie implementuje akcji /Launch (podobnie jak i Okular)

  7. […] że atak zbiega się z niedawno upublicznionym, bardzo ciekawym błędem w plikach PDF, do wykorzystania którego nie potrzeba żadnego exploitu… CERT udziela porad jak walczyć z […]

  8. PDF-XChange Viewer: Ostrzeżenie + “nie można wykonać działania ‘open’ dla ‘D:\cmd.exe'”

  9. @Piotr Konieczny:
    Nie wiem, czy o tej samej Sumatrze mówimy. Ja korzystam z tej:
    http://blog.kowalczyk.info/software/sumatrapdf/index.html

  10. U mnie na pozostalych przegladarkach:
    Sumatra PDF v1.0.1 – otwiera, bez ostrzezenia i bez uruchomienia cmd.exe
    PDF-XChange Viewer v2.0 – otwiera z ostrzezeniem o probie uruchomienia cmd.exe
    Cool PDF Reader v. 3.0.0.128 – w ogole nie otwiera pliku PDF

  11. Przeterminowane. Foxit właśnie wypuścił poprawkę. Co się tyczy lnx:
    http://www.cam.ctan.org/tex-archive/macros/latex/contrib/vpe/vpe.txt

  12. Ktoś jeszcze twierdzi, że PDF to “bezpieczny” format? :-)

    Eee, to są jeszcze tacy w ogóle?

    Mam jeszcze starego Foxita, więc potwierdzam: działa. I to na koncie usera. Ściągam zaraz nowego Foxita.

  13. A może doprecyzujmy zakres, na czym działa a na czym nie? U mnie *stary* Foxit Reader 1.3 @ WinXP, konto administratora – nothing happened, dokument się otwiera, nic ponadto się nie dzieje, lista procesów czysta (bez cmd.exe).

  14. firewall wyłapuje wszystko, jak zezwolę readerowi odpalić cmd to i tak firewall wskazuje mi dokładnie co chce on zrobić i pyta, czy mu zezwolić na odpalenie (i tu pełno informacji). Tak więc nawet gdybym miał tego foxit readera to i tak firewall zapytałby mnie o zgodę.

  15. Evince pod Debianem wyświetla tylko pięknego Hello World’a (tak, tak, wiem że to wymierzone w Windowsa).

  16. co wy chcecie, macie cmd.exe na linuksach, czy nie? jak nie to skąd te pytania?

  17. Czyli do używania djvu, a do ataków pdf.
    Muszę sobie znaleźć jakiś automatyczny konwerter powyższych jako wtyczkę do ff.

  18. Informacja na stronie pojawila sie 4 lipca a juz 29 czerwca Adobe poprawila tego buga:

    http://www.adobe.com/support/security/bulletins/apsb10-15.html

    Od wersji 9.3.3 ten problem nie wystepuje.

  19. Sins: 7-mego kwietnia się pojawiła, nie 4 lipca… i DOPIERO (a nie “a już”) 29 czerwca (po 2 mcach) została załatana. W Polsce daty czytamy po polsku, a nie po amerykańsku ;)

  20. Za bardzo jestem przyzwyczajony do tej drugiej pisowni dat – moj blad.

    Ale glownie chodzilo mi o to ze obecnie jest to poprawione.

  21. A sprawdzałem sobie po latach , czy czasem Adobe X nie odziedziczył czegoś po przodkach. http://i46.tinypic.com/k2l9qf.jpg tego nie odziedziczył ;p

Twój komentarz

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

RSS dla komentarzy: