Narzędzie dla początkującego pentestera: przedstawiamy krótki przegląd głównych narzędzi, które przydadzą się podczas pentestów sieci wewnętrznej. Te narzędzia są już aktywnie wykorzystywane przez szeroki krąg specjalistów, dlatego znajomość ich możliwości i opanowanie ich w stopniu doskonałym będzie przydatne dla każdego.

Zawartość:
Nmap
– aplikacja typu opensource do skanowania sieci, jest jednym z najpopularniejszych narzędzi wśród specjalistów ds. bezpieczeństwa i administratorów systemów. Pierwszozastosowanie to skanowanie portów, ale poza tym oferuje szereg przydatnych funkcji, co właściwie czyni Nmap mega-kompilatorem do badania sieci.
Oprócz sprawdzania otwartych/zamkniętych portów, Nmap może zidentyfikować usługę działającą na otwartym porcie oraz jej wersję, a czasem pomóc w określeniu systemu operacyjnego. Nmap obsługuje skrypty do skanowania (NSE — Nmap Scripting Engine). Przy użyciu skryptów możliwe jest sprawdzenie wrażliwości różnych usług (jeśli, oczywiście, istnieje dla nich skrypt lub można zawsze napisać własny) albo przeprowadzenie ataków brute force na hasła z różnych usług.
Dzięki temu Nmap pozwala stworzyć szczegółową mapę sieci, uzyskać maksymalną ilość informacji o uruchomionych usługach na hostach w sieci, a także proaktywnie sprawdzić niektóre wrażliwości. Nmap ma również elastyczne ustawienia skanowania, możliwe jest dostosowanie prędkości skanowania, liczby wątków, liczby grup do skanowania itp.
Jest wygodny do skanowania małych sieci i niezastąpiony do punktowego skanowania pojedynczych hostów.
Zalety:
- Szybko działa na małym zakresie hostów;
- Elastyczność ustawień — można łączyć opcje w taki sposób, aby uzyskać maksymalnie informacyjne dane w akceptowalnym czasie;
- Równoległe skanowanie — lista celów hostów jest dzielona na grupy, a następnie każda grupa jest skanowana po kolei, wewnątrz grupy używane jest skanowanie równoległe. Także podział na grupy jest małym niedociągnięciem (patrz poniżej);
- Wstępnie zdefiniowane zestawy skryptów do różnych zadań — można nie marnować dużo czasu na wybór konkretnych skryptów, a po prostu wskazać grupy skryptów;
- Prezentacja wyników — 5 różnych formatów, w tym XML, który może być importowany do innych narzędzi.
Wady:
- Skanowanie grupy hostów — informacje o jakimkolwiek hoście są niedostępne, dopóki nie zakończy się skanowanie całej grupy. Można to rozwiązać, ustalając w opcjach maksymalny rozmiar grupy oraz maksymalny limit czasowy, w ciągu którego będzie oczekiwana odpowiedź na zapytanie, zanim próby zostaną przerwane lub będzie można wykonać kolejne;
- Podczas skanowania Nmap wysyła pakiety SYN do docelowego portu i oczekuje na dowolny pakiet odpowiedzi lub na wygaśnięcie czasu, gdy odpowiedzi brak. Negatywnie wpływa to na wydajność skanera w ogóle, w porównaniu do skanerów asynchronicznych (na przykład zmap lub masscan);
- Podczas skanowania dużych sieci z użyciem flag do przyspieszania skanowania (—min-rate, —min-parallelism) mogą wystąpić wyniki false-negative, pomijając otwarte porty na hoście. Należy również używać tych opcji ostrożnie, ponieważ wysoka liczba pakietów może prowadzić do niezamierzonego DoS.

