This shows you the differences between two versions of the page.
rl:labs:12:contents:04 [2021/01/22 17:16] tudor.erghelegiu [04. [10p] Descoperirea porturile TCP deschise] |
rl:labs:12:contents:04 [2024/01/15 07:16] (current) vlad_iulius.nastase [04. [10p] Propagare corectă next-hop] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 04. [10p] Descoperirea porturilor TCP deschise ==== | + | ====== 04. [10p] Propagare corectă next-hop ====== |
- | Mai departe, ne propunem să aflăm ce porturi sunt deschise pe anumite servere pentru a vedea serviciile ce rulează și versiunile acestora ce pot avea vulnerabilități. | + | În teorie, în urma comenzilor de le exercițiul anterior ar trebui să avem conectivitate de pe router-ul ''PARI'' către alte AS-uri. |
+ | Realitatea este alta... | ||
+ | <code> | ||
+ | PARI_router# ping 21.0.2.2 | ||
+ | ping: connect: Network unreachable | ||
+ | PARI_router# | ||
+ | </code> | ||
- | În cadrul acestui exercitiu (precum si a exercitiilor urmatoare), vom folosi urmatoarele host-uri: | + | Dacă ne uităm la output-ul comenzii ''show bgp summary'' putem observa că am primit totuși de la router-ul ''LOND'' rute (coloana ''State/PfxRcd''). |
- | * ''hermes.codacloud.net'' | + | <code> |
- | * ''hefaistos.codacloud.net'' | + | PARI_router# show bgp sum |
- | Scanați aceste adrese doar pe conexiuni TCP, utilizând porturile următoare: ''21, 22, 23, 25, 53, 80, 138, 443, 8000 și 8080'' (am ales aceste porturi întrucât sunt cele mai uzuale porturi pentru expunerea serviciilor/aplicațiilor în rețea). | + | IPv4 Unicast Summary: |
+ | BGP router identifier <X>.152.0.1, local AS number <X> vrf-id 0 | ||
+ | BGP table version 0 | ||
+ | RIB entries 3, using 576 bytes of memory | ||
+ | Peers 1, using 14 KiB of memory | ||
- | Veți observa porturi ce se află în starea ''open'', ''closed'', ''filtered'' (port filtrat de un firewall) și alte tipuri pe care le puteți găsi descrise [[ https://nmap.org/book/man-port-scanning-basics.html | aici]]. | + | Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt |
+ | <X>.151.0.1 4 2 5 6 0 0 0 00:00:54 2 0 | ||
+ | Total number of neighbors 1 | ||
+ | PARI_router# | ||
+ | </code> | ||
- | <hidden> | + | Însă, dacă verificăm tabela de rutare, nu vom regăsi nicio rută către rețele din afara AS-ului nostru (spre exemplu, nu regăsim nicio rută către ''21.0.0.0/8'', spațiul de adrese al AS-ului preconfigurat). |
- | <solution> | + | |
- | <code bash> | + | |
- | root@host:~# nmap -sT -p21,22,23,25,43,80,138,443,8000,8080 hermes.codacloud.net | + | |
- | Starting Nmap 5.21 ( http://nmap.org ) at 2018-01-06 17:16 EET | + | |
- | Nmap scan report for hermes.codacloud.net (54.203.160.58) | + | |
- | Host is up (0.20s latency). | + | |
- | PORT STATE SERVICE | + | <code> |
- | 21/tcp open ftp | + | PARI_router# show ip route |
- | 22/tcp filtered ssh | + | Codes: K - kernel route, C - connected, S - static, R - RIP, |
- | 23/tcp filtered telnet | + | O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, |
- | 25/tcp closed smtp | + | T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, |
- | 43/tcp filtered whois | + | F - PBR, f - OpenFabric, |
- | 80/tcp open http | + | > - selected route, * - FIB route, q - queued, r - rejected, b - backup |
- | 138/tcp filtered netbios-dgm | + | |
- | 443/tcp closed https | + | |
- | 8000/tcp filtered http-alt | + | |
- | 8080/tcp open http-proxy | + | |
- | Nmap done: 1 IP address (1 host up) scanned in 3.27 seconds | + | S>* 2.0.0.0/8 [1/0] unreachable (blackhole), weight 1, 02:06:23 |
+ | O 2.0.1.0/24 [110/1] is directly connected, port_LOND, weight 1, 02:06:23 | ||
+ | C>* 2.0.1.0/24 is directly connected, port_LOND, 02:06:23 | ||
+ | O>* 2.0.2.0/24 [110/2] via 2.0.1.1, port_LOND, weight 1, 02:05:33 | ||
+ | O 2.0.3.0/24 [110/1] is directly connected, port_BUCH, weight 1, 02:06:22 | ||
+ | C>* 2.0.3.0/24 is directly connected, port_BUCH, 02:06:23 | ||
+ | O>* 2.0.4.0/24 [110/2] via 2.0.3.2, port_BUCH, weight 1, 02:05:31 | ||
+ | O 2.0.198.0/24 [110/10] is directly connected, matrix_2, weight 1, 02:06:25 | ||
+ | C>* 2.0.198.0/24 is directly connected, matrix_2, 02:07:47 | ||
+ | O>* 2.0.199.0/24 [110/11] via 2.0.3.2, port_BUCH, weight 1, 02:05:31 | ||
+ | O>* 2.104.0.0/24 [110/11] via 2.0.3.2, port_BUCH, weight 1, 02:05:31 | ||
+ | O>* 2.151.0.1/32 [110/1] via 2.0.1.1, port_LOND, weight 1, 02:05:33 | ||
+ | C>* 2.152.0.0/24 is directly connected, lo, 02:06:24 | ||
+ | O>* 2.152.0.1/32 [110/0] is directly connected, lo, weight 1, 02:06:23 | ||
+ | O>* 2.153.0.1/32 [110/2] via 2.0.1.1, port_LOND, weight 1, 02:05:23 | ||
+ | * via 2.0.3.2, port_BUCH, weight 1, 02:05:23 | ||
+ | O>* 2.154.0.1/32 [110/1] via 2.0.3.2, port_BUCH, weight 1, 02:05:31 | ||
+ | C>* 158.2.0.0/16 is directly connected, ssh, 02:07:58 | ||
+ | O>* 198.0.0.0/24 [110/11] via 2.0.1.1, port_LOND, weight 1, 02:05:33 | ||
+ | PARI_router# | ||
</code> | </code> | ||
- | </solution> | + | Acest lucru este cauzat de faptul că ruta învățată de router-ul ''LOND'' are ca ''next-hop'' adresa IP a IXP-ului (''180.22.0.22''), însă router-ele interne nu au o rută către această rețea. Rutele primite de la ''LOND'' sunt "undeva în memoria router-ului", însă până când nu va avea o rută către ''next-hop'' ele nu vor fi în tabela de rutare. |
- | </hidden> | + | |
+ | Pe router-ul ''LOND'' putem folosi următoarea comandă pentru a propaga rutele, în iBGP, către router-ul ''PARI'', cu adresa IP a interfeței de loopback ca ''next-hop''. | ||
+ | <code> | ||
+ | LOND_router# configure terminal | ||
+ | LOND_router(config)# router bgp <X> | ||
+ | LOND_router(config-router)# address-family ipv4 unicast | ||
+ | LOND_router(config-router-af)# neighbor <X>.152.0.1 next-hop-self | ||
+ | LOND_router(config-router-af)# | ||
+ | </code> | ||
+ | |||
+ | Verificați iar tabela de rutare de pe router-ul ''PARI'' și incercați să dați ping în router-ul ''LOND'' din AS 21 (''ping 21.0.2.2''). |