Archiwum dla kategorii Haching

Wprawdzie moja absencja online nie była spowodowana żadnym atakiem wirusa (no, chyba że grypy na pracowników tpsy), ale właśnie temu tematowi pragnę poświęcić kilka następnych zdań.

Ilość komputerów zarażonych koniem trojańskim Storm powiększa się w każdej chwili w zastraszającym tempie. Nazwanie tego epidemią nie oddaje faktycznej stali problemu. Mamy do czynienia z Pierwszą Pandemią Internetową.

Szacunkowe dane ustalają liczbę zainfekowanych komputerów na kilkanaście milionów, a pesymistyczne dane nawet o 50 milionach. Teoretyczna szczepionka już istnieje - jest nią aktualizacją dla przeglądarek IE i FF, bowiem jest to podstawowa droga rozpowszechniania się tego zagrożenia. Niestety jak wykazują badanie nie ograniczyła ona stopnia rozwoju pandemii a obecna moc botnetu powstałego z połączenia wszystkich zarażonych komputerów w klaster obliczeniowy prawdopodobnie przewyższa (i to znacznie) dowolną inną instalację tego typu (legną lub nie) i pozwala między innymi na skuteczne deszyfrowanie danych (haseł, transmisji, itp.; nawet tych bardzo zaawansowanych).

Sam trojan jest bardzo ciekawy. Jego głównym zadaniem jest przejęcie kontroli nad komputerem i połączenia do jako węzła globalnego botnetu. Następnie umożliwia on przeprowadzenie złożonych rozproszonych obliczeń lub ataków typu DDoS. Infekcja przebiega najczęściej poprzez stronę internetową ze spreparowanych odpowiednio kodem JavaScript, który doprowadza do przepełniania bufora przeglądarki i w efekcie ściągnięcia i wykonania pliku wykonywalnego. Ze względu na polimorficzny charakter wirus jest ciężko wykrywalny przez oprogramowanie antywirusowa, co więcej, w pierwszej kolejności instaluje rootkita, który skutecznie dezaktywuje programowanie ochronne (a dokładniej je sandboxuje, co powoduje, iż nie potrafi on wykryć żadnego zagrożenia w systemie, pomimo iż działa normalnie). Storm posiada także wielopoziomowy system wykrywania próby usunięcia trojana. Jeżeli użytkownikowi (lub programowi) powiedzie się usunięcie jednego z zabezpieczeń natychmiast wykrywa to wyższa warstwa i ponawia infekcje. W efekcie usunięcie zagrożenia jest niezwykle kłopotliwe.

Sam miałem raz “przyjemność” walczyć ze Stormem u znajomego i z przykrością muszę stwierdzić, iż po kilku godzinach się poddałem, co ostatecznie skończyło się koniecznością reinstalowania Windowsa.

Artykuł na PC World Komputer:
http://www.pcworld.pl/news/128739.html

Ciekawa prezentacja autorstwa F-Secure:

 

 

Niedawno głośno było o błędzie w przeglądarce Firefox polegającym na braku filtrowania danych pochodzących z wywołania przy pomocy firefoxurl:// (http://secunia.com/advisories/25984/). W rzeczywistości problem ten w równym stopniu obciążał zarówno Firefoxa jak i autorów przeglądarki IE, dzięki której atak był możliwy. Mozilla Foundation poprawiła błąd wraz z wersją 2.0.0.5, problem po stronie IE został po raz kolejny zignorowany (wprawdzie w tym przypadku jest to częściowo zrozumiałe, gdyż przecież istnieje możliwość, że inne programy nie akceptują przefiltrowanych danych a także powstaje pytanie o stopień filtracji; ale jednocześnie działanie Microsoftu można porównać to producenta samochodów, który nie montuje pasów bezpieczeństwa, gdyż nie każdy je zakłady, zmniejszają komfort jazdy i - co najważniejsze - o bezpieczeństwo jazdy powinni troszczyć się inni, w szczególności kierowca).

Atak przy pomocy IE polegał na utworzeniu odpowiednio spreparowanego odnośnika, którego naciśnięcie powodowało uruchomienie Firefoxa wraz dodatkowymi atrybutami (wstrzyknięcie kodu).

Niedługo po pojawieniu się “załatanego” Firefoxa analogiczny problem jak w IE został wykryty w samym FF! Błąd polega na niewłaściwym filtrowania znaku cudzysłów w adresach url zewnętrznych protokołów. Więcej informacji można znaleźć na stronie http://xs-sniper.com/blog/remote-command-exec-firefox-2005/

Problem jest o tyle poważny, iż pozwala na zdalne uruchomienie dowolnego programu zainstalowanego na systemie użytkownika! Prosta prezentacja:

EXPLOIT

(ps. jeżeli powyższy przykład u Ciebie nie działa, nie oznacza to, iż jesteś bezpieczny; po prostu atakujący musi użyć innego protokołu niż mailto)

Tak więc wszystkich użytkowników FF (IE także) namawiam do dokładnego sprawdzania linków, które się klika…

Apple jest znana z raczej porządnie napisanych programów, a tymczasem przytrafił się jej bubel w postaci nowej wersji przeglądarki Safari oznaczonej numerem 3.0. Jasno trzeba zaznaczyć, iż dotyczy to wersji beta, co więcej tylko na platformie Windows, co jest niewątpliwie względnie nowym doświadczeniem dla Apple.