Zmap
(nie mylić z ZenMap) — również skaner o otwartym kodzie źródłowym, stworzony jako szybsza alternatywa dla Nmap.
W przeciwieństwie do nmap — Zmap podczas wysyłania pakietów SYN nie czeka na odpowiedź, lecz kontynuuje skanowanie, jednocześnie oczekując odpowiedzi od wszystkich hostów, w ten sposób w zasadzie nie utrzymuje stanu połączenia. Gdy odpowiedź na pakiet SYN przyjdzie, Zmap na podstawie zawartości pakietu zrozumie, który port i na którym hoście był otwarty. Ponadto Zmap wysyła tylko jeden pakiet SYN do skanowanego portu. Istnieje również możliwość użycia PF_RING do szybkiego skanowania dużych sieci, jeśli masz pod ręką interfejs 10-gigabitowy i zgodną kartę sieciową.
Zalety:
- Prędkość skanowania;
- Zmap generuje ramki Ethernet, omijając systemowy stos TCP/IP;
- Możliwość użycia PF_RING;
- ZMap losowo wybiera cele w celu równomiernego rozłożenia obciążenia po stronie skanowanej;
- Możliwość integracji z ZGrab (narzędzie do zbierania informacji o usługach na poziomie aplikacji L7).
Wady:
- Może powodować awarie w pracy sprzętu sieciowego, na przykład uszkodzić pośrednie routery, mimo że obciążenie jest rozproszone, ponieważ wszystkie pakiety będą przechodzić przez jeden router.

Masscan
— to niezwykłe, ale również skaner z otwartym kodem źródłowym, stworzony z jedynym celem — skanować Internet jeszcze szybciej (mniej niż w 6 minut z prędkością ~10 milionów pakietów/s). W zasadzie działa prawie tak samo jak Zmap, tylko jeszcze szybciej.
Zalety:
- Składnia jest podobna do Nmap, a także program obsługuje niektóre opcje zgodne z Nmap;
- Szybkość działania to jeden z najszybszych skanerów asynchronicznych.
- Elastyczny mechanizm skanowania — wznowienie przerwanego skanowania, rozdzielanie obciążenia na kilka urządzeń (tak samo jak w Zmap).
Wady:
- Podobnie jak w przypadku Zmap, obciążenie samej sieci jest wyjątkowo wysokie, co może prowadzić do DoS;
- Domyślnie nie ma możliwości skanowania na poziomie aplikacji L7;

Nessus
— skaner do automatyzacji kontroli i wykrywania znanych podatności w systemie. Kod źródłowy jest zamknięty, istnieje darmowa wersja Nessus Home, która pozwala skanować do 16 adresów IP z taką samą prędkością i szczegółową analizą jak w wersji płatnej.
Może identyfikować podatne wersje usług lub serwerów, wykrywać błędy w konfiguracji systemu, przeprowadzać brute force na hasłach słownikowych. Może być używany do określenia poprawności konfiguracji usług (poczta, aktualizacje itp.), a także podczas przygotowań do audytu PCI DSS. Ponadto w Nessus można przekazać dane uwierzytelniające dla hosta (SSH lub konto domenowe w Active Directory), a skaner uzyska dostęp do hosta i przeprowadzi kontrole bezpośrednio na nim, ta opcja nazywa się credential scan. Jest wygodny dla firm przeprowadzających audyty swoich własnych sieci.
Zalety:
- Oddzielne skrypty dla każdej podatności, których baza jest na bieżąco aktualizowana;
- Wyjście wyników — prosty tekst, XML, HTML i LaTeX;
- API Nessus — umożliwia automatyzację procesów skanowania i pozyskiwania wyników;
- Credential Scan, można używać danych uwierzytelniających Windows lub Linux do sprawdzania aktualizacji lub innych podatności;
- Możliwość pisania własnych wbudowanych modułów bezpieczeństwa — w skanerze znajduje się własny język skryptów NASL (Nessus Attack Scripting Language);
- Można ustawić czas na regularne skanowanie lokalnej sieci — dzięki temu Służba Informacyjnej Bezpieczeństwa będzie na bieżąco ze wszystkimi zmianami w konfiguracji bezpieczeństwa, pojawianiem się nowych hostów oraz wykorzystaniem haseł słownikowych lub haseł domyślnych.
Wady:
- Może wystąpić zakłócenie w działaniu skanowanych systemów — przy wyłączonej opcji bezpiecznego sprawdzania należy pracować ostrożnie;
- Wersja umożliwiająca komercyjne wykorzystanie nie jest darmowa.

Net-Creds
— narzędzie w języku Python do zbierania haseł i skrótów oraz innych informacji, takich jak odwiedzane URL, załadowane pliki i inne dane z ruchu, zarówno w czasie rzeczywistym podczas przeprowadzania ataku MiTM, jak i z wcześniej zapisanych plików PCAP. Nadaje się do szybkiej i powierzchownej analizy dużych ilości ruchu, na przykład podczas sieciowych ataków MiTM, kiedy czas jest ograniczony, a ręczna analiza przy użyciu Wireshark zajmuje dużo czasu.
Zalety:
- Identyfikacja usług opiera się na analizie pakietów zamiast określania usługi na podstawie numeru używanego portu;
- Łatwy w użyciu;
- Szeroki zakres wyciąganych danych — w tym loginy i hasła do FTP, POP, IMAP, SMTP, protokoły NTLMv1/v2, a także informacje z zapytań HTTP, takie jak formularze logowania i podstawowa autoryzacja;

network-miner
— odpowiednik Net-Creds pod względem działania, jednak ma większą funkcjonalność, na przykład możliwość wyciągania plików przesyłanych przez protokoły SMB. Tak jak Net-Creds, przydatny, gdy konieczna jest szybka analiza dużyj objętości ruchu. Posiada również wygodny interfejs graficzny.
Zalety:
- Interfejs graficzny;
- Wizualizacja i klasyfikacja danych według grup — ułatwia analizę ruchu i przyspiesza ją.
Wady:
- W wersji demonstracyjnej pewne funkcje są ograniczone.

mitm6
— narzędzie do przeprowadzania ataków na IPv6 (SLAAC-attack). IPv6 jest priorytetem w systemie Windows (ogólnie w innych systemach również), a w konfiguracji domyślnej interfejs IPv6 jest włączony, co pozwala napastnikowi ustalić ofierze własny serwer DNS, wykorzystując pakiety Router Advertisement, po czym napastnik ma możliwość podmiany DNS ofiary. Doskonale nadaje się do przeprowadzania ataków Relay w połączeniu z narzędziem ntlmrelayx, co pozwala skutecznie atakować sieci Windows.
Zalety:
- Działa świetnie w wielu sieciach, właśnie dzięki standardowym konfiguracjom hostów i sieci Windows;
Responder
— narzędzie do spoofingu protokołów rozgłoszeniowych rozwiązywania nazw (LLMNR, NetBIOS, MDNS). Niezastąpione narzędzie w sieciach Active Directory. Oprócz spoofingu potrafi przechwytywać autoryzację NTLM, w zestawie znajduje się również zestaw narzędzi do zbierania informacji i przeprowadzania ataków NTLM-Relay.
Zalety:
- Domyślnie uruchamia wiele serwerów z obsługą uwierzytelniania NTLM: SMB, MSSQL, HTTP, HTTPS, LDAP, FTP, POP3, IMAP, SMTP;
- Umożliwia podmienianie DNS w przypadku ataków MITM (spoofing ARP itp.);
- Fingerprintowanie hostów, które wysłały zapytanie rozgłoszeniowe;
- Tryb analizy — do pasywnego monitorowania zapytań;
- Format przechwyconych hashy przy uwierzytelnianiu NTLM jest zgodny z John the Ripper i Hashcat.
Wady:
- Uruchamiając na Windows, powiązanie portu 445 (SMB) wiąże się z pewnymi trudnościami (wymaga zatrzymania odpowiednich usług i ponownego uruchomienia);


Evil_Foca
— narzędzie do testowania różnych ataków sieciowych w sieciach IPv4 i IPv6. Skanuje lokalną sieć, identyfikując urządzenia, routery i ich interfejsy sieciowe, po czym można przeprowadzać różne ataki na uczestników sieci.
Zalety:
- Przydatny do przeprowadzania ataków MITM (spoofing ARP, wstrzyknięcia DHCP ACK, atak SLAAC, spoofing DHCP);
- Można przeprowadzać ataki DoS — z spoofingiem ARP dla sieci IPv4, z SLAAC DoS w sieciach IPv6;
- Można przeprowadzić DNS hijacking;
- Łatwy w użyciu, z wygodnym interfejsem graficznym.
Wady:
- Działa tylko na Windows.

Bettercap
— potężny framework do analizy i atakowania sieci, obejmujący także ataki na sieci bezprzewodowe, BLE (bluetooth low energy) oraz ataki MouseJack na bezprzewodowe urządzenia HID. Ponadto zawiera funkcjonalność do zbierania informacji z ruchu (analogicznie do net-creds). Ogólnie rzecz biorąc, jest to scyzoryk szwajcarski (all in one). Niedawno zyskał również .
Zalety:
- Sniffer danych uwierzytelniających — można przechwytywać odwiedzone URL i hosty HTTPS, uwierzytelnianie HTTP, dane uwierzytelniające w wielu różnych protokołach;
- Wiele wbudowanych ataków MITM;
- Modułowy, przejrzysty proxy HTTP(S) — można zarządzać ruchem w zależności od potrzeb;
- Wbudowany serwer HTTP;
- Wsparcie dla capletów — plików, które pozwalają opisać w skryptowym języku złożone i zautomatyzowane ataki.
Wady:
- Niektóre moduły — na przykład ble.enum — są częściowo nieobsługiwane na macOS i Windows, niektóre są przeznaczone tylko dla Linuxa — packet.proxy.

gateway_finder
— skrypt w Pythonie, który pomaga zidentyfikować możliwe bramy w sieci. Przydatny do sprawdzania segmentacji lub wyszukiwania hostów, które mogą routować do wymaganej podsieci lub Internetu. Nadaje się do wewnętrznych testów penetracyjnych, gdy trzeba szybko sprawdzić obecność nieautoryzowanych tras lub tras do innych wewnętrznych lokalnych sieci.
Zalety:
- Łatwy w użyciu i dostosowywaniu.

mitmproxy
— narzędzie open source do analizy ruchu zabezpieczonego SSL/TLS. mitmproxy jest wygodne do przechwytywania i modyfikacji zabezpieczonego ruchu, oczywiście z pewnymi zastrzeżeniami; narzędzie nie przeprowadza ataków na deszyfrowanie SSL/TLS. Używane, gdy trzeba przechwycić i zarejestrować zmiany w ruchu zabezpieczonym SSL/TLS. Składa się z Mitmproxy — do proxy ruchu, mitmdump — podobnego do tcpdump, ale dla ruchu HTTP(S), oraz mitmweb — interfejsu webowego dla Mitmproxy.
Zalety:
- Obsługuje różne protokoły i pozwala na modyfikację różnych formatów, od HTML po Protobuf;
- API dla Pythona — umożliwia pisanie skryptów do niestandardowych zadań;
- Może pracować w trybie przezroczystego proxy z przechwytywaniem ruchu.
Wady:
- Format zrzutu nie jest kompatybilny z niczym — trudno używać grep, trzeba pisać skrypty;


SIET
— narzędzie do eksploatacji możliwości protokołu Cisco Smart Install. Możliwe jest uzyskanie i modyfikacja konfiguracji, a także przejęcie kontroli nad urządzeniem Cisco. Jeśli udało Ci się uzyskać konfigurację urządzenia Cisco, możesz ją sprawdzić za pomocą , to narzędzie jest przydatne do analizy bezpieczeństwa konfiguracji urządzeń Cisco.
Zalety:
Użycie protokołu Cisco Smart Install pozwala na:
- Zmianę adresu serwera tftp na urządzeniu klienckim, wysyłając jeden zniekształcony pakiet TCP;
- Skopiowanie pliku konfiguracyjnego urządzenia;
- Zamianę konfiguracji urządzenia, na przykład poprzez dodanie nowego użytkownika;
- Aktualizację obrazu iOS na urządzeniu;
- Wykonanie dowolnego zestawu poleceń na urządzeniu. To nowa funkcja, która działa tylko w wersjach 3.6.0E i 15.2 (2) E iOS;
Wady:
- Działa z ograniczonym zestawem urządzeń Cisco, potrzebny jest także "biały" ip do uzyskania odpowiedzi od urządzenia, lub należy znajdować się w tej samej sieci co urządzenie;

yersinia
— framework do ataków L2, stworzony w celu eksploatacji luk w zabezpieczeniach różnych protokołów sieciowych L2.
Zalety:
- Pozwala na przeprowadzanie ataków na protokoły STP, CDP, DTP, DHCP, HSRP, VTP i inne.
Wady:
- Nie jest to najbardziej wygodny interfejs.

proxychains
— narzędzie, które pozwala na przekierowanie ruchu aplikacji przez wskazany SOCKS proxy.
Zalety:
- Pomaga przekierować ruch niektórych aplikacji, które domyślnie nie obsługują proxy;

W tym artykule krótko omówiliśmy zalety i wady podstawowych narzędzi do testów penetracyjnych wewnętrznej sieci. Śledźcie nas, planujemy publikować takie zestawienia także w przyszłości: web, bazy danych, aplikacje mobilne — o tym również na pewno napiszemy.
Podzielcie się swoimi ulubionymi narzędziami w komentarzach!
Źródło: habr.com
