A számítógépes hálózatok mögött számos olyan technológia húzódik, amely nemcsak segíti, hanem esetenként veszélyezteti is a rendszereket. Ilyennek tekinthető a szkennelés – mint hálózatvizsgálati tevékenység – is. Nézzük meg, mit jelent, hogyan működik a network- és portscanning, valamint miért kapta az egyik típusa az ünnepi időszakra utaló XMAS scan nevet!
A hálózati vizsgálathoz szorosan kapcsolódik néhány fontos fogalom és koncepció. A TCP (Transmission Control Protocol) és az UDP (User Datagram Protocol) a hálózati kommunikáció két alapvető protokollja, amelyek az adatátvitelben játszanak szerepet, különböző módokon. Míg a TCP-kapcsolatalapú, megbízható adatátvitelt kínál az úgynevezett 3-way handshake (háromutas kézfogás) folyamatával, addig az UDP kapcsolat nélküli, gyorsabb, de kevésbé megbízható protokoll, amely például videóstreaming vagy játékok esetében használatos.
Kép forrása: Cloudflare – What is TCP/IP?
A TCP flag-ek („zászlók”) is kulcsszerepet játszanak a folyamatban, ezek határozzák meg a kapcsolat aktuális állapotát. Például a SYN jelzés kapcsolatkezdeményezésre, az ACK visszaigazolásra, a FIN pedig a kapcsolat lezárására szolgál. A különböző technikák, mint például az xmas scan, gyakran flagek szokatlan kombinációit használják, hogy a rendszerek válaszai alapján információkat gyűjtsenek a hálózatról, miközben megpróbálnak rejtve maradni a hálózatfigyelő rendszerek elől. A portok olyan logikai csatornák, amelyek egy adott alkalmazáshoz vagy szolgáltatáshoz kapcsolódnak. Míg az IP-cím lehetővé teszi, hogy az üzenetek adott eszközökre és eszközökről érkezzenek, az eszközökön belül a meghatározott szolgáltatások vagy alkalmazások kiválasztását a portszámok biztosítják.
A szkennelés során egy eszköz különféle módszerekkel próbál információkat gyűjteni más eszközökről, hálózatokról vagy szolgáltatásokról. Ez a folyamat egyfajta „digitális felderítésként” írható le. Célja lehet legitim, jogszerű (például rendszergazdák által végzett ellenőrzés a biztonsági rések feltárására) vagy akár rosszindulatú is (például támadók próbálnak sebezhetőségeket keresni, amelyeket kihasználva illetéktelen hozzáférést szerezhetnek). A folyamat alatt különböző típusú csomagokat küldünk az eszközöknek, és azok válaszai alapján következtetünk például az elérhető szolgáltatásokra vagy biztonsági beállításokra. Hálózat szkennelése során az IP-címeket és az aktív eszközöket deríthetjük fel, míg portszkennelés esetén a portok állapotát vizsgáljuk – például nyitott, zárt vagy szűrt-e egy adott port.
A TCP connect scan, más néven full open scan a legegyszerűbb szkennelési technika, amely során teljes háromlépcsős kézfogás zajlik a célpont portjaival. Ez a módszer pontosan jelzi, hogy a port nyitott vagy zárt, azonban lassúnak és „zajosnak” számít – könnyen észlelhető, mivel a kapcsolatfelvétel minden lépése megtörténik és látható a hálózatfigyelő eszközök számára.
A stealth scan, vagyis half open technikák már törekednek arra, hogy rejtve maradjanak a hálózatfigyelés elől. Az egyik legismertebb formája a SYN scan, amely csak az első lépést (SYN jelzést) küldi el, és a beérkező válasz (SYN-ACK vagy RST) alapján állapítja meg a port állapotát, anélkül, hogy teljes kapcsolatot létesítene. A FIN scan egyetlen FIN-zászlót használ, amely normál esetben kapcsolatbontásra szolgál, míg a NULL scan egyetlen zászlót sem állít be. Ezek a módszerek mind a válaszok vagy azok hiánya alapján próbálják azonosítani a portok állapotát, miközben kevésbé feltűnőek. Az XMAS scan szintén a stealth scanek csoportjába tartozik, képes megkerülni bizonyos típusú szűrőket és tűzfalakat. Különlegessége, hogy a TCP csomagban több zászlót egyszerre állít be: a fejléc PSH, URG és FIN zászlóinak manipulálására szolgál.
Kép forrása: Plixer – Understanding Xmas Scans
A Wireshark hálózati protokoll-analizátoron belül láthatjuk, hogy mivel váltakozó bitek vannak engedélyezve (1-es jelöléssel), ezek mondhatni „villognak” – hasonlóan ahhoz, ahogyan egy karácsonyfát világítana meg egy égősor. Innen kapta ez a típus az Xmas scan, Christmas tree scan neveket. Ha a port nyitva van a célrendszeren, akkor a csomagok figyelmen kívül maradnak, ha zárt, akkor egy RST-t küld vissza a vizsgálatot futtató személynek. Az így kialakított viselkedés lehetővé teszi a támadó számára, hogy az említett szabálytalan formájú csomagok küldésével felismerje a zárt portokat a célrendszer válaszai alapján.
Az idle scan, vagy más néven zombie scan egy fejlettebb technika, amely harmadik fél, egy „zombi” gép segítségével végzi el a szkennelést. A szkenner nem közvetlenül küldi el a csomagokat a célpontra, hanem a zombi gépen keresztül továbbítja azokat. Ezáltal a célpont számára úgy tűnhet, mintha a forgalom a zombi gépből érkezne, anonimitást biztosítva a valós kezdeményezőnek, miközben az eredmények megbízhatók maradnak.
Amennyiben mélyebben szeretnél foglalkozni a témával, számos eszköz létezik, amelyek nemcsak a szakemberek munkáját segítik, hanem tanulási célokra is díjmentesen használhatók – természetesen kizárólag jogszerű módon és megfelelő feltételek mellett.
Az Nmap, a ZMap és az OpenVAS mind nyílt forráskódú eszközök, melyek különböző célokra szolgálnak. Az Nmap egy sokoldalú hálózati szkenner, amely képes azonosítani az aktív hosztokat, nyitott portokat, futó szolgáltatásokat és operációs rendszereket, ideális kisebb hálózatok alapos vizsgálatára és sebezhetőségek felderítésére. A ZMap ezzel szemben nagy léptékű szkennelési feladatokra lett optimalizálva, képes gyorsan átvizsgálni hatalmas IP-címtartományokat, rövid idő alatt lehetővé teszi kiterjedt hálózatok elemzését. Az OpenVAS egy sebezhetőség-értékelő rendszer, amelynek célja a hálózati eszközök biztonsági réseinek felderítése és értékelése. Széles körű adatbázissal rendelkezik a különböző sebezhetőségekről, és képes automatikusan jelentéseket készíteni a talált problémákról.
Kiemelt kép: Freepik