Bine ați revenit, dragii mei hackeri etici!
Am observat pe grupurile de Facebook că mulți dintre cei care aspiră la o carieră în securitatea cibernetică se întreabă dacă cunoștințele în networking este o abilitate cheie pentru hackeri. Răspunsul este un DA fără echivoc! Este foarte puțin probabil să aveți succes în acest domeniu fără o înțelegere fundamentală a rețelelor. În consecință, mă străduiesc să creez o serie de tutoriale aici, pentru a elimina acest decalaj de cunoștințe.
Adrese IP
Fiecărui dispozitiv digital (computer, laptop, telefon, tabletă etc.) i se atribuie o adresă IP, iar aceasta ne permite să comunicăm și să ne conectăm la internet. Imaginează-ți o adresă IP similară cu adresa casei tale. Fără acea adresă, nimeni nu te-ar putea găsi.
Sistemul de adrese IP pe care îl folosim în prezent este cunoscut ca versiunea IP 4 sau IPv4 (vom aborda viitorul IPv6 într-un tutorial care urmează). Este alcătuit din 32 de biți a câte patru octeți sau patru grupuri de 8 biți (comutatoare pornit/oprit).
De exemplu, 192.168.1.101. Fiecare dintre numerele dintre puncte (.) este echivalentul zecimal a 8 biți. Asta înseamnă că o să calculăm numărul de bază 2 pe care îl folosesc computerele, reprezentat de cei 8 biți și îi convertim în numere zecimale cu care oamenii sunt mai obișnuiți să lucreze (vezi diagrama de mai jos). Fiecare dintre octeți (8 biți) este capabil să reprezinte numere în intervalul de la 0 la 255 (putere de la 2 la 8).
Clase de adrese IP
Adresele IP sunt, în general, împărțite în trei clase, iar intervalele sunt:
-
Clasa A: 0.0.0.0 – 127.255.255.255
-
Clasa B: 128.0.0.0 – 191.255.255.255
-
Clasa C: 192.0.0.0 – 223.255.255.255
Într-un tutorial viitor, o să abordez subrețeaua și măștile de subrețea care variază în funcție de aceste clase diferite de IP.
Adrese IP publice vs. private
Este important să rețineți că sistemul nostru de adrese IP are limitări. Cea mai mare limitare este că nu există suficiente adrese IP pentru a acoperi toate dispozitivele care trebuie să se conecteze la internet. Sistemul IPv4 cu care lucrăm acum are doar 4,3 miliarde de adrese IP. Cu 7,5 miliarde de oameni pe planetă și mult mai multe dispozitive, cu siguranță nu este suficient.
Ca rezultat, a fost dezvoltat un sistem pentru a reutiliza un grup de adrese IP pentru a fi utilizate într-o rețea LAN și nu sunt utilizabile pe internet. Aceste adrese pot fi folosite din nou și din nou în cadrul fiecărei rețele locale, dar nu și pe internet, păstrând astfel numărul de adrese IP necesare pentru a menține lumea în circulație.
Aceste adrese private includ:
-
192.168.0.0 – 192.168.255.255
-
10.0.0.0 – 10.255.255.255
-
172.16.0.0 – 172.16.255.255
Probabil că ați văzut adresele IP private care încep cu 192.168.xxx.xxx sau 10.xxx.xxx.xxx pe sistemul vostru Linux, când tastați comanda ifconfig.
DHCP
Dynamic Host Configuration Protocol (DHCP) atribuie adrese IP în mod dinamic. Asta înseamnă că nu aveți aceeași adresă IP tot timpul. De cele mai multe ori, aceste atribuiri de adrese IP sunt pe o rețea locală. Amintiți-vă, pe rețele LAN folosim adrese IP private. Când fiecare dispozitiv este conectat la LAN, acesta trebuie să solicite o adresă IP. Acel dispozitiv trimite acea cerere către serverul DHCP care apoi atribuie o adresă IP acelui sistem pentru o perioadă fixă de timp, cunoscută sub numele de „închiriere”.
NAT
Network Address Translation (NAT) este un protocol prin care adresele IP private interne sunt „traduse” la o adresă IP publică externă, care poate fi direcționată prin internet către destinația sa. Amintiți-vă, adresele IP private ale sistemelor din interiorul LAN nu pot folosi adresele lor IP pe internet, deoarece nu sunt unice (fiecare LAN utilizează practic aceleași adrese IP în rețeaua lor).
Dispozitivul NAT acceptă solicitări de a traversa internetul de la o mașină internă. Apoi înregistrează adresa IP a acelei mașini într-un tabel și convertește adresa IP în adresa IP externă a routerului. Când pachetul revine de la destinație, dispozitivul NAT se uită în tabelul său salvat cu cererea originală și redirecționează pachetul către adresa IP internă a sistemului, care a făcut cererea inițială în LAN. Când funcționează corect, sistemele și utilizatorii individuali nici măcar nu își dau seama că această traducere are loc.
De exemplu, diagrama de mai sus arată patru computere cu adrese IP private în spatele unui dispozitiv care servește atât ca dispozitiv NAT, cât și ca router (nu este neobișnuit). Dispozitivele își folosesc adresele IP private în LAN, dar atunci când doresc să comunice prin internet, dispozitivul NAT îl traduce la una dintre adresele IP publice care sunt unice pe internet. În acest fel, routerele de pe parcurs știu exact unde să trimită pachetele.
Porturi
Porturile sunt un fel de sub-adresă. Adresa IP este adresa principală, iar portul este subadresa. Folosind o metaforă uzată, dar eficientă, gândiți-vă la adresa IP ca la adresa străzii a unei clădiri și apoi la port ca la numărul apartamentului. Am nevoie de adresa străzii pentru a ajunge la clădirea potrivită, dar am nevoie de adresa apartamentului pentru a găsi pe cine caut. Este același lucru cu porturile. Adresa IP ne duce la mașina potrivită, dar portul ne duce la serviciul corect, să presupunem că HTTP pe portul 80.
Există 65.536 porturi. Primele 1.024 sunt denumite în general „porturi comune”. Oamenii, evident, nu-și amintesc toate cele 65.536 de porturi, sau chiar cele 1.024 de porturi, care sunt cele mai comune. În calitate de hacker, inginer de securitate și/sau inginer de rețea, totuși, există câteva porturi pe care ar trebui să le cunoașteți ca pe ,,Tatăl nostru”:
-
20 FTP
-
21 FTP
-
22 SSH
-
23 Telnet
-
25 SMTP
-
53 DNS
-
69 TFTP
-
80 HTTP
-
88 Kerberos
-
110 POP3
-
123 NTP
-
135 Microsoft’s RPC
-
137-139 Microsoft’s NetBIOS
-
143 IMAP
-
161 SNMP
-
389 LDAP
-
443 HTTPS or HTTP over SSL
-
445 SMB
-
500 IKE
-
514 syslog
-
3389 RDP
Putem folosi un instrument precum nmap pentru a vedea ce porturi sunt deschise pe un sistem. În acest fel, inginerul de securitate sau hackerul poate vedea ce porturi sunt deschise și serviciile care rulează pe sistemul țintă.