Już w kilka godzin po pojawieniu się “publicznej beta” pojawiły się pierwsze exploity o charakterze krytycznym. Jeden z nich został opisany tutaj: http://larholm.com/2007/06/12/safari-for-windows-0day-exploit-in-2-hours/

Wiele innych błędów uniemożliwia normalna pracę. Przykładem jest problem pojawiający się w momencie napisania dowolnego znaku w polu tekstowym na stronie. Prezentacja w postaci filmiku tutaj.

Większość luk i błędów została już załatana, choć należy się spodziewać, że ich miejsce zajmą następne.

Apple chwali się, że w czasie kilku dni od pojawienia się przeglądarki w wersji dla Windows, została ona ściągnięta ponad milion razy! Aczkolwiek obawiam się, że takie “niestabilne milion razy” nie wpłynie pozytywnie na wizerunek firmy i pozycję przeglądarki na rynku. Kiedyś MS wydawał kiczowatą przeglądarkę w wersja dla MacOS, teraz sytuacja się odwróciła. Czas pokaże czy jest warto. Życzę Apple jak najlepiej.

Wiem, wiem - to rozwiązanie zostało już opisane w tysiącu lokalizacji w Internecie; to od dzisiaj będzie i w tysiąc pierwszym miejscu. Zaznaczam iż przed wykorzystaniem poniższych metod należy zapoznać się z regulaminem danego serwisu i nie działać wbrew zapisom regulaminowym. Informacje tutaj zawarte mają charakter wyłącznie poglądowy.

Większość serwisów downloadu plików (np. www.megaupload.com) wprowadzają szereg ograniczeń na ściąganie danych (ilość połączeń z danego kraju/IP, ilość pobranych danych, itp.). Niektóre oferują wspaniałomyślnie zniesienie tych barier albo po odpowiedniej i regularnej opłacie na konto właściciela serwera, albo po zainstalowaniu u sobie dodatkowych programów z pogranicza użyteczności i backdoora dla wszystkich malware świata.

Jednym z takich programów jest toolbar Alexa. Nie będę się rozwodził co do kwestii bezpieczeństwa jego użytkowania, bo to nie jest moim zamiarem. Bardziej znaczącym faktem jest, iż działa on obecnie tylko w przeglądarce rodem z Redmond, a autorzy Alexa tak komentują fakt braku wersja dla innych programów:

Ask FireFox to include Alexa. In 1998, Alexa built a feature for both Netscape and Mozilla browsers called What’s Related. Unfortunately that feature is not included in the FireFox browser. Write a note (http://www.mozilla.org/contact/) to the folks at Mozilla/Firefox to let them know you want Alexa AND FireFox.

oraz:

Build Your Own Alexa Toolbar. Because Firefox is an open source browser, an enterprising developer might make use of that functionality and our Web Information Services Feed to create such a Toolbar.

No to za parę chwil zbudujemy odpowiedni “toolbar”. Ale wróćmy do problemu z megaupload. Ograniczenia na transfer są nanoszone kiedy serwis nie wykryje pluginu Alexa. A jak są wykrywane? Na postawie useragent przeglądarki. A w takich przeglądarkach jak Mozilla Firefox czy Opera zmienną tę można ustawiać ręcznie. Na jaką wartość? Na przykład taką:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; FDM; Alexa Toolbar)

Od tego czasu nie jesteśmy blokowani przez megaupload.

Ręczne modyfikowanie useragent nie jest zbyt wygodne, ale od czego mamy pluginy do FF. Nie będziemy tworzyć nowego, jedynie zmodyfikujemy istniejący.
Quick Preference Button autorstwa max1million jest jednym z najciekawszych pluginów do FF. Wśród oferowanych przez niego funkcji jest również modyfikacja useragent, ale tylko na odgórnie ustalone. Dlatego w celu dodanie obsługi useragent Alexa niezbędne są zmiany w kodzie źródłowym:

Plik /content/qprefbtn.js

W funkcji qprfSetRadiogroup() dodajemy linie (łatwo się domyśleć, w którym miejscu):

if (/Alexa/.test(prefvalue)) (prefvalue = "browserAlexa");

oraz w metodzie processqprfRadiogroup() dodajemy:

if (value == "browserAlexa") value = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; FDM; Alexa Toolbar)";

Plik /content/qprfbttnPopup.xul

Pod koniec pliku dodajemy linie:

<radio value="browserAlexa" label="Alexa" tooltiptext="Alexa"/>

I to tyle. Po przeładowaniu przeglądarki w menu qprefs powinna pojawić się nowa pozycja.

Oto przykład przykład

Pamiętajcie, że robicie i wykorzystujecie to wyłącznie na własną odpowiedzialność!

Prezentuję bibliotekę umożliwiającą załadowanie dowolnego kodu (w szczególności całego pliku dll) w ramy dowolnego procesu posiadającego okno.

W archiwum jest również przykładowy program ładujący przygotowaną bibliotekę do procesu systemowego Notatnika.

Przykład działa w polskiej odmianie systemu Windows XP (również SP2). Niestety nie działa w Vista.

Użycie biblioteki:

  1. Podczepiamy funkcję InjectDll to naszego kodu
    #include "injectdll.h"
    HINSTANCE dll = LoadLibraryA("hook.dll");
    InjectDll f = (InjectDll) GetProcAddress(dll, "InjectDll");
  2. Uzyskujemy HWND okna
    HWND hWnd = FindWindow(NULL, "Bez tytułu - Notatnik");
  3. Dll Inject!
    HMODULE hModule = f(hWnd, "insert.dll");


Przykład działania

Plik: Dll Injection