Nástroje práce se sŕtŕ PB156cv - jaro 2019 Michal Šnajdr snajdr@ics.muni.cz Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Cíle cvičení ► získat přehled o nástrojích pro analýzu sítě ► co vlastně hledáme? ► praktické vyzkoušení Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Problémy na poslední míli ► 1. vrstva ► Máme ten kabel opravdu zapojený? ► Pracujeme se správným rozhraním? ► 2. vrstva ► vidíme souseda/GW v ARP cache ► 3. vrstva ► Mám správnou masku? ► Mám nastavenu GW? ► Funguje spojení s GW? Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí ethtool vypíše informace o 1 a 1.5 vrstvě: $ ethtool enp2s0 Settings for enp2s0: Supported ports: [ TP Mil ] Supported link modes: lObaseT/Half lObaseT/Full lOObaseT/Half lOObaseT/Full lOOObaseT/Half lOOObaseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: lObaseT/Half lObaseT/Full lOObaseT/Half lOObaseT/Full lOOObaseT/Half lOOObaseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: lObaseT/Half lObaseT/Full lOObaseT/Half lOObaseT/Full lOOObaseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: lOOOMb/s Duplex: Full Port: Mil PHYAD: 0 Transceiver: internal Auto-negotiation: on Cannot get wake-on-lan settings: Operation not permitted Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí ip addr výstup obsahuje LI, L2 i L3 informace $ ip addr 1: lo: mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ethO: mtu 1500 qdisc mq state UP qlen 1000 link/ether 8d:67:45:e7:56:89 brd ff:ff:ff:ff:ff:ff inet 147.251.1.70/26 brd 147.251.1.65 scope global ethO inet6 fe80::8d67:45ff:fee7:5689/64 scope link valid_lft forever preferred_lft forever 3: ethl: mtu 1500 qdisc mq state DOWN qlen 1000 link/ether e4:If:13:e5:41:82 brd ff:ff:ff:ff:ff:ff inet 172.31.5.147/24 brd 172.31.5.255 scope global ethl 4: eth2: mtu 1500 qdisc mq state UP qlen 1000 link/ether 34:40:b5:a6:d3:98 brd ff:ff:ff:ff:ff:ff inet6 fe80::3640:b5ff:fea6:d398/64 scope link valid_lft forever preferred_lft forever 5: eth3: mtu 1500 qdisc mq state DOWN qlen 1000 link/ether 34:40:b5:a6:d3:9a brd ff:ff:ff:ff:ff:ff inet6 fe80::3640:b5ff:fea6:d39a/64 scope link valid_lft forever preferred_lft forever 6: eth4: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:lb:21:bd:0c:eO brd ff : ff:ff:ff:ff:ff inet 10.254.87.63/24 brd 10.254.87.255 scope global eth4 inet6 fe80::21b:21ff:febd:ce0/64 scope link valid_lft forever preferred_lft forever 7: eth5: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 00:lb:21:bd:Oc:el brd ff:ff:ff:ff:ff:ff inet6 fe80::21b:21ff:febd:cel/64 scope link valid_lft forever preferred_lft forever Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí 2. a 3. vrstva - routovací tabulka ► jaké sítě v ní vidíme? ► z kterého zařízení budeme přistupovat do Internetu? $ ip route default via 147.251.255.1 dev enp0s25 proto dhcp metric 100 default via 147.251.44.1 dev wlp3s0 proto dhcp metric 600 147.251.255.0/26 dev enp0s25 proto kernel scope link src 147.251.255.16 metric 100 147.251.44.0/22 dev wlp3s0 proto kernel scope link src 147.251.44.81 metric 600 169.254.0.0/16 dev wlp3s0 scope link metric 1000 8.8.8.8 via 147.251.44.1 dev wlp3s0 Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí 2. a 3. vrstva - dostupnost zařízení Který z následujících výstupů je funkční LAN (GW je 192.168.255.1)? $ ping 192.168.255.1 PING 147.251.255.1 (147.251.1.1) 56(84) bytes of data. ~C --- 192.168.255.1 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2032ms $ ip neigh 192.168.255.1 dev ethO lladdr 00:14:4f:e2:17:c4 REACHABLE $ ping 192.168.255.1 PING 147.251.255.1 (147.251.255.1) 56(84) bytes of data. ~C --- 192.168.10.1 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2032ms $ ip neigh 192.168.255.38 dev ethO lladdr 00:28:4f:e2:46:e7 REACHABLE 192.168.255.1 dev ethO INCOMPLETE Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí Protokol ICMP Slouží pro: ► reportovaní chyb přenosu ► kontrole dostupnosti (ping) ► přesměrování na jiný router V IPv6 převzal roli protokolu ARP + přidáno oznámení směrovače (SLAAC). Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Druhy zpráv ICMP Type S Name E_Reference 51 0 Echo Reply [RFC7921 1 Unassigned 2 Unassigned 3 Destination Unreachable [RFC7921 4 Source Quench (Deprecated) [RFC7921IRFC66331 5 Redirect [RFC7921 6 Alternate Host Address (Deprecated) [RFC69181 7 Unassigned 8 Echo [RFC7921 9 Router Advertisement ÍRFC12561 10 Router Solicitation [RFC12561 11 Time Exceeded [RFC7921 12 Parameter Problem [RFC7921 13 Timestamp [RFC7921 14 Timestamp Reply [RFC7921 15 Information Request (Deprecated) [RFC7921ÍRFC69181 16 Information Reply (Deprecated) [RFC7921ÍRFC69181 17 Address Mask Request (Deprecated) ľRFC9501ľRFC69181 18 Address Mask Reply (Deprecated) ľRFC9501ľRFC69181 19 Reserved (for Security) [Solo] 20-29 Reserved (for Robustness Experiment) ESu] 30 Traceroute (Deprecated) [RFC13931IRFC69181 31 Datagram Conversion Error (Deprecated) [RFC14751IRFC69181 32 Mobile Host Redirect (Deprecated) [David |ohnsonl[RFC6918l 33 IPv6 Where-Are->t>u (Deprecated) [Simpsonl[RFC69181 34 IPv6 l-Am-Here (Deprecated) [Simpsonl[RFC69181 35 Mobile Registration Request (Deprecated) [Simpsonl[RFC69181 36 Mobile Registration Reply (Deprecated) [simpsíínirRFcegisi 37 Domain Name Request (Deprecated) ľRFC17881ľRFC69181 38 Domain Name Reply (Deprecated) [RFC17881ÍRFC69181 39 SKIP (Deprecated) ľMarksonlľRFC6918l 40 Photuris ÍRFC252U 41 ICMP messages utilized by experimental mobility protocols such as Seamoby ÍRFC40651 42 Extended Echo Request ÍRFC83351 43 Extended Echo Reply ÍRFC83351 44-252 Unassigned 253 RFC3692-style Experiment 1 [RFC47271 254 RFC3692-style Experiment 2 [RFC47271 255 Reserved [JBP] https://www.iana.org/assignments/icmp-parameters/icmp-parameters. xhtml Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí Ködy ICMP typ 3 Type 3 — Destination Unreachable Registration Procedure(s) IESG Approval or Standards Action Reference IRFC7921IRFC27801 Available Formats CSV Codes m Description S Reference m 0 Net Unreachable [RFC7921 1 Host Unreachable [RFC7921 2 Protocol Unreachable [RFC7921 3 Port Unreachable [RFC7921 4 Fragmentation Needed and Don't Fragment was Set [RFC7921 5 Source Route Failed [RFC7921 6 Destination Network Unknown TRFC11221 7 Destination Host Unknown ľRFC11221 8 Source Host Isolated ľRFC11221 9 Communication with Destination Network is Administratively Prohibited TRFC11221 10 Communication with Destination Host is Administratively Prohibited TRFC11221 11 Destination Network Unreachable for Type of Service ľRFC11221 12 Destination Host Unreachable for Type of Service ľRFC11221 13 Communication Administratively Prohibited ľRFC18121 14 Host Precedence Violation TRFC18121 15 Precedence cutoff in effect ľRFC1S121 https : //www. i ana. org/assigments/icmp-parameters/icmp-paraineters . xht ml # i cmp - p ar ame t e r s - c o de s - 3 Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Trace route ► postupně zasílá pakety se zvyšujícím se TTL ► podle příchozích ICMP zpráv reportuje kudy je paket směřován včetně RTT ► ve výchozím nastavení pousílá ICMP echo (Windows) nebo UDP pakety (Unix) ► utilita traceroute v Unix, tracert ve Windows |TH C:\Windows\system32\cmd.eHe t: \Users\sinchume: traceroute 10 . 0 .4 .4 'traceroute1 Is not recognized as an Internal or external command, operable program or batch file. C:\Users\sinchume>tracert 10.0.4.4 Tracing route to 10.0.4.4 over a maximum of 30 hops 1 1 ms 1 ms 1 ms 10.0.1.1 2 29 ms 38 ms 29 ms 10.0.172.1 3 9 ms 9 ms 9 ms 10.0.138.197 4 9 ms 9 ms 9 ms 10.0.67.121 5 11 ms 10 ms 9 ms 10.0.129.37 6 * Reguest timed out 7 * Reguest timed out 8 * Reguest timed out 9 * Reguest timed out 10 * Reguest timed out 11 16 ms 15 ms 16 ms 10.0.4.4 Trace complete. C:\Users\sinchume>_ Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí DNS utility DNS kromě překladu jmen na IP adresy dokáže dát i další informace o uložené v systému DNS ► server zpracovávající poštu pro stroj/doménu ► servery služeb ► SIP (VoIP) ► Kerberos ► CalDAV ► tiskárny ► $ host youtube.com youtube.com has address 216.58.201.110 youtube.com has IPv6 address 2a00:1450:4014:801::200e youtube.com mail is handled by 30 alt2.aspmx.1.google.com. youtube.com mail is handled by 20 alt 1.aspmx.1.google.com. youtube.com mail is handled by 10 aspmx.1.google.com. youtube.com mail is handled by 50 alt4.aspmx.1.google.com. youtube.com mail is handled by 40 alt3.aspmx.1.google.com. $ host 216.58.201.110 110.201.58.216.in-addr.arpa domain name pointer prg03s02-in-fl4.lel00.net. 110.201.58.216.in-addr.arpa domain name pointer prg03s02-in-fll0.lel00.net. Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí Příklad reálného využití informací z DNS při hledání chyby $ host scmsadmin.thermofisher.com scmsadmin.thermofisher.com is an alias for thermofisher.com.edgekey.net. thermofisher.com.edgekey.net is an alias for thermofisher.com.edgekey.net.globalredir.akadns.net. thermofisher.com.edgekey.net.globalredir.akadns.net is an alias for e1778.x.akamaiedge.net. e1778.x.akamaiedge.net has address 23.38.80.158 Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Nmap Nástroj pro mapování sítě/stroje. Mnoho různých skenů sítě. Příklady: $ nmap gitlab.ics.muni.cz Starting Nmap 7.40 ( https://nmap.org ) at 2019-03-28 20:42 CET Nmap scan report for gitlab.ics.muni.cz (147.251.6.102) Host is up (0.00037s latency). Other addresses for gitlab.ics.muni.cz (not scanned): 2001:718:801:406::102 Not shown: 995 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 111/tcp open rpcbind 443/tcp open https 9102/tcp open jetdirect # nmap -sP 147.251.1.64/26 Starting Nmap 7.40 ( https://nmap.org ) at 2019-03-28 20:44 CET Nmap scan report for routics.ics.muni.cz (147.251.1.65) Host is up (0.0013s latency). Nmap done: 64 IP addresses (1 host up) scanned in 1.96 seconds Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí Rekapitulace ► 1. vrstva ► ethtool ► 2. vrstva ► ip neigh (ARP) ► ip addr (MAC adresy) ► 3. vrstva ► ip addr (adresy) ► ip routě (směrovací tabulka) ► ping (oznamování chyb, testování) ► traceroute (hledání cesty) ► 4. vrstva ► nmap ► Aplikační vrstva ► host, nslookup (DNS dotazy) Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Firewal Označní pro zařízení/software provádějící filtrování provozu. Podle způsobu funkce je dělíme na: ► stavové - hlídají průběh spojení ► bezstavové (filtry) - posuzují každý paket zvlášť Takzvané Next Generation FW jsou kombinovány s funkcemi: ► IPS ► filtrování webových stránek antivirová kontrola ► detekce aplikací ► ochrana proti malwaru Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí IPtables iptables je nástoj pro nastavování FW pravidel v linuxovém jádře. Práva měnit FW má v linuxu pouze superuživatel. Pravidla jsou seřazeny v tzv. chain: ► INPUT - data určená pro danou stanici ► OUTPUT - data odesílána stanicí ► FORWARD - pokud stanice funguje jako router Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Výchozí chování Pokud paket není zpracován žádným z pravidel, uplatní je výchozí akce pro daný chain. Pravidla se vyhodnocují postupně podle pořadí. U distribuje Kubuntu na počítačích cvičení je výchozí politikou vše povolit. # iptables -L Chain INPUT (policy ACCEPT) target prot opt source Chain FORWARD (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source Základní syntaxe: iptables [tabulka] [akce] [chain] [ip_část] [match] [target] [target_info] destination destination destination Michal Š naj d r snajdr@ics.muni.cz Nástroje práce se sítí iptables -P INPUT DROP Další příklady: Wpovolení provozu z 192.168.0.1 přicházející na rozhraní ethO iptables -A INPUT -i ethO -s 192.168.0.1 -j ACCEPT Wzahození všech tep paketů které nepocházejí z 192.168.0.1 iptables -A INPUT -p tep -s ! 192.168.0.1 -j DRDP Wpřidání pravidla na řádek 2 pro povolení TCP/80 odkudkoliv iptables -I INPUT 2 -p tep —dport 80 -j ACCEPT Wodebrání 5. pravidla iptables -D INPUT 5 Wvypsání pravidel včetně očíslovaných řádků iptables -L —line-numbers □ S1 = Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí Úkol Všechny počítače budou připojeny do switche v jedné společné síti ► Nastavte adresu 10.0.0.X/24, kde X je přidělené číslo počítače (/p addr add 10.0.0.X/24 dev YYYY), nezapomeňte vypnout network-manager. ► Změňte politiku chainu INPUT na DROP ► Proveďte nmap scan stanic v lokální LAN a porovnejte s ARP tabulkou. ► Povolte v iptables ping, ssh a http spojení na váš počítač. ► Proveďte scan portů na počítač souseda. ► Zkuste se připojit http/ssh na další počítače v lab Protokol bude obsahovat: ► Aplikovaná pravidla ► Analýzu stanic v lokální síti ► Interpretaci nmap scanů. Michal Šnajdr snajdr@ics.muni.cz Nástroje práce se sítí