Laboratorium nr 8 „Skanowanie sieci”

Transkrypt

Laboratorium nr 8 „Skanowanie sieci”
Laboratorium nr 8
„Skanowanie sieci”
Laboratorium nr 8 jest poświęcone różnym technikom skanowania. W tym celu
będziemy używać aplikacji dostępnych w systemie Kali Linux – pomocnym w
wykonywaniu testów penetracyjnych i audytów bezpieczeństwa.
Laboratorium jest podzielone na kilka etapów:




wykrywanie hostów w sieci (warstwa 2, 3 i 4)
skanowanie portów (UDP, TCP connect, TPC stealth, zombie scanning)
identyfikacja systemów operacyjnych i usług sieciowych
skanowanie aplikacji sieciowych
Wykrywanie hostów w sieci
1. Po uruchomieniu komputera w systemie Kali Linux, wykonaj skanowanie
sieci w warstwie 2. Na początku wykryj hosty znajdujące się w sieci lokalnej przede wszystkich ich adresy MAC. Spróbuj zidentyfikować adresy MAC na
których znajdują się dwie wirtualne maszyny z innymi systemami
operacyjnymi niż Kali Linux.
Skanowanie wykonaj przy użyciu aplikacji: Arping, Netdiscover oraz Nmap.
Poniżej znajdziesz przykładowe komendy dla każdej z aplikacji (zapis:
10.64.1.X oznacza konkretny adres IP – proszę wstawić w to miejsce
konkretny adres).

Arping
arping 10.64.1.X –c 1
Jeśli interesuje nas tylko adres MAC, warto ograniczyć wyświetlane
informacje:
arping 10.64.1.X –c 1 | grep ”bytes from” | cut –d “ “ –f 5
Spróbuj wykonać komendę która wypisze jedynie adres IP oraz taką która
wypisze jedynie adres MAC skanowanego komputera.

Netdiscover
Aktywne skanowanie sieci (wysyłanie żądań do wszystkich hostów w sieci):
netdiscover 10.64.1.0/24
Pasywne wykrywanie hostów w sieci (skanowanie nie wzbudza podejrzeń chociaż
zajmuje znacznie więcej czasu):
netdiscover –p

Nmap
Uruchom polecenie nmap z opcją: -sn
nmap 10.64.1.X -sn
Skanowanie całej sieci:
nmap 10.64.1.0-255 -sn
Zauważ że Nmap skanuje sieć w warstwie 2 jedynie wtedy gdy jest to możliwe. W
przeciwnym wypadku, automatycznie przechodzi do skanowania w warstwie 3.
Żeby to sprawdzić – przeskanuj jakiś komputer spoza sieci lokalnej.
Jakie informacje o hostach jesteśmy w stanie zebrać podczas skanowania w
warstwie drugiej? Jakich protokołów możemy w tym celu użyć? Czy w warstwie
drugiej możemy skanować hosty spoza sieci lokalnej (odpowiedź uzasadnij)?
2. Wykonaj skanowanie sieci lokalnej w warstwie 3 przy użyciu aplikacji: fping i
hping3. Zapoznaj się z informacjami jakie zwracają odpytywane hosty
(osiągalny oraz nieosiągalny).

fping
fping 10.64.1.X –c 5
(wysyłanie konkretnej liczby pakietów)
fping –g 10.64.1.85 10.64.1.170 (skanowanie zakresu sieci)
fping –g 10.64.1.0/24
(skanowanie podsieci)

hping3
hping3 10.64.1.X --icmp
hping3 10.64.1.X --icmp –c 1
W celu automatyzacji procesu skanowania w warstwie 3 warto napisać prosty
skrypt, który wykryje aktywne hosty. Przykład znajduje się poniżej.
Przeanalizuj jego działanie, a następnie uruchom i zweryfikuj jego działanie
(podczas skanowania podglądnij zawartość tymczasowego pliku tmp.txt). Po
wykonaniu skryptu, wynik skanowania znajdziesz w pliku wyniki.txt
#!/bin/bash
if [ "$#" -ne 1 ]; then
echo "Uzyj prawidlowej skladni: ./nazwa_skryptu.sh [/24 network
address]"
echo "Przyklad: ./nazwa_skryptu.sh 10.64.1.0"
exit
fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254); do
hping3 $prefix.$addr --icmp -c 1 >> tmp.txt;
done
grep len tmp.txt | cut -d " " -f 2 | cut -d "=" -f 2 >> wyniki.txt
rm tmp.txt
Jakie informacje o hostach jesteśmy w stanie zebrać podczas skanowania w
warstwie trzeciej? Jakich protokołów możemy w tym celu użyć?
3. Wykonaj skanowanie sieci lokalnej w warstwie 4 przy użyciu aplikacji: nmap i
hping3. Zapoznaj się z informacjami jakie zwracają odpytywane hosty.

Nmap
Skanowanie UDP oraz TCP można wykonać stosując opcje: -PU oraz –PA, po
których należy podać numer portu:
nmap
nmap
nmap
nmap

10.64.1.X –PU53 –sn
10.64.1.0-255 –PU53 -sn
10.64.1.X –PA80 –sn
10.64.1.0-255 –PA80 –sn
(wysłanie pakietu UDP)
(wysłanie pakietu TCP z ustawioną flagą ACK)
hping3
hping3 –-udp 10.64.1.X
hping3 –-udp 10.64.1.X –c 1
W celu zautomatyzowania całego procesu, użyj zmodyfikowanego skryptu
bash użytego podczas skanowania w warstwie 3.
Jakie informacje o hostach jesteśmy w stanie zebrać podczas skanowania w
warstwie czwartej? Jakich protokołów możemy w tym celu użyć?
Skanowanie portów
4. Wykonaj skanowanie portów UDP serwerów uruchomionych na wirtualnych
maszynach (użyj aplikacji Nmap i pakietu Metasploit). Zapisz zebrane
informacje.

Nmap
nmap
nmap
nmap
nmap

–sU
–sU
–sU
–sU
10.64.1.X
10.64.1.X –p 53
10.64.1.X –p 1-200
10.64.1.0-255 –p 53
Skanowanie UDP przy użyciu programu Metasploit
Metasploit dysponuje wieloma modułami pomocniczymi, które można
wykorzystać do skanowania sieci. Przykładem jest moduł udp_sweep. Aby go
użyć, należy uruchomić konsolę Metasploit:
msfconsole
Następnie wybrać odpowiedni moduł:
use auxiliary/scanner/discovery/udp_sweep
Sprawdzić ustawienia za pomocą komendy:
show options
W przypadku tego modułu wystarczy ustawić jedynie zmienną RHOSTS:
set RHOSTS 10.64.1.X
show options
Uruchamiamy skaner za pomocą komendy:
run
Inne skanery znajdziesz w:
 auxiliary/scanner/discovery/arp_sweep
 auxiliary/scanner/portscan/tcp
 auxiliary/scanner/portscan/syn
Które porty na skanowanych maszynach są otwarte? Jakie aplikacje mogą ich
używać?
5. Wykonaj skanowanie portów TCP używając metody TPC Connect. Skorzystaj z
aplikacji: Nmap, Dmitry i Netcat

Nmap
Skanowanie portów przy użyciu opcji: -sT
nmap –sT
nmap –sT
nmap –sT
nmap –sT
portów)
nmap –sT

10.64.1.X –p 80
10.64.1.X –p 80,443,1234
10.64.1.X –p 1-65535
10.64.1.X
(cały zakres portów TCP)
(lista 1000 najpopularniejszych
10.64.1.0-255 –p 80
Dmitry
Sprawdź dostępne opcje programu Dmitry:
dmitry
Wykonaj skanowanie TCP Connect z opcją -p:
dmitry –p 10.64.1.X

Netcat
Uruchom program Netcat (komenda: nc) z parametrem –h aby sprawdzić
składnię i dostępne opcje. Następnie wykonaj skanowanie portów TCP:
nc –nvz 10.64.1.X 80
nc –nvz 10.64.1.X 20-30
Można zautomatyzować skanowanie wykonując polcenie:
for x in $(seq 20 30); do nc –nvz 10.64.1.X $x; done
6. Wykonaj skanowanie portów TCP używając metody TPC Stealth. Skorzystaj z
aplikacji: Nmap i hping3.

Nmap
Skanowanie portów przy użyciu opcji: -sS
nmap
nmap
nmap
nmap
nmap
–sS
–sS
–sS
–sS
–sS
10.64.1.X –p 80
10.64.1.X –p 80,443,1234
10.64.1.X –p 1-65535
(cały zakres portów TCP)
10.64.1.X
(lista 1000 najpopularniejszych portów)
10.64.1.0-255 –p 80

hping3
hping3 10.64.1.X --scan 80 -S
hping3 10.64.1.X –-scan 0-1000 –S
Co różni skanowanie TPC Stealth od TPC Connect?
Dla chętnych: skanowanie portów TCP metodą zombie scanning
Skanowanie jest dwuetapowe. Najpierw należy znaleźć host w sieci lokalnej,
który nadaje się na komputer zombie. Można to zrobić za pomocą skanera
ipidseq w programie Metasploit. Kolejne komendy do wykonania:
msfconsole
use auxiliary/scanner/ip/ipidseq
show options
set RHOSTS 10.64.1.0/24
set THREADS 25
show options
run
Wybierz jeden z hostów dla których wartość IPID jest inkrementowana i
wykonaj skanowanie typu Zombie scanning przy użyciu programu Nmap:
nmap 10.64.1.X –sI 10.64.1.Y –Pn –p 1-100
(host 10.64.1.X będzie skanowany, a host 10.64.1.Y będzie hostem zombie)
Identyfikacja systemów operacyjnych i usług sieciowych
7. Wykryj banery charakterystyczne dla konkretnych usług sieciowych.

Netcat
Wykonaj skanowanie konkretnych portów. Przykład dla portu 22:
nc –vn 10.64.1.X 22

Obiekt socket w języku Python
Przeanalizuj działanie skryptu 1.py napisanego w języku Python 1 (plik do
ściągnięcia ze strony internetowej prowadzącego zajęcia). Zwróć uwagę
na obiekt socket oraz nawiązywanie połączenia TCP. Następnie przetestuj
jego działanie (pamiętaj o odpowiednich prawach dostępu).
1
Skrypt pochodzi z książki: „Skanowanie sieci z Kali Linux. Receptury” Autor: Justin Hutchens

Dmitry
Uruchom program dmitry z opcją: -pb

Nmap z silnikiem skryptowym NSE (skrypt: banner)
nmap –sT 10.64.1.X –p 22 --script=banner
Następnie wykonaj skanowanie portów z przedziału od 1 do 200

Amap
amap –B 10.64.1.X 1-2000
8. Nie zawsze usługa przedstawia się banerem. Sprawdź za pomocą
programu nmap z opcją: -nv czy zwrócony zostanie baner na porcie 80.
Jednak jest możliwość identyfikacji usługi sieciowej za pomocą Nmap –
należy użyć opcji: -sV
nmap 10.64.1.X –p 80 –sV
Przeskanuj najpopularniejsze porty sieciowe na skanowanej maszynie.
Można to zrobić wykonując komendę:
nmap 10.64.1.X –sV
9. Zidentyfikuj systemy operacyjne hostów działających w sieci lokalnej. W tym
celu przypomnij sobie jakie są domyślne wartości TTL dla systemu
operacyjnego Windows oraz Linux. Następnie przeanalizuj działanie skryptu 2
2.py w którym użyty został program Scapy. Zweryfikuj jego działanie w
praktyce (wykonaj skanowanie systemów uruchomionych na maszynach
wirtualnych w laboratorium).
Sprawdź również jak radzi sobie Nmap z identyfikacją systemów operacyjnych
(opcja -O).
10. Wykonaj skanowanie za pomocą protokołu SNMP.

Program Onesixtyone
onesixtyone 10.64.1.X public
Spróbuj również wykonać skanowanie snmp urządzeń o adresach:
10.0.0.51 oraz 149.156.119.18
2
Skrypt pochodzi z książki: „Skanowanie sieci z Kali Linux. Receptury” Autor: Justin Hutchens

Polecenie snmpwalk
snmpwalk 10.64.1.X –c public –v 2c
11. Wykonaj skanowanie aplikacji sieciowych przy użyciu narzędzi dostępnych w
środowisku Kali Linux. Przykłady znajdziesz poniżej.

Nikto
nikto –host 10.64.1.X
nikto –host google.com –port 443 -ssl

SSLscan
sslscan facebook.com

SSLyze
sslyze google.com --regular
sslyze google.com --compression
Dla ambitnych
W systemie Kali Linux znajduje się bardzo dużo aplikacji umożliwiających
skanowanie sieci. Spróbuj uruchomić taką, która nie była używana na zajęciach
(np. Nessus) i sprawdzić jej funkcjonalność, zwracane wyniki, itd.
Sprawozdanie
W sprawozdaniu z laboratorium nr 8 należy opisać wykonane ćwiczenia i ich
wyniki. W szczególności należy odpowiedzieć na zadane pytania.

Podobne dokumenty