Másodfokon… (ARP és barátai)

Ebben a bejegyzésben a TCP/IP univerzum második rétegéről lesz pár szó. A pár szó szó szerinti (elég hülyén néz ki így leírva), a teljes leírás könyvet érdemelne… (ahogy van is ;)). A legtöbb felhasználó nem sok fogalommal rendelkezik erről a rétegről (miért is kellene tudnia?), és sajnos a rendszergazdák többségének is csak halvány, hozzávetőleges fogalma van az itt zajló dolgokról 😦 Ezt a tendenciát sajnos a nagy cégek is erősítik, igen kevés olyan komplex védelmi rendszer van ami ezen réteg védelmét látná el, koncentrálva a kliens forgalomra. Pedig igény is lenne rá, illetve a hasznosságát sem lehet elvitatni, ugyanis ezen a rétegen igen nagy problémákat lehet okozni, minimális tudással felfegyverkezve. A legtöbb, egyéb rétegben dolgozó alkalmazás ‘szentírásnak’ veszi az L2 által közölt adatokat, így igen érdekes dolgokat eredményezhet ezen réteg célzott támadása.

Per pillanat ebben a bejegyzésben csak a legfontosabb, legalapvetőbb protokollok szerepelnek. A részletes támadási formákról később, egyenlőre csak fedezzük fel, s ismerjük meg említés szintjén őket…

ARP (Address Resolution Protocol)
Legrégebbi, s egyben legfontosabb protokoll. Ezen protokoll segítségével tudják a hálózati eszközök a MAC címeket és az IP címeket egymáshoz kapcsolni. Korából adódóan (szokás szerint 😦 ) nem tartalmaz hitelesítést és titkosítást, a teljes bizalmon alapul. Ezt (és a gratuitous ARP funkciót: az ARP válasz broadcastra megy, akihez eljut a válaszban közölt információkat eltárolja) kihasználva a támadó úgynevezett ARP poisoning támadást tud kivitelezni. A támadás lényege, hogy két kommunikáló féllel elhiteti, hogy Ő a másik, s ezáltal a köztük futó kommunikáció rajta keresztül áramlik.

DTP (Dynamic Trunking Protocol)
A legérdekesebb állatfajta, és egyben a leghasznosabb is 🙂 A DTP szolgál arra, hogy a switchek egymást közt le tudják beszélni a trunk port(ok) paramétereit. Nemcsak globálisan, hanem port szinten is lehet/kell állitani. Ezáltal egy érdekes kiskapura lehet találni: kis unszolásra a támadó rá tudja beszélni a switchet, hogy a portot kapcsolja trunk üzemmódban. Ezek után, ha a portot megfelelő módon teggeli, a támadó egyéb VLAN-okba is bele tud hallgatni…

HSRP, VRRP (Hot Stand-by Redundancy Protocol, Virtual Router Redundancy Protocol)
Mindkét protokoll feladata hogy több router összekapcsolását végezzék el, transzparensen, redunáns módon a default gateway funkció számára. Ha az aktív router kiesik, feladatát átveszi a sorban következő, a felhasználó számára észrevehetetlenül. MiTM (és ebből adódóan DOS) támadásra is lehetőséget adnak, mivel egyik protokoll sem tartalmaz hitelesítést. Ezáltal könnyen kivitelezhető az a lehetőség, hogy a támadó behazudja magát a legnagyobb priorítású helyettesítő routernek, majd valamilyen technológiával kiüti az elsődleges routert. Így a teljes forgalom átkerül a támadóhoz…

RSTP (Rapid Spanning Tree Protocol)
Az ARP mellett a legfontosabb protokoll a rétegben. Ezen protokoll felelős, hogy a hálózatban lévő feszítőfa a lehető leggyorsabban, és a lehető legkisebb erőforrással felépíthető legyen. A protokoll a STP protokoll utódja, azzal visszafele kompatibilis. Ezen protokoll manipulálásával elvégezhető legegyszerűbb támadása forma, ha a már meglévő fát  összezavarjuk, helytelen access pontokat jelölünk ki. Ebben az esetben még a nagy fizikai redundanciával rendelkező hálózatok is összezavarodnak, s nem az elvárt működést produkálják. Kifinomultabb módja a támadásnak ha célzottan avatkozunk be a fa felépítésébe, s magunkat nevezzük ki, akár a fa gyökerének, akárcsak egy rész csúcspontjának. Ekkor minden (abban a fa-részben) forgalom a gépünkön fog áthaladni… Elméletben ennek helyes megvalósítása egyszerű, azonban a gyakorlatban gyorsan szembesülni fogunk azzal a problémával, hogy mit is kezdünk több gigabitnyi forgalommal… 😉

 

 

 

CTF365.com VPN in Kali 2.0

Open terminal and type:

apt-get -y install network-manager-openvpn network-manager-openvpn-gnome

Download the other files in your ctf365 account to machine.

Now go to Settings -> Network -> + -> VPN -> Import from file -> Select file config.conf

Copy the user name and password (from user-pass.txt file) to their places in the Add Network Connection window.

Now is ready to connect, turn this on and wait to confirm is connected (It is a lot).

(If you need to, run ‘update-resolv-conf.bash’ script…)