← Prehľad cvičení · Predchádzajúce cvičenie · Nasledujúce cvičenie
Preskúmať sieťové skenovanie a rozpoznať jeho stopy v monitorovanej prevádzke.
Alternatívna topológia pre Cisco
Nakonfigurovaná topológia z prvého cvičenia v GNS3 vrátane konektivity do internetu a funkčnosti DNS
Školská VPN (ak pracujete mimo siete UNIZA)
V druhej časti nutná práca v počítačovom laboratóriu na KIS
Zenmap pre Windows
V tomto cvičení si ukážeme ako funguje nástroj **Nmap **(Windows verzia sa volá Zenmap). Nmap je bezplatný open-source nástroj na zisťovanie zariadení v sieti a môže slúžiť aj pre bezpečnostný audit. Tento nástroj používajú správcovia siete, penetrační testeri ale aj hackeri na identifikáciu zariadení v sieti, identifikáciu otvorených portov, a služieb ktoré bežia na zariadeniach. Nmap dokáže zistiť:
Operačný systém zariadenia
Otvorené porty
Typ a verziu služby
V prvej časti sa naučíte pracovať s nástrojom **Nmap. Tiež si vyskúšate nástroje ako hping3, masscan, arp-scan. Zo strany ochrany a zabezpečenia proti útočníkom sa tiež naučíte detekovať skeny pomocou IDS snort a tiež blokovať IP adresy rôznymi linuxovými nástrojmi. **V druhej časti si vyskúšate nástroj Zenmap a spustíte skenovanie pre IPv4 rozsah jednej vybranej katedry FRI, ktorá vám bude pridelená.
Názov |
Meno |
Heslo |
Kali Linux * |
<kali user> |
<kali password> |
Metasploitable |
msfadmin |
msfadmin |
SecurityOnion-Realtime * |
<securityonion user> |
<securityonion password> |
SecurityOnion-Cyberops |
analyst |
cyberops |
OpenWRT |
root |
|
OpenvSwitch |
root |
|
GVM |
admin |
admin |
Cisco 2691 |
(bez mena) |
(bez hesla) |
* - zariadenie má používateľa a heslo ktorého vytvoril študent počas cvičenia 1 v časti Zmena username
Na zariadení SecurityOnion-Realtime otvorte sguil a spustite monitorovanie pre rozhranie eth0, spustite aj kibanu (rovnako ako v cvičení 1 v bode 1 a 2). Sguil nechajte otvorený celú dobu počas vypracovávania cvičenia.
REPORT:
Do reportu analyzujte vždy nové alerty ktoré vám pribudnú v Sguil dashboarde, pre každý jeden sken, ktorý spravíte pomocou každého jedného nástroja, v každej variante ktorú zrealizujete, kedy budete meniť nastavenia cez prepínače k príkazom.
Stopujte časy jednotlivých skenov (stačí orientačne v minútach) aby ste na záver mohli porovnať rýchlosť jednotlivých nástrojov. Vykonajte aj merania času v rámci jedného nástroja pri použití inej konfigurácie (napr zmenený prepínač).
Vykonávajte na zariadení Kali Linux.
Otvorte si terminál a zadajte príkaz:
Zadajte príkaz, ktorý vám vypíše všetky možne prepínače, ktoré môžete použiť v nástroji Nmap
nmap -h
alternatívne možno použiť
man nmap
** Zistite aké IP adresy sa používajú v topológii**
Zadajte príkaz
nmap -sn 10.<#$$>.1-2.1-5
miesto <#$$> v druhom oktete použite IP rozsah pridelený v cvičení 1 v časti Konfigurácia siete
V prípade, že nám chýba jedna IP adresa zariadenia nachádzajúceho sa v topológii, je potrebné vypnúť firewall na tomto zariadení - práve firewall rule nám blokuje scan.
ak chceme vidieť aj ten tak musíme prejsť na **Security Onion **a vložiť tento príkaz
sudo ufw disable
Teraz, keď zopakujeme horný príkaz na Kali tak uvidíme aj výpisy pre Security onion
Prepínač -sn zistí, ktoré IP adresy reagujú na ping a** **vypne automatické skenovanie portov.
Zistíte či ste našli všetky zariadenia v topológii (za predpokladu, že ste všetky zariadenia zapli cez zelené tlačidlo GNS3 klienta Start all nodes).
Ako ďalší príkaz použite:
nmap 10.<#$$>.1-2.1-5
Nmap skenuje štandardne 1000 portov ak chceme skenovať viac použijeme prepínač -p
Má zariadenie na nejakej IP adrese otvorené porty** **?
Ak áno, o ktoré zariadenie sa jedná?
Aké porty sú na zariadeniach otvorené a aké služby na nich bežia?
Dokázali by ste otvoriť aj niektoré iné porty ?
Skontrolujte nové alerty v sguil dashboarde a analyzujte ich.
Upozornenie: alerty sú by default agregované do riadkov...
Pre lepšiu čítateľnosť môžete v sguil filtrovať alerty. Hore vľavo vyberte query>query by ip, zadajte ip adresu kali a vyberte možnosť src. Následne kliknite na submit. Zobrazí sa vám nová záložka v sguil dashboarde kde sú zobrazené všetky alerty so source ip adresou kali.
Použite prepínače pre nmap voči IP adrese zariadenia Metasploitable
Zistite, čo dané prepínače vykonávajú
Vyskúšajte aj kombináciu prepínačov
-p 1-65535
-sV
-sS
-O
-T4
Skontrolujte nové alerty v sguil dashboarde a analyzujte ich.
Použite nástroj Nmap aj na iných zariadeniach, a porozmýšľajte načo by nám mohol slúžiť z pohľadu kybernetickej bezpečnosti
Skenujte vzdialený server
Upozornenie: Ak robíte na školskom GNS3 servery, tak túto úlohu robte, len ak viete, že ste jediný na ňom v danom čase, budeme využívať pripojenie do internetu.
Otvorte webový prehliadač a prejdite na stránku
Go ahead and ScanMe! Prečítajte si správu na stránke.
Do príkazového riadka terminálu zadajte:
nmap -A -T4 scanme.nmap.org
Report: Skontrolujte výsledky a odpovedzte na nasledujúce otázky.
Report: Ktoré porty a služby sú otvorené?
Report: Ktoré porty a služby sú filtrované?
Report: Aká je IP adresa servera?
Report: Aký je operačný systém?
Report: Prečo nie je vidieť v Sguil dashboarde nové alerty súvisiace s týmto skenom?
Hping3 je sieťový nástroj schopný odosielať vlastné pakety na vzdialený server a zobrazovať odpovede zo vzdialeného servera na ne. Nástroj dokáže aj presúvať súbory, na základe určitých podporovaných protokolov. Pomocou hping3 sa dá testovať pravidlá brány firewall, vykonávať skenovanie portov (spoofing) a podobne.
Stopujte časy jednotlivých skenov (stačí orientačne v minútach) aby ste na záver mohli porovnať rýchlosť jednotlivých nástrojov. Vykonajte aj merania času v rámci jedného nástroja pri použití inej konfigurácie (napr zmenený prepínač).
Na zariadení Kali Linux si otvorte terminál a zadajte príkaz:
Zadajte príkaz, ktorý vám vypíše všetky možne prepínače, ktoré môžete použiť v nástroji Hping3
hping3 -h
Upozornenie: Ak nemáte hping3 nainštalovaný, tak si ho nainštalujete pomocou príkazu:
sudo apt update
sudo apt install hping3
Skenujte zariadenie Metaspoitable
Pošlite jednoduchý ping
sudo hping3 -1 -c 1 <Metasploitable IP>
Zadajte príkaz na skenovanie špecifického rozsahu portov pre zariadenie Metaspoitable
sudo hping3 --scan 1-512 -S <Metasploitable IP>
Report - screen výsledku skenovania, doplňte odpoveďou na otázky: Čo znamenajú jednotlivé pripínače?
Čo znamenajú jednotlivé stĺpce vo výpise a aké údaje ste zaznamenali?
Pozrite sa na ďalšie možné prepínače a použite niektoré z nich
MASSCAN je TCP port skener, ktorý asynchrónne prenáša TCP segmenty SYN a produkuje výsledky podobné nmap, najznámejšiemu skeneru portov. Interne funguje skôr ako scanrand, unicornscan a ZMap s použitím asynchrónneho prenosu. Je to flexibilný nástroj, ktorý umožňuje skenovať ľubovoľné rozsahy adries a portov.
Stopujte časy jednotlivých skenov (stačí orientačne v minútach) aby ste na záver mohli porovnať rýchlosť jednotlivých nástrojov. Vykonajte aj merania času v rámci jedného nástroja pri použití inej konfigurácie (napr zmenený prepínač).
Na zariadení Kali Linux si otvorte terminál a zadajte príkaz:
Zadajte príkaz, ktorý vám vypíše všetky prepínače, ktoré môžete použiť v nástroji Masscan
masscan -h
Upozornenie: Ak nemáte masscan nainštalovaný, tak si ho nainštalujete pomocou príkazov:
sudo apt update sudo apt install masscan
Skenujte zariadenia
Zadajte príkaz na skenovanie špecifického rozsahu portov pre zariadenie Metaspoitable s rýchlosťou 10 000 paketov za sekundu
sudo masscan -p1-512 <Metasploitable IP> --rate=10000
REPORT: Čo znamenajú jednotlivé pripínače + screenshot ku každému?
REPORT: Analyzujte výstup, a stručne popíšte aký výsledok ste dostali + screenshot
Zadajte príkaz na skenovanie celej siete DMZ
sudo masscan 10.<#$$>.1.0/24 –-top_ports 100
Pozn.: miesto <#$$> v druhom oktete použite IP rozsah pridelený v cvičení 1 v časti Konfigurácia siete
Čo robí daný príkaz s prepínačom?
Veľmi známy a rozsiahly sken, ktorý posiela ARP žiadosti cieľom v lokálnej sieti, a zobrazuje všetky prijaté odpovede. Má pomerne veľa modifikácii, ktoré sa dajú použiť ako napríklad --interface, pomocou ktorého špecifikujeme, ktoré sieťové rozhranie chceme použiť alebo --bandwith pomocou ktorej nastavíme požadovanú výstupnú šírku pásma a mnoho ďalších.
Stopujte časy jednotlivých skenov (stačí orientačne v minútach) aby ste na záver mohli porovnať rýchlosť jednotlivých nástrojov. Vykonajte aj merania času v rámci jedného nástroja pri použití inej konfigurácie (napr zmenený prepínač).
Na zariadení Kali Linux si otvorte terminál:
Zadajte príkaz, ktorý vám vypíše všetky možné prepínače, ktoré môžete použiť v nástroji Arp-scan
arp-scan -h
Upozornenie: Ak nemáte arp-scan nainštalovaný, tak si ho nainštalujete pomocou príkazov:
sudo apt update sudo apt install arp-scan
Skenujte lokálnu sieť
Zadajte príkaz na skenovanie lokálnej siete a zistite všetky IP adresy, ktoré vám odpovedia
sudo arp-scan -l
REPORT: Čo reprezentuje prepínač „-l“?
REPORT: Aké IP adresy ste dostali vo výpise?
REPORT: Pozrite sa na ďalšie možné prepínače, použite niektoré z nich, a okomentuje výsledky, ktoré ste dostali
V nasledujúcej časti si ukážeme ako je možné detekovať Nmap sken pomocou IDS snort.
Snort je open source IDS/IPS ktoré monituruje sieťovú prevádzku a na základe pravidiel ktoré sú zoskupované do setov pravidiel (rulesets) ktoré môžu byť stiahnuté, alebo custom definované užívateľom. Tieto pravidlá generujú alerty a logy ktoré môžu byť spracované používateľom, alebo aj ďalším systémom.
Viac na Snort - Network Intrusion Detection & Prevention System
**Štruktúra Snort pravidiel (rules): **jedno pravidlo sa skladá z hlavičky a tela.
Hlavičku definuje akciu a trigger. Trigger predstavuje filter sieťovej prevádzky (napr ip, protokol, etc) ktorý keď nájde zhodu tak vykoná definovanú akciu. Ako akcia v prípade IDS funkcionality je in general alert, čiže vypísanie nejakej správy do konzoly/logu. V prípade IPS konfigurácie môže byť akcia drop, alebo block packetu.
Telo pravidla definuje akú správu (message) vygeneruje Snort a tiež rozširuje filter trafiky o payload a non-payload dodatočné kritériá ktoré upresnia kedy sa spustí akcia. Práve telo snort rules umožňuje hlbšie ponorenie do samotného paketu. Okrem definovania filtru telo snort pravidla obsahuje aj “sid”, čo je jednoznačná reprezentácia pravidla (pre účel odlíšenia jednotlivých alertov v rámci logu) pričom hodnoty 0-999999 sú používané v rámci snort distribúcií (napr snort community rulesets) a pre lokálne pravidlá je možné použiť sid od 1000000.
Viac ohľadom tvorby snort rulesets nájdete na The Basics - Snort 3 Rule Writing Guide
Troubleshooting problémov s eth0:
Ak narazíte na problémy s port mirroringom medzi SecurityOnion-Realtime a Metasploitable, alebo vám nefunguje port eth0 prejdite si znova tieto kroky z prvého cvičenia:
V nasledujúcej časti si ukážeme ako je možné detekovať Nmap sken pomocou IDS snort.
Pokiaľ by bol Snort nasadení ako IPS, tak by bolo možné Nmap sken aj zablokovať. Tiež sa naučíte rôzne varianty ako je možné zablokovať IP adresu útočníka cez nástroje OS Linux.
Identifikujeme Nmap ping scan
Otvoríme terminál na SecurityOnion-Realtime
Otvoríme súbor local.rules kde si zadefinujeme vlastné snort pravidlá
sudo nano /etc/nsm/rules/local.rules
Pridáme pravidlo
alert tcp any any -> <IP adresa metasploitable> 22 (msg: "NMAP TCP Scan";sid:10000005; rev:2; )
Pozn.: Miesto <IP adresa metasploitable> vložte adresu zariadenia metasploitable
Zapnite IDS mód pre Snort
zastavte sensory inštalované počas sosetup
sudo so-sensor-stop
Pozn.: tento krok treba vykonať pretože stávajúca konfigurácia snort.conf je zamknutá (aj keď sme povolili editáciu, zmeny sa neprejavia a časom sa objaví pôvodná konfigurácia)
Odkomentujte riadok pre zahrnutie súboru local.rules, v ktorom sme vytvorili pravidlo. Otvorte konfiguračný súbor pre snort:
sudo nano /etc/nsm/seconion-eth0/snort.conf
Vytvorte priečinok pre logy snort príkazom
sudo mkdir /var/log/snort
Zapnite snort:
sudo snort -A console -c /etc/nsm/seconion-eth0/snort.conf -i eth0
Otvoríme Kali Linux
Otvoríme terminál
Použijeme príkaz
nmap -sT -p22 <IP adresa zariadenia Metasploitable>
Otvoríme Wireshark v Security Onion
Wireshark je potreba otvoriť cez príkaz
sudo wireshark
nie cez GUI
Použijeme filter ip.addr == <IP adresa zariadenia Metasploitable>
V terminály v ktorom vám beží zapnutý snort, Môžeme vidieť vygenerovaný alert
Zablokujeme útočníkovu adresu cez iptables
V operačnom systéme Linux je iptables nástroj na správu firewall pravidiel v OS. Iptables sú není perzistentné by default, takže sa po reštarte systému nezachovajú. Ak by sme chceli aby sa zachovali po reštarte systému, potrebovali by sme ich uložiť. Následne by sa pravidlá uložili do /etc/sysconfig/iptables. My však zatiaľ pravidlá iptables ukladať nebudeme.
Otvoríme zariadenie Metasploitable
Použijeme príkaz iptables
sudo iptables -A INPUT -s <Kali Linux IP address> -j DROP
REPORT: Čo robí daný príkaz s jednotlivými prepínačmi? (Zistite cez príkaz: iptables -h)
REPORT: Spravte ping z Kali Linux na Metasplotaible
REPORT: Čo sme z testovania zistili?
Ak chceme zablokovať len port
Vymažte najskôr pravidlo vytvorené v bode i. vyššie cez príkaz:
sudo iptables -D INPUT -s <attacker IP address> -j DROP
Spravte pokus o pripojenie z Kali Linux na port 23 na Metaspoitable cez príkaz:
sudo telnet <Metasploitable IP> 23
REPORT: Je možné sa pripojiť na daný port?
Vytvorte pravidlo na zablokovanie portu 23
sudo iptables -A INPUT -s <attacker IP address> -p tcp --destination-port 23 -j DROP
REPORT: Čo teraz znamená príkaz s jednotlivými prepínačmi?
REPORT: Vyskúšajte znova ten istý ping na port 23 (ping cez telnet na port 23). Je možné sa pripojiť teraz?
Pre ďalšiu úlohu v tomto laboratórnom cvičení odblokujeme IP adresu a port
sudo iptables -D INPUT -s <attacker IP address> -j DROP
sudo iptables -D INPUT -s <attacker IP address> -j DROP -p tcp --destination-port 23
Zablokujeme útočníkovu adresu cez príkaz route
Príkaz route alebo ip môže byť taktiež použitý na odstavenie nechcenej premávky. To je dosiahnuté pomocou takzvaného „null route“. Null route (tiež nazývaný ako blackhole route) je sieťová trasa alebo položka v smerovacej tabuľke jadra, ktorá nikam nevedie. Zodpovedajúce pakety sú skôr zahodené (ignorované), ako preposielané, čo funguje ako druh veľmi obmedzeného firewallu
Otvoríme zariadenie Metasploitable
„Null route“ cez route príkaz
Požite príkaz route na zablokovanie útočníka
sudo route add <Kali Linux IP address> gw 127.0.0.1 lo
Alebo alternatívne použiť „reject target“ cez príkaz route taktiež na zablokovanie
sudo route add -host <Kali Linux IP address> reject
Taktiež je možné zrušiť celý subnet
sudo route add -net <Kali Linux network>/24 gw 127.0.0.1 lo
Spravte ping z Kali Linux na Metasploitable
„Null route“ cez ip príkaz
Použite príkaz na vytvorenie „blackhole“ pravidla
sudo ip route add blackhole <Kali Linux IP address>
Alebo môžete vytvoriť „blackhole“ pravidlo pre celý subnet
sudo ip route add blackhole <Kali Linux network>/24
REPORT: Vyskúšajte ping z Kali Linux na Metasploitable
Odstráňte si vytvorený „null route“
Pre route príkaz
sudo route delete <Kali Linux IP address>
Alebo ak ste použili „reject target“
sudo route del -host <Kali Linux IP address> reject
Pre ip príkaz
sudo ip route delete <Kali Linux IP address>
spustenie sensorov inštalovaných počas sosetup
sudo so-sensor-start
Pozn.: Ak sa zariadenie reštartuje tak nie je potrebné vykonávať tento príkaz
Existuje niekoľko typov Nmap scans, nielen ping scan, napríklad TCP scan, XMAS scan, FIN scan, NULL scan alebo UDP scan. Ak budete mať čas, môžete si tieto scany a ich zablokovanie vyskúšať.
Nmap Scan |
Príkaz na spustenie scanu |
Snort pravidlo |
TCP |
|
|
XMAS |
|
|
FIN |
|
|
NULL |
|
|
UDP |
|
|
Na vašom počítací by ste mali mať nainštalovaný Zenmap (Windows verzia nástroja nmap). Nájdite tento nástroj. Pokiaľ ho nainštalovaný nemáte, doinštalujte ho, v školskom laboratóriu vám zadá učiteľ admin heslo na inštaláciu, ak bude potrebné.
Rozdeľte sa do 4-5 skupín, každá skupina bude skenovať jednu katedru na FRI. Zvoľte vhodné prepínače aby ste zistili tieto informácie:
IP adresy zapnutých zariadení
Otvorené porty
Služby/verzie na bežiacich zariadeniach
Operačný systém zariadení
Výsledok skenovania si uložte do textového súboru pomocou prepínača
-oN /root/Dokumenty/Sken_kadetra_XXX.txt
Rozdelenie skupín:
Skupina 1: Katedra informačných sietí (Adresný priestor: )
Skupina 2: Katedra informatiky (Adresný priestor: )
Skupina 3: Katedra technickej kybernetiky (Adresný priestor: )
Skupina 4: Katedra softvérových technológií (Adresný priestor: )
Skupina 5: Katedra matematických metód a operačnej analýzy (Adresný priestor: )
REPORT: Skenujte vlastnú domácu sieť - ak ste na internáte - môžete skenovať fakultnú sieť
Počas cvičenia sme sa naučili ako skenovať sieť s nástrojmi Nmap, Hping3, Masscan a Arp-Scan. Ďalej sme sa naučili používať Snort ako nástroj pre filtrovanie prevádzky a následné spustenie alertov pre detegovanie scanov a na základe týchto alertov sme zablokovali skenovanie na úrovni firewallu zariadenia Metasploitable. Na záver sme uskutočnili skupinový pokus skenovania lokálnej siete.
Zistenia:
Nmap je výkonný nástroj na prieskum a správu siete.
Skeny siete umoňujú správcom siete zisťovať prítomnosť zariadení a zraniteľností v sieti, ale tiež umožňujú útočníkom nájsť v sieti zariadenia alebo aj ich slabé miesta.
Čas skenu je závislý od počtu skenovaných zariadení ako aj počte portov a použitej skenovacej techniky.
Snort je nástroj pre zaznamenanie alertov z prevádzky na sieťovom rozhraní na základe určitých pravidiel.
Port-mirror (Cisco terminológia SPAN) umožňuje kopírovať celú sieťovú prevádzku na porte/zariadení čo dokáže využiť IDS pre detegovanie útokov/anomálií v sieti a následne generovať alerty/logy ktoré sú informácia pre používateľa, alebo ďalší systém ktorý tieto alerty/logy spracuje a vyhodnotí.
REPORT: Ako môže Nmap pomôcť so zabezpečením siete?
REPORT: Ako môže byť Nmap použitý hackerom ako útočný nástroj?
REPORT: Urobte menší výzkum na tému alternatíva k Snort a nájdite aspoň 2 alternatívy pre generovanie alertov zo sieťového rozrania. Príklad je Suricata ktorá okrem iného využíva aj komunitné pravidlá Snort.
REPORT: Aká je nevýhoda IPS oproti IDS?
REPORT: Akým spôsobom možno zablokovať skenovanie siete? (jednoducho slovne popísať ako by vyzeralo fw pravidlo)
REPORT: Akým spôsobom by sa v ACL dalo povoliť sken ktorý spúšťa správca systému a zablokovať sken zo strany útočníka?
← Prehľad cvičení · Predchádzajúce cvičenie · Nasledujúce cvičenie