Podstawowy skan portów:
nmap -v -sS <adres_IP_lub_domena>
-v
zwiększa tryb gadatliwości.
-sS
wykonuje skan TCP SYN.
Skanowanie konkretnych portów:
nmap -p 80,443 <adres_IP_lub_domena>
-p
określa, które porty chcesz skanować.
Skanowanie z wykryciem wersji usług:
nmap -sV <adres_IP_lub_domena>
-sV
służy do wykrywania wersji uruchomionych usług.
Skanowanie z wykorzystaniem skryptów Nmap:
nmap --script=default,vuln <adres_IP_lub_domena>
--script
pozwala na uruchomienie określonych skryptów.
Skanowanie z wykryciem systemu operacyjnego:
nmap -O <adres_IP_lub_domena>
-O
próbuje zidentyfikować system operacyjny.
Fragmentacja Pakietów
nmap -f <target>
Użycie szybkiego lub powolnego skanowania
Niektóre IDS/IPS mają trudności z wykrywaniem skanowania, które odbywa się bardzo wolno lub bardzo szybko:
- Szybkie skanowanie (
nmap -T4
lub-T5
) może zalewać IDS/IPS, powodując, że niektóre skany przejdą niezauważone. - Powolne skanowanie (low-and-slow) (
nmap -T0
lub-T1
) może rozciągać skan na tyle długo, że staje się trudny do wykrycia.
Zmiana sygnatur pakietów
Używaj narzędzi, które umożliwiają zmianę TCP/IP packet headerów, tak aby nie pasowały do typowych sygnatur wykorzystywanych przez IDS/IPS:
Nmap może manipulować flagami pakietów TCP (--scanflags
).
Scapy to potężne narzędzie Python do tworzenia, wysyłania i interpretowania pakietów, które może służyć do tworzenia nietypowych pakietów.
Zmiana sygnatur pakietów w kontekście używania Nmap odnosi się do modyfikacji pakietów w taki sposób, aby były trudniejsze do wykrycia przez systemy IDS/IPS lub inne mechanizmy monitorujące. Nmap oferuje kilka opcji, które pozwalają na zmianę sygnatur pakietów:
- Fragmentacja pakietów:
--mtu <your-own-MTU>
: Ustawia własną wartość MTU (Maximum Transmission Unit) i fragmentuje pakiety tak, aby pasowały do tej wartości. To może pomóc w uniknięciu wykrycia, ponieważ wiele systemów IDS/IPS ma trudności z ponownym złożeniem fragmentowanych pakietów.-f
: Fragmentuje pakiety w taki sposób, że każdy z nich jest mniejszy niż typowy rozmiar, co może pomóc w uniknięciu wykrycia.
- Zmiana czasu życia pakietu (TTL):
--ttl <value>
: Ustawia pole TTL (Time To Live) w pakietach IP. Zmiana TTL może wprowadzić w błąd niektóre systemy IDS, które mogą oczekiwać określonych wartości TTL dla określonych połączeń.
- Zmiana adresu MAC:
--spoof-mac <MAC|0|vendor>
: Pozwala na zmianę adresu MAC, z którego wydaje się pochodzić skanowanie. Można wybrać konkretny adres MAC, losowy (0
) lub adres MAC określonego producenta.
- Zmiana rozmiaru pakietu:
--data-length <number>
: Dodaje określoną liczbę bajtów do pakietów, co może zmienić ich wygląd i utrudnić wykrycie przez systemy IDS/IPS.
- Użycie skryptów NSE:
- Nmap Scripting Engine (NSE) pozwala na używanie lub pisanie skryptów, które mogą zmieniać zachowanie skanowania, w tym sygnatury pakietów.
- Zmiana flag TCP:
- Możesz również manipulować flagami w nagłówku TCP, takimi jak SYN, ACK, FIN, PSH, URG, ECE, CWR, używając różnych typów skanowania (np.
-sS
,-sA
,-sF
,-sX
,-sN
).
- Możesz również manipulować flagami w nagłówku TCP, takimi jak SYN, ACK, FIN, PSH, URG, ECE, CWR, używając różnych typów skanowania (np.
Przykład polecenia, które wykorzystuje niektóre z tych technik:
nmap -sS --data-length 123 --mtu 24 --spoof-mac 0 192.168.1.0/24
To polecenie wykonuje skanowanie SYN
, dodaje 123 bajty losowych danych do pakietów, ustawia MTU
na 24 bajty (co spowoduje fragmentację pakietów), i używa losowego adresu MAC.
Zawsze pamiętaj, że skanowanie sieci bez uprzedniej zgody jest nielegalne i nieetyczne. Używaj Nmap i innych narzędzi do testowania penetracyjnego odpowiedzialnie i zawsze z odpowiednimi uprawnieniami.
Zmiany czasu i kolejności pakietów.
Wykonanie skanowania Nmap z manipulacją czasem i kolejnością pakietów to zaawansowana technika, która może być używana do omijania firewalli lub IDS (systemów wykrywania intruzów). Nmap oferuje różne opcje, które pozwalają na kontrolę nad czasem i kolejnością pakietów. Oto kilka opcji, które możesz wykorzystać:
- Opcje czasowania:
-T<0-5>
: Ustawia poziom czasowania od 0 (najwolniejszy, najbardziej ostrożny) do 5 (najszybszy). Na przykład,-T0
jest używane do bardzo powolnego skanowania, które jest mniej prawdopodobne, że zostanie wykryte.--scan-delay <time>ms
: Ustawia opóźnienie między wysyłanymi pakietami. Może to pomóc w uniknięciu wykrycia przez rozciągnięcie skanowania w czasie.--max-retries <number>
: Ustawia liczbę prób ponownego wysłania pakietu, jeśli nie otrzymano odpowiedzi.--host-timeout <time>
: Ustawia limit czasu, po którym Nmap zrezygnuje ze skanowania danego hosta.
- Opcje kolejności pakietów:
--packet-trace
: Wyświetla pakiety wysyłane i odbierane podczas skanowania.--data-length <number>
: Dodaje określoną liczbę losowych bajtów do pakietów, co może pomóc w uniknięciu wykrycia przez IDS, które szukają określonych rozmiarów pakietów.--randomize-hosts
: Skanuje hosty w losowej kolejności.--spoof-mac <MAC|0|vendor>
: Podszywa się pod inny adres MAC.
- Przykładowe polecenie:
nmap -sS -T4 --scan-delay 500ms --randomize-hosts 192.168.1.0/24
To polecenie wykonuje skanowanie SYN (-sS
), ustawia poziom czasowania na 4 (agresywny), dodaje opóźnienie 500 ms między pakietami i skanuje hosty w losowej kolejności w podanej sieci.
Pamiętaj, że manipulowanie czasem i kolejnością pakietów może być wykryte przez zaawansowane systemy bezpieczeństwa, a także może być nielegalne w niektórych jurysdykcjach, jeśli nie masz uprawnień do skanowania określonej sieci. Zawsze upewnij się, że masz odpowiednie pozwolenie na przeprowadzenie skanowania.
Manipulować manipulować flagami pakietów TCP
Skan SYN (półotwarte połączenie)
To jest domyślny skan w nmap
i nie wymaga manipulacji flagami:
nmap -sS <cel>
Skanowanie z niestandardowymi flagami
Możesz określić niestandardową kombinację flag za pomocą opcji --scanflags
. Przykładowo, jeśli chcesz wysłać pakiety z ustawionymi flagami SYN i FIN, możesz użyć polecenia:
nmap --scanflags SYNFIN <cel>
Skan ACK (do sprawdzenia firewalla)
Skan ten jest używany do sprawdzenia filtrów pakietów (firewalli), które blokują nieskojarzone pakiety SYN:
nmap -sA <cel>
nmap --scanflags ACK <cel>
Skanowanie z flagą FIN
Flaga FIN może być używana do skanowania, które może być mniej zauważalne dla niektórych IDS/IPS, ponieważ niektóre systemy nie sprawdzają pakietów FIN tak, jak pakietów SYN:
nmap --scanflags FIN <cel>
Skanowanie z flagami URG, PSH i FIN
Taka kombinacja jest rzadko używana w normalnym ruchu i może służyć do prób wykrycia niestandardowych konfiguracji IDS/IPS:
nmap --scanflags URGPSHFIN <cel>
Skanowanie z flagą RST
Flaga RST jest używana do natychmiastowego zakończenia połączenia. Możesz wykonać skanowanie, aby zobaczyć, jak hosty reagują na taki pakiety:
nmap --scanflags RST <cel>
Pamiętaj, że nie wszystkie kombinacje flag są sensowne lub będą produkować użyteczne wyniki. Niektóre połączenia flag mogą również wywołać nietypowe lub nieoczekiwane odpowiedzi z hostów lub urządzeń sieciowych, które interpretują te pakiety w sposób specyficzny dla ich konfiguracji.
Przy manipulowaniu flagami TCP, zawsze pamiętaj, że cel może monitorować i interpretować te działania jako potencjalnie złośliwe, dlatego stosuj je odpowiedzialnie i zawsze z odpowiednimi uprawnieniami i zgodami.
źródła:
- https://nmap.org/book/man.html
- Książka: Zapory sieciowe w systemie Linux. Kompendium wiedzy o nftables. Wydanie IV