12:05
27/8/2010

Czegoś takiego dawno nie widzieliśmy. Dziennie publikowanych jest po kilkadziesiąt exploitów na najpopularniejsze Windowsowe programy (m.in. Skype, Firefox, Office, VLC, uTorrent, PuTTY, Wireshark, Winamp). Wygląda na to, że prawie każda aplikacja pod Windows jest podatna na atak — i teraz najlepsze: ich wersje w ogóle nie mają znaczenia :-)

Atak DLL Preloading

Exploity powstają w wyniku błędu projektowego w Windows, a nie konkretnych błędów w poszczególnych aplikacjach.

Otóż, DLL, czyli dynamicznie dołączane biblioteki w Windows działają tak, że jeśli aplikacja chce załadować jakąś bibliotekę i nie poda do niej pełnej ścieżki, to rozpoczyna się proces poszukiwania biblioteki w kilku miejscach (m.in. zmienna $PATH, C:\Windows\system, C:\Windows\system32) oraz — i to jest kluczowe — …CWD (ang. Current Work Directory), czyli katalog, który aplikacja ustawia sobie jako roboczy, a w większości przypadków będzie nim miejsce, gdzie zlokalizowany jest uruchamiany przez aplikację plik (film, zdjęcie, mp3).

Na błąd natknęli się praktycznie niezależnie (i jednocześnie) HD Moore, badający ostatnie exploity .LNK oraz słoweńska grupa ACROS, która tego typu podatność znalazła w produkcie iTunes.

Windows Binary Planting – scenariusz ataku

  1. Atakujący tworzy złośliwą bibliotekę DLL oraz jakikolwiek plik, który będzie zachęcał do kliknięcia (np. gracjan_spiewa.mp3) i wystawia go via SMB/WebDav lub podrzuca ofierze na pendrive.
  2. Ofiara zachęcona przez atakującego, otwiera podstawioną .mp3, a player zaczyna szukać DLL-ki, którą musi załadować …i znajduje ją (a raczej jej zespoofowaną, złośliwą instancję) w lokalnym katalogu.
  3. Złośliwa DLL-ka przejmuje kontrolę nad aplikacją. Może teraz np. ztunelować shell (cmd.exe) do zdalnej lokalizacji, oddając kontrolę nad maszyną ofiary w ręce atakującego

Poniżej wizualizacja ataku przy wykorzystaniu metasploita:

KB: “Cholera, tego błędu nie naprawimy!”

Ponieważ DLL preloading w obecnej formie to raczej windowsowy feature a nie bug programistyczny, nie da się go usunąć za pomocą zwyczajnego “patcha”. Tak więc mimo, że wina nie leży po stronie twórców aplikacji (a może leży? Jak w komentarzu zauważa Krzysiek, programiści powinni czytać ze zrozumieniem dokumentację, w której opisany jest algorytm poszukiwania DLL), wydaje się, że to oni będą musieli wprowadzić poprawki do każdego programu z osobna, modyfikując sposób poszukiwania DLL-ek…

Przed atakami “z zewnątrz”, użytkownicy Widnows mogą się zabezpieczyć blokując wychodzące połączenia SMB (TCP: 139, 445) i wyłączając obsługę WebDAV — i pamiętajcie o błędzie, kiedy będziecie otwierać pliki z czyjegoś pendrive’a (lepiej skopiować sam plik na swój dysk, do pustego katalogu i dopiero wtedy odpalić).

Jak w komentarzu zauważa Paweł Goleń, dla systemów Windows XP (i wyżej) Microsoft dodał klucz CWDIllegalInDllSearch, przy pomocy którego można zmienić sposób poszukiwania DLL-ek.

DLLHijackAuditKit znajdzie podatne na atak aplikacje

HD Moore przygotował program DLLHijackAuditKit, który sprawdza system pod kątem podatnych na atak aplikacji, generuje raport oraz buduje exploity typu Proof-of-Concept dla każdej podatnej na atak aplikacji znalezionej w systemie.

Dodatkowo, “złośliwe” dllki można generować za pomocą metasploita:
msfpayload windows/exec CMD=calc.exe D > test.dll

Mocne, nie? Funkcja systemu dostępna od zawsze, a na pomysł zdalnego ataku z jej wykorzystaniem ktoś wpadł dopiero teraz…

Przeczytaj także:

66 komentarzy

Dodaj komentarz
  1. Pozwolę sobie subtelnie zwrócić uwagę na “A new CWDIllegalInDllSearch registry entry is available to control the DLL search path algorithm” http://support.microsoft.com/kb/2264107
    Dostępne od XP w górę.

  2. Fajne fajne :) Imho nic nowego nie zostało odkryte ;p

  3. Nie programuję pod Windowsa, ale z tego co wiem, to ten ‘feature’ jest w dokumentacji – więc dlaczego “nie jest to błąd programistów”, skoro o takiej funkcjonalności mogli się, i powinni, dowiedzieć? Takie RTFM.

    • @Krzysztof: W zasadzie masz rację. Programiści powinni czytać FM — teraz przynamniej wiemy, kto tego nie robi ;)

    • A do jakiej biblioteki będą się odwoływać wszystkie statycznie zlinkowane biblioteki? Do której funkcji GetProcAddress (z której biblioteki) otrzymasz wskaźnik po uruchomieniu aplikacji? Czy nie da się tak podłożyć uruchamianej aplikacji innej kernel32.dll?

  4. Czyli Windows najpierw szuka w katalogu z otwieranym plikiem, a dopiero później w katalogu aplikacji? Rzeczywiście fail. ;)

  5. Moze zle zrozumialem przeslanie wpisu ale ten blad jest znany od bardzo bardzo dawna.

    • Grzonu — jest, o czym świadczy m.in. podlinkowany tutaj tekst Gyna, który został napisany już jakiś czas temu ;) Szkopuł tkwi w tym, że dopiero teraz ktoś wystarczająco głośno to powiedział, powstały narzędzia automatyzujące atak i narzędzia pomagające się przed nim chronić.

  6. Rzecz chyba była znana od dłuższego czasu wśród twórców malware’u, tylko nikt głośno o tym nie powiedział. Dziwię się, że mądrzy ludzie w korporacjach wpadli na to dopiero teraz.

  7. DLL Search Order jest udokumentowany w MSDN: http://msdn.microsoft.com/en-us/library/ms682586%28v=VS.85%29.aspx. Od dawna istnieje też klucz SafeDllSearchMode pozwalający zmienić kolejność wyszukiwania bibliotek. I zgadzam się z Krzyśkiem: RTFM. Inna sprawa, że domyślna konfiguracja rzeczywiście zwiększa prawdopodobieństwo wystąpienia błędu.

  8. Chyba że wypuszczą “very special patch” blokujacy dll’ki wszelakiego rodzaju ^^

  9. “Safe DLL search mode is enabled by default starting with Windows XP with SP2.”

  10. Nie zgadzam się z powyższymi “błąd jest znany od dawna”. Prosta sprawa: jeśli jest to znane od dawna, to czemu nikt tego nie wykorzystał do tej pory?

    Znany od dawna jest DLL spoofing. I nie jest to błąd, tylko technika – specyficzne zachowanie Windowsa, udokumentowane zresztą. Był używany już np. do exploitacji carpet bombingu (ściąganie plików przez web-browser bez potwierdzenie przez usera), do tworzenia backdoorów, czy do tworzenia softu przez researcherów (API sniffery, etc). Ale była to zawsze technika LOKALNA.

    Znane również było to, że Windows natywnie obsługuje pliki dostępne via “udostępnienia plików”, czyli SMB, etc.

    Znane również było to, że jeśli aplikacja X jest uruchamiana do obsługi formatu Y, to przy odpaleniu jej CWD jest ustawiane na katalog w którym jest Y.

    Ale nie było znane połączenia wszystkich 3ch powyższy, tj. udostępnienia via SMB/etc pliku Y, wrzucenie w ten sam udostępniony katalog nie-systemowej DLLki z której korzysta aplikacja, i nakłonienie usera do uruchomienia Y przez udostępnienie sieciowe.

    Zauważcie, że łącząc 3 powyższe dostajemy zupełnie nową ZDALNĄ klasę ataków, która nigdy wcześniej nie została opisana, czy choćby nawet wykorzystana.
    Więc nie, nie był to “błąd znany od dawna” :)

    HD Moore wykonał naprawdę kawał dobrej roboty znajdując taką ścieżkę ataku i udowadniając, że atak da się wykonać, i że podatne jest na niego masa aplikacji (jeśli aplikacja zabezpieczyła się przed DLL spoofingiem (a idzie ;>) to nie jest również podatna na ten atak, więc skoro było możliwe zabezpieczenie się, to podatne są aplikacje). I imo nie należy odbierać mu zasługi w tym względzie ;)

  11. To jeszcze gwoli ścisłości: wskazówki, które programiści mieli, a z których nie skorzystali (przynajmniej nie wszyscy): http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx

  12. Żadnym specem nie jestem ale ta luka w bezpieczeństwie jest znana już od daty powstania Linux’a. W linuxie programy nigdy nie korzystają z bibliotek dynamicznych w CWD co od zawsze przez projektantów było tłumaczone kwestiami bezpieczeństwa.

    Ten bug to odkrycie tylko dla użytkowników windows.

  13. Non nova, sed nove.

  14. @Gynvael: W zasadzie chyba najlepszym rozwiązaniem jest stwierdzenie, że “błąd” był znany od dawna (piszę “błąd”, bo jest to udokumentowane zachowanie systemu), wskazany został natomiast nowy wektor ataku pozwalający na atak zdalny. I tu chyba nikt zasług nie zamierza odbierać :)

  15. @gyn

    Zgodzę się, nowe tutaj jest połączenie luk, ale czy nie zostało już wcześniej przez kogoś wykorzystane – tego nie wiadomo niestety.

    Nota bene kolejny raz okazuje się że błąd projektowy (aka dziwny feature) + beztroscy programiści = security fail. Tym razem na dość dużą skalę (choć, szczerze, sądzę że w praktyce te ataki nie będą takie powszechne, jednak potrzeba jakiegoś WebDAVa/SMB, a to znacznie zmniejsza zasięg).

    • Krzysztof: WebDAV/SMB zmniejsza zasięg, ale pendrive? Wystarczy wspomnieć ostatnie ataki ze “skrótami do cpl”, czy popularność inncych autorun.inf’owego malware’u. Jestem bardzo ciekaw, czy ta luka^W^Wten wektor ataku będzie się rozprzestrzeniał przez zewnętrzne dyski USB.

  16. @Paweł
    Jeśli mówimy o “błędzie” wg. Twojej definicji, to się z Tobą zgadzam :)

    @Krzysztof Kotowicz
    Nic dodać, nic ująć :)
    Ad błąd projektowy – ten ostatni “błąd” znaleziony/wyexploitowany przez Rafała z ITL w Linuxie/Xach też był genialny :)

    @warlock24
    Ahh, thread o Windowsie, pojawia się Linux :) Brakuje jeszcze tylko pewnej historycznej postaci i Prawo Godwina będzie w pełni wyczerpane :)
    Co do Twojej wypowiedzi – jak pisałem wcześniej, DLL spoofing do którego “pijesz” jest tylko 1/3 tego ataku i również nie jest on nowy. Patrz mój poprzedni komentarz :)

  17. Przecież te “bugi” są śmieszne
    Jeżeli do powodzenia ataku musi być spełnionych tyle warunków
    np w przypadku skype
    Ofiara zależnie od typu procesora musi ótworzyć odpowiedni folder
    po czym umieścić w nim plik DLL !~!! . Przecież to non sens
    jeśli koleś nie wie co to DLL to napewno nie będzie wiedział jaki ma processor
    po za tym jeśli nabrał by się na fake DLL to takiej osobie równie dobrze można
    wepchnąć *.pif ,*.scr lub *.bat
    Już soebie wyobrażam przebieg tych spektakularnych ataków
    “Cześć jestem Ania mam 12 lat szukam koleżanek i kolegów
    Przesyłam ci moje zdjęcie w pliku ania.dll a ty umieść je na dysku C:\ – hej jaki masz właściwie procesor ??”
    – 32 bitowy
    O super to zdjęcie umieść w katalog C:\kupaX86\ania.dll
    a następnie włącz skype
    Jeśli ci się podobam to prześli mi swoje :D”
    Te bugi są żenujące kompromitują ich autorów
    jak buhtraq który to publikuje

  18. W taki sposób można podmienić
    dowolną bibliotekę w dowolnej aplikacji jeśli się umie je napisać
    to się nazywa Dll Hell
    i jest stare jak …
    Publikowanie tego typu badziewia to żenua

  19. Moment… Może jestem trochę zamotany (w końcu to piątek i kilka szalonych dni pracy za mną), ale czegoś nie rozumiem. W podanym gdzieś wyżej linku widać:

    If SafeDllSearchMode is enabled, the search order is as follows:
    1. The directory from which the application loaded.
    2. The system directory.
    3. (…)

    If SafeDllSearchMode is disabled, the search order is as follows:
    1. The directory from which the application loaded.
    2. The current directory.
    3. (…)

    Czym jest katalog z którego załadowano aplikację w kontekście Windowsów? Bo jeżeli jest to katalog w którym leży dwu-kliknięta mp3-jka, to niezależnie od ustawień flagi SafeDllSearchMode i tak na początku szukamy dll-ki w tym właśnie katalogu.

    No chyba, że to “current directory” jest tym, w którym leży dwu-kliknięty plik… Ale w takim razie czym jest “directory from which the application loaded”?

  20. “wystawia go via SMB/WebDav lub podrzuca ofierze na pendrive. ”
    No no ;>

  21. @Iwonka: O ile mi wiadomo pojęcie DLL Hell odnosi się do kilku co najmniej paru zjawisk, ale pierwszo słyszę, by określało również to, o którym piszesz (“podmienić dowolną bibliotekę w dowolnej aplikacji”).

  22. to nie zadna nowosc, jest to wykorzystywane od nastu lat przez wszelkiej masci programy szpiegujace [ adware ] jak rowniez co najmniej od 3 lat przez tzw , fakeAV
    sezon ogorkowy trwa nadal czy co ?

  23. IMHO to błąd programistów a nie windowsa, na pociechę zostaje to że programiści wzięli się do roboty i już można pobrać poprawione wersje aplikacji np. vlc

  24. Widac, ze od czasu exploitów na pliki lnk ludzie zaczeli sie interesowac co Windows ładuje i w jakim celu. Mysle ze nie bedziemy musieli czekac dlugo, az pojawi sie jakis nowy pomysl, bardzo mozliwe ze juz cos nowego hula in the wild.

  25. @Piotr Konieczny: szkop_u_ł

  26. @Śmiecho:
    “The directory from which the application loaded” – katalog, w którym znajduje się aplikacja służąca do otwarcia dwumlaśniętej ikonki, np. “c:\program files\aplikacja”
    “The current directory” – katalog, w którym znajduje się klikany plik.

  27. “””Przecież te “bugi” są śmieszne
    Jeżeli do powodzenia ataku musi być spełnionych tyle warunków
    np w przypadku skype
    Ofiara zależnie od typu procesora musi ótworzyć [UTWORZYĆ] odpowiedni folder
    po czym umieścić w nim plik DLL !~!! . Przecież to non sens [NONSENS]
    jeśli koleś nie wie co to DLL to napewno nie będzie wiedział jaki ma processor [PROCESOR]
    po za tym [poza tym] jeśli nabrał by się na fake DLL to takiej osobie równie dobrze można
    wepchnąć *.pif ,*.scr lub *.bat
    Już soebie wyobrażam przebieg tych spektakularnych ataków
    “Cześć jestem Ania mam 12 lat szukam koleżanek i kolegów
    Przesyłam ci moje zdjęcie w pliku ania.dll a ty umieść je na dysku C:\ – hej jaki masz właściwie procesor ??”
    – 32 bitowy
    O super to zdjęcie umieść w katalog C:\kupaX86\ania.dll
    a następnie włącz skype
    Jeśli ci się podobam to prześli [PRZEŚLIJ] mi swoje :D”
    Te bugi są żenujące kompromitują ich autorów
    jak buhtraq [???] który to publikuje””

    Podsumowanie: Iwonko, nie chwal się tym komentarzem przed Panią od polskiego, o ile nie masz zaświadczenia o dysleksji….

  28. @Iwnoka

    Iwonko, czytaj ze zrozumieniem

    1. Atakujący tworzy złośliwą bibliotekę DLL oraz jakikolwiek plik, który będzie zachęcał do kliknięcia (np. gracjan_spiewa.mp3) i wystawia go via SMB/WebDav lub podrzuca ofierze na pendrive.
    2. Ofiara zachęcona przez atakującego, otwiera podstawioną .mp3, a player zaczyna szukać DLL-ki, którą musi załadować …

  29. @Lizard: No to nie rozumiem o co kaman. Jeżeli wg specyfikacji zawsze jest otwierany katalog, w którym jest aplikacja, to chyba nie ma problemu. Hmm… Chyba że dllki nie leżą w katalogu z exekiem, ale gdzieś w innym miejscu… :) Zaskoczyłem!

  30. @Iwonka coś chyba źle zrozumiałaś.

    Przedstawiona przez Ciebie rozmowa prędzej będzie miała następujący przebieg (np. dwie osoby będące w sieci lokalnej rozmawiające przez GG):

    “- Cześć. Słyszałem, że masz tą super fajną piosenkę. Mógłbyś udostępnić w sieci?
    – Cześć. Jasne, już udostępniam folder, zaczekaj… O już, wejdź do “//jacek/supermuza”. Tylko nie wiem czemu dobrze odtwarza się tylko w WinAmpie.
    – Dzięki, używam WinAmpa, także mi nie przeszkadza”

    Koleś wchodzi na udostępniony folder, otwiera MP3 (nie DLL), a WinAmp podczas odpalenia automatycznie przeszukuje folder, i ładuje leżącą obok MP3 spreparowaną DLL, która np. jest ukryta)

  31. Inne scenariusze ataku, skoro SMB/WebDAV nie przekonuje:

    *** plik .zip wystawiony w internecie, ze zdjęciami (50 zdjęć, 1 d.ll) :>
    *** plik .torrent (często ściąga się wiele plików, jednym z nich może być .dll)

  32. @PK

    ok, zip i torrent mnie przekonują. Zapowiadają się ciekawe dni :)

  33. Nie zgadzam się z powyższymi “błąd jest znany od dawna”. Prosta sprawa: jeśli jest to znane od dawna, to czemu nikt tego nie wykorzystał do tej pory?

    Wykorzystał. Tak dokładnie to wykorzystałem ;). Tu wątek z sierpnia 2009:
    http://webcache.googleusercontent.com/search?q=cache:_YArNq8AMu8J:www.l2jserver.com/forum/viewtopic.php%3Ff%3D4%26t%3D13582+l2jserver+forum+gameguardcd=1hl=plct=clnkgl=plclient=opera
    I kilka linków o tej luce:
    http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx#security_remarks
    http://support.microsoft.com/kb/164501

  34. Żeby się przed tym zabezpieczyć trzeba odpalić plik .REG o takiej zawartości:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
    CWDIllegalInDllSearch=dword:ffffffff

  35. Mnie akurat zip i torrent nie przekonywuja. Caly mechanizm obslugi bledu polega na starej jak swiat zabawie w podrzucanie trojana ofierze ;) Owszem – mase osob klika bez myslenia po wszystkim i stad i podrzutka uda im sie odpalic, podobnie tutaj – niestety nie patrzac co kto ma – moze sobie napytac biedy ;)

    Co do samego mechanizmu – zapominacie o DOSie… :) nie wiem niestety od ktorej wersji DOS korzysta ze zmiennej PATH oraz czy ze zmiennej PATH nie korzystaly czasem niektore systemy CP/M (ale tutaj moge sie mylic)

  36. Mówicie o dostępie do SMB webdav tak jak by to było czymś naturalnym i oczywistym
    lub “podrzuceniu” komuś na pendrive
    Zapewne w większości przypadków w sytuacji kiedy będziemy mieć dostęp zapisu
    do zasobów sieciowych nie wspominając już o pendrive s!c
    To nie będziemy musieli się patyczkować z socjalem i bzdurami typu dll hjacking

  37. @iwonka:
    przyklad Piotra z zipem jest dobry, bo z tym webdav/pendrivem to sie zgadzam, ze troche bez sensu :x.

  38. W ogóle to zapomniałam uwzględnić w tej rozmowie
    że 12 letnia Ania
    musiała by zapytać czy jej nowy kolega
    używa przeglądarki do zdjęć typu A
    czy może ma drivera NVIDI tudzież Odtwarzacz multimediów Be
    i ewentualnie zmienić wersje zdarzeń z
    “Cześć jestem ania to moje zdjęcie ania.dll”
    w Siema ziomek w łikend Dj Kupa będzie w Dziewulinach
    spójrz jak wymiata oto pliki kupa.dll i kupa.mp3
    ;D

    • @Iwonka: Jeśli nie wiesz z jakiego programu do odtwarzania mp3 korzysta ofiara po prostu robisz kilka dll-ek, dla winampa, foobara, cokolwiek i do katalogu dorzucasz 3…
      @jurek ogórek, @iwonka: O ile SMB/WebDAV do mnie nie przemawia, to jestem zdania, że to własnie na pendrive będzie najłatwiej ;-) Wystarczy jeden łoś, który odpali plik, dllka załaduje się i tak “obrobi” system, że będzie do kazdego włożonego pendrive’a dokładała kolejne dllki (infekując). Iwonka zwraca uwagę, że jeśli ma się dostęp do pendrive’a to nie trzeba wcale korzystać z metody na DLL… zgoda, ale często się nie ma — a np. pozostawienie Pendrive’a w firmowej toalecie, na którym będzie plik kartoteka_plac.xls gwarantuje, że znalazca go uruchomi — i jedyne o czym będzie wtedy myślał, to czy Kowalski z biurka obok zarabia więcej ;-)

  39. mnie to nie dziwi,
    a) kto normalny odpala pod win COKOLWIEK po sieci/zasobach sieciowych? (nigdy mi się nie zdażyło)
    b) to jest od DAWNA udokumentowane i informacja o tym OD DAWNA jest zamieszczona na msdnie

  40. […] temat DLL Preloading Bug sporo napisane jest na Niebezpieczniku, warto również przeczytać komentarze. Nie zgadzam się z tezą, że błąd nie zostanie […]

  41. @Iwonka: Wystarczy w miarę “uniwersalna” binarka, np. jakieś libjpg.dll czy dx9draw.dll czy coś w tym stylu.

  42. “@jurek ogórek, @iwonka: O ile SMB/WebDAV do mnie nie przemawia, to jestem zdania, że to własnie na pendrive będzie najłatwiej ;-)”

    Tu się muszę zgodzić. Z jakiegoś powodu userzy bardziej ufają treści odpalanej z pendrive’a niż pobieranej z sieci (lan,wan, whatever). Myślę, że wystarczy objąć dll’kami 3-5 najpopularniejsze programy do odpalania danego content’u (ilość dll’ek będzie zależeć oczywiście od jego rodzaju) i myślę, że będziemy mieli b. wysoki ‘hit rate’. Im mniejsza różnorodność tym lepiej weźmy np. pliki ppt.

    Wyobraźmy sobie następujący scenariusz:
    Cel: wydobyć poufne dane z firmy X.
    1. Kupujemy N pendrive’ów na każdym umieszczając ten sam (zainfekowany) content. Prezentacja np. nowego BMW ( w .ppt) + ukrytych kilka dll’ek. Na pendrive’ach umieszczamy np. logo BMW.
    2. Pod siedzibę firmy X wysyłamy ładną hostessę/y, która rozdaje je pracownikom, zachęcając do kupna nowego BMW, mowiąc, iż na pendriv’ie jest prezentacja, a pendrive jako taki to prezent od BMW.
    3. Pracownicy odpalają prezentację uruchamiając dll’ki się tam znajdujące.
    4. Czekamy na efekty.
    5. Dll’ki spreadują się na każdy podłączony do kompa pen. GOTO 4.

    Pomimo, że nie gwarantuje nam to w 100% sukcesu to myślę, że szansa na penetrację sieci i pozyskania danych jest duża.

  43. Ja nie kumam ludzi, którzy twierdzą że przeprowadzenie takiego ataku jest trudne…
    Mało to gier, muzyki czy filmów z sieci się nielegalnie ściąga ? O grach nie wspominając…
    Jaki to problem podrzucić tam kilka dodatkowych plików ?
    Wystarczą 3 dla najpopularniejszych np. odtwarzaczy mp3 (Winamp, WMP i iTunes, od biedy Foobar) – stawiam na jakieś 80% trafień, jak nie więcej.

    Przykład z podrywem ‘na osiemnastkę’ zły nie jest – nie wiem, kto by się powstrzymał przed rozpakowaniem zip’a i otworzeniem zdjęć. A że tam jeszcze jakieś ukryte pliki będą… Kto by się tym przejmował ? :D (analogicznie do przykładu podanego przez Piotra Koniecznego).

  44. Przecież chyba logiczne jest, że jak ściągniesz mp3, czy fotkę to żadna DLL’ka nie jest tam potrzebna. Usuwasz przed otwarciem pliku i problem nie istnieje, prawda?

  45. @Kamil: Ściągasz zip’a z dajmy na to 2000 zdjęć + 5 dll. Będziesz szukał “*.dll” czy po prostu klikniesz wypakuj wszystko i zaczniesz przeglądać zdjęcia?

  46. Czy problem ten wystepuje też w .Net?

  47. @dziesiątki komentujących.

    Jeszcze raz z tymi MP3 i DLL. Załóżmy że ściągnąłeś TOP 1000 hits from 1980’s” (czy inną kolekcję kilkuset lub więcej MP3). Są takie torrenty? Są. Co zawierają? To niby jasne: 1000 empetrójek. Ale oprócz tego obrazki JPG z okładkami, logi z konwersji, pliki .nfo, .url, może jakieś teledyski, a na dodatek różne inne śmieci. Czy ktokolwiek po ściągnięciu będzie szukał 1 DLLki między tymi wszystkimi plikami?!? Czy ktoś ją zauważy?!? I teraz — czy TY szukałbyś tam jakiejkolwiek DLLki *przed przeczytaniem tego artykułu*?!? NIE!!! Kliknąłbyś pierwszy lepszy ciekawy (wg tytułu) utwór by go usłyszeć.

    Trochę wyobraźni ludzie :-)

  48. @hiciu
    Przeczytaj dokładnie cały mój komentarz. To co zlinkowałeś nie jest atakiem zdalnym, tylko wykorzystaniem DLL spoofingu lokalnie.

  49. Powiem wam gdzie ten “bug” się może sprawdzić najlepiej
    W malware i kHropka :)

  50. a te wszystkie przedrostki “remote” i cała ta fama to dyrdymały

  51. Fiu fiu … Można powiedzieć, że
    w dzisiejszych czasach “Fajnie jest być hakerem”.

  52. @Gynvael Coldwind: Nie jest zdalny, przyznaję racje.

  53. Trzeba samemu spróbować i potestować na lokalnych maszynach – zapowiada się świetnie! :)

  54. Dla jasnosci – chcialbym zauwazyc, ze po raz pierwszy “bug” tego typu zostal znaleziony i udokumentowany przez slowenska grupe researcherow ACROS – zdaje sie, ze HD Moore zwyczajnie wykorzystal swoja medialnosc i rozglos, dokumentujac ten issue w kolejnych kilkudziesieciu aplikacjach i publikujac DLL Hijacking Audit Kit. IMHO dobrze byloby wymieniac w dyskusjach przede wszystkim pierwotnego autora calego tego zamieszania ;)

    http://www.zdnet.com/blog/security/hd-moore-critical-bug-in-40-different-windows-apps/7188

    • Dzięki j00ru, dodałem informację o ACROS.

  55. No to programiści zaczęli wprowadzać poprawki: http://k.kiwa.vot.pl/trash/dll_exp.png :)

  56. Wielkie halo, ta technika (proxy DLL) byla od dawien dawna wykorzystywana np. do modyfikowania gier, ktore same w sobie nie pozwalaly na wieksze zmiany (vide np. wszystkie gry na silniku Quake 3, ktorych kodu nie wypuszczono – Medal of Honor Allied Assault, Star Trek Elite Force etc.).

  57. http://forum.utorrent.com/viewtopic.php?id=82840

    Tutaj dokładniejszy link do uTorka ;]

  58. @Lamer, syn Lamera – prawdą jest to co piszesz. Plik .dll zastanowiłby mnie jedynie, gdyby występował “samotnie”, ale jeśli dookoła jest wiele innych dziwnych plików (okładki, skróty, nfo, itd.) to na szybko odpalam oczekiwany content (np. m3u ściągniętego albumu)… Oczywiście nie po lekturze tego artykułu i +60 komentarzy ;)

    Swoją drogą .dll można dorzucić z atrybutem “ukryty”. Wiele programów kompresujących zapisuje atrybuty pakowanych plików, a wbrew pozorom wielu ludzi nie pokazuje w systemie plików ukrytych (sami coś ukrywają? :>). Pytanie tylko, czy Windows nie ignoruje ukrytych .dll (nie czytałem FM).

    Ogólnie dla mnie najlepsza rada to zmiana DLL Search Order, a najlepiej zrezygnowanie z szukania w CWD. W sumie fajnym pomysłem byłaby wtyczka (lub coś takiego) informująca o istnieniu w rozpakowywanym archiwum plików .dll. Albo wyróżnianie plików .dll przez explorer.exe? :)

  59. […] dni temu, w artykule “Cholera, tego błędu nie naprawimy” opisywaliśmy atak na Widnows wykorzystujący podrzucanie bibliotek .DLL jako metodę […]

Twój komentarz

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