12 hálózati csomagelemző Sysadmin és biztonsági elemzők számára

Az Ön hálózata az üzleti tevékenységének gerince. Győződjön meg róla, hogy tudja, mi történik a mélyben.

A digitális vállalkozások tája sok szempontból egy-két forradalmat élt meg. Ami egyszerűnek indult CGI szkriptek A Perlben írt mára Kubernetesen és más hangszerelési keretrendszereken teljesen automatizáltan futó fürtözött telepítésekké nőtte ki magát (elnézést a súlyos zsargonért – egyáltalán nem találom ki, ez manapság csak így megy!).

Egy tipikus konténeres, elosztott modern webalkalmazás (forrás: medium.com)

De nem tudok nem mosolyogni azon a gondolaton, hogy az alapok még mindig ugyanazok, mint az 1970-es években.

Csak absztrakcióink vannak absztrakciókkal, amelyeket kemény, fizikai kábelek támogatnak, amelyek a hálózatot alkotják (oké, vannak virtuális hálózatok is, de értitek). Ha divatosak akarunk lenni, feloszthatjuk a hálózatot rétegekre az OSI-modell szerint, de mindent elmondva, mindig, mindig foglalkozunk TCP/IP protokollok (figyelmeztetés, nehéz olvasás előtt áll!), ping-ek, útválasztók, amelyek mindegyikében egy közös cél – adatcsomagok továbbítása.

Tehát mi az a hálózati csomag?

Mindegy, hogy mit csinálunk – csevegünk, videó streamelünk, játszunk, szörfözünk, vásárolunk dolgokat – ez lényegében adatcsomagok cseréje két számítógép (hálózat) között. A „csomag” a hálózatban (vagy hálózatok között) áramló információ legkisebb egysége, és létezik egy jól definiált módszer a hálózati csomagok létrehozására és ellenőrzésére (a cikk keretein túlmenően, de ha kalandosnak érzi magát, itt van: több).

Csomagfolyam a hálózatban (forrás: training.ukdw.ac.id)

Egyszerűbben fogalmazva, minden csomag egy láncszemet jelent, és megfelelően továbbítják a forrásnál, és érvényesítik a célállomáson. Még akkor is, ha egyetlen csomag érkezik vagy rendel, a folyamat felfüggesztésre kerül mindaddig, amíg az összes csomag a megfelelő sorrendben meg nem érkezik, és csak ezután állítják össze az eredetileg ábrázolt adatot (például egy képet).

Most, hogy megértjük, mi a hálózat, meg kell értenünk, mit csinál a hálózatelemző. Ez egy olyan eszköz, amely lehetővé teszi, hogy betekintsen a hálózat egyes csomagjaiba.

De miért akarna belemenni abba a bajba? Ezt beszéljük meg legközelebb.

Miért kell elemezni a csomagokat?

Úgy tűnik, hogy a csomagok nagyjából a hálózati adatfolyamok alapvető építőkövei, ugyanúgy, mint az atomok minden anyag alapját (igen, tudom, ezek nem igazi alapvető részecskék, de ez elég jó analógia a céljainkra) . És amikor az anyagok vagy gázok elemzéséről van szó, soha nem törődünk azzal, mit csinál az egyes atomok; szóval minek aggódni egyetlen hálózati csomag miatt egyéni szinten? Mit tudhatunk mást, mint amit már tudunk?

Nehéz eladni a csomagszintű elemzés fontosságát, ha korábban még nem harapott meg hátul, de megpróbálom.

A csomagelemzés azt jelenti, hogy bemocskolja a kezét, és belenyúl a vízvezetékbe, hogy kitaláljon valamit. Általában akkor kell elemeznie a hálózati csomagokat, ha minden más nem sikerült. Ez jellemzően a reménytelennek tűnő forgatókönyveket foglalja magában:

  • A titkos adatok megmagyarázhatatlan elvesztése a nyilvánvaló jogsértés ellenére
  • Lassú alkalmazások diagnosztizálása, amikor úgy tűnik, hogy nincs bizonyíték
  • Győződjön meg arról, hogy számítógépe/hálózata nem került veszélybe
  • Bebizonyítani vagy cáfolni, hogy a támadó nem malacháton kikapcsolva a WiFi-ről
  • Annak kiderítése, hogy az alacsony forgalom ellenére miért a szerver a szűk keresztmetszet

Összességében a csomagelemzés bizonyos, kemény bizonyítéktípusok alá esik. Ha tudja, hogyan kell csomagelemzést végezni, és van pillanatfelvétele, megkímélheti magát attól, hogy tévesen vádolják feltöréssel, vagy egyszerűen inkompetens fejlesztőként vagy hálózati rendszergazdáként vádolják.

Minden az agyról szól! (forrás: dailydot.com)

Ami egy valós történetet illeti, azt hiszem, ez a megjegyzés a blogbejegyzéshez talált itt kivételes (itt minden esetre megismételjük):

Egy cégem számára kritikus alkalmazás teljesítményproblémákat mutatott, és az ügyfelek telepítése során arcra zuhant. Ez egy tőzsdei árképzési alkalmazás volt, amelyet a pénzügyi társaságok ticker üzemeinek élén használtak szerte a világon. Ha 2000 körüli 401(k)-je volt, az valószínűleg ettől az alkalmazástól függött. Elvégeztem az általad leírt fajta elemzését, konkrétan a TCP viselkedését. Pontosan megállapítottam, hogy a probléma az operációs rendszer gyártójának TCP megvalósításában van. A hibás viselkedés az volt, hogy amikor a küldő verem torlódás-ellenőrzésbe került, soha nem állt helyre. Ez komikusan kicsi küldési ablakot eredményezett, néha csak az MSS néhány többszörösét.

  Hogyan állítsunk be hexa szerkesztőt Kali Linuxon

Eltartott egy ideig a küzdelem a fiókkezelőkkel és az operációs rendszer gyártójának fejlesztői támogatásával, akik nem értették a problémát, az én magyarázatomat, vagy azt, hogy a probléma *nem* lehet az alkalmazásban, mert az alkalmazás boldogan nem ismeri a TCP-machinációkat. Olyan volt, mintha a falnak beszélnék. Minden konferenciahívásnál az első négyzetről kezdtem. Végül felvettem egy telefont egy sráccal, akivel jót tudtam beszélgetni. Kiderült, hogy az RFC1323 bővítményeket tette a verembe! Másnap a kezemben volt egy javítás az operációs rendszerhez, és a termék innentől kezdve tökéletesen működött.

A fejlesztő elmagyarázta, hogy volt egy hiba, ami miatt a bejövő ACK-ek *hasznos terhelésekkel* rosszul lettek DUPACK-ként kategorizálva, amikor a verem torlódáskezelés alatt állt.

Ez soha nem történne meg a félduplex alkalmazásokkal, például a HTTP-vel, de az általam támogatott alkalmazás mindig kétirányú adatokat küldött a socketen.

Akkoriban nem kaptam sok támogatást a vezetőségtől (a menedzserem még kiabált is velem, hogy „mindig szippantót akarok használni” a problémák megoldásához), és rajtam kívül senki sem az operációs rendszer gyártójának TCP-megvalósítását tekintette forrásnak. a problémáról. Az operációs rendszer gyártója által végzett javítás egyedül való megküzdése különösen édessé tette ezt a győzelmet, rengeteg tőkét szerzett a saját dolgomhoz, és a legérdekesebb problémák megjelentek az asztalomon.

Abban az esetben, ha nem volt kedve végigolvasni azt a szövegtáblázatot, vagy ha nem volt sok értelme, akkor ez az úriember teljesítményproblémákkal szembesült, amelyeket a pályázatában róttak fel, és a menedzsment, ahogy az várható volt, nulla támogatást nyújtott. . Csak egy alapos csomagelemzés bizonyította, hogy nem az alkalmazásban van a probléma, hanem abban, hogy az operációs rendszer hogyan kezeli a hálózati protokollt!

A javítás nem az alkalmazás finomítása volt, hanem az operációs rendszer fejlesztői által készített javítás! 😮

Fiú, ó, fiú. . . Ön szerint hol lenne ez a személy csomagszintű elemzés nélkül? Valószínűleg a munkájából. Ha ez nem győzi meg a csomagelemzés (más néven csomagszaglás) fontosságáról, akkor nem tudom, mi fog. 🙂

Most, hogy tudod, hogy a csomagelemzés szuperhatalom, van egy jó hírem: nem nehéz ezt megtenni!

A hatékony, de egyszerűen használható csomagszagoló eszközöknek köszönhetően a csomagszintű elemzésből olyan egyszerű lehet az információgyűjtés, mint egy értékesítési műszerfal olvasása. Ennek ellenére valamivel többre lesz szüksége, mint egy felületi szintű tudásra arról, hogy mi történik a hálózaton belül. De itt megint nincs rakétatudomány, nincs elsajátítandó torz logika – csak a józan ész.

Ha elkezdi átolvasni az egyik ilyen eszköz dokumentációját, miközben használja őket a hálózaton, hamarosan szakértő lesz. 😀

Wireshark

Wireshark egy régi projekt (1998-ban indult), ami nagyjából az iparági szabvány, ha a hálózatokba való mélyedésről van szó. Lenyűgöző, ha figyelembe vesszük, hogy ez egy tisztán önkéntes által vezetett szervezet, amelyet néhány nagylelkű szponzor támogat. A Wireshark nyílt forráskódú marad (nem a GitHubon, de a kód megtalálható itt) és még technológiája is van konferencia a nevére!

A Wireshark számos képessége között szerepel:

  • Több száz hálózati protokoll támogatása.
  • Számos fájlformátummal együttműködik (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (tömörített és tömörítetlen), Sniffer® Pro és NetXray® stb.).
  • Gyakorlatilag minden platformon fut (Linux, Windows, macOS, Solaris, FreeBSD és még sok más).
  • Élő adatolvasás többek között Ethernetről, IEEE 802.11-ről, PPP/HDLC-ről, ATM-ről, Bluetooth-ról, USB-ről, Token Ringről.
  • Menet közbeni gzip kitömörítés.
  • Rengeteg visszafejtő protokoll támogatott (WPA/WPA2, SNMPv3 stb.)
  • Kiterjedt VoIP elemzés
  • Színezési szabályok a gyorsabb vizuális szkennelés érdekében

Nézze meg ezt a fantasztikus online tanfolyamot megtanít a Wireshark elsajátítására.

Wiresharkot keres a termináljában? Persze, próbáld Termshark

tcpdump

Ha régi iskolás vagy (olvasd el a hardcore parancssori drogost), tcpdump neked.

Ez egy másik ikonikus Linux segédprogram (például a curl), amely ugyanolyan aktuális marad, mint valaha, olyannyira, hogy szinte az összes többi „felkapottabb” eszköz erre épül. Ahogy korábban mondtam, nincs grafikus környezet, de az eszköz bőven kárpótol érte.

De a telepítése fájdalmas lehet; míg a tcpdump a legtöbb modern Linux disztribúcióval együtt érkezik, ha a tiéd nem, akkor végül a forrásból kell építened.

  A Nokia X rootolása, a Play Áruház és a Google Asszisztens Indító telepítése

A tcpdump parancsok rövidek és egyszerűek, és egy adott probléma megoldására irányulnak, például:

  • Az összes elérhető interfész megjelenítése
  • Csak az egyik interfész rögzítése
  • A rögzített csomagok mentése fájlba
  • Csak a sikertelen csomagok rögzítése

. . . stb.

Ha az Ön igényei egyszerűek, és gyors vizsgálatot kell futtatnia, a tcpdump nagyszerű választás lehet (különösen, ha beírja a tcpdump parancsot, és úgy találja, hogy már telepítve van!). Tekintse meg ezt a bejegyzést néhány valós idejű tcpdump parancs példáért.

Tproxy

Tproxy egy egyszerű, nyílt forráskódú, parancssori eszköz a hálózaton keresztüli TCP-kapcsolatok proxyjához. A Tproxy Go programozási nyelven íródott, egy Go parancssori eszköz, és Go binárisként van csomagolva, így minden modern Linux és macOS platformon elérhető.

Az alábbi képen a Mysql kapcsolatok figyelésére szolgáló parancssor látható:

Elsődleges felhasználási esete a HTTP-kapcsolatok proxyja, valamint a HTTP-kérés és a válaszok tartalmának ellenőrzése. Más protokollok, például SOCKS vagy TCP proxyjára is használható. Használható két gazdagép közötti TCP-kapcsolatok proxyjára, vagy egy élő kapcsolat forgalmának elemzésére. Hasznos a TCP-t átviteli protokollként használó alkalmazások hibakereséséhez és teszteléséhez, valamint a TCP-proxy szolgáltatások kiépítéséhez.

Azzal a céllal írták, hogy könnyen használható felületet biztosítson a tcpdump parancssori segédprogramhoz, lehetővé téve a felhasználók számára a TCP-kapcsolatok proxyjának létrehozását és egyéb fejlett hálózati elemzések elvégzését anélkül, hogy meg kellene érteniük az alapul szolgáló TCP-protokollt.

A parancssor alatt a gRPC kapcsolatok jelennek meg:

TCP-proxyként működik, lehetővé téve a távoli szolgáltatásokhoz és alkalmazásokhoz való csatlakozást, mintha a helyi gépen lennének. Lehetővé teszi egyéni TCP-szolgáltatások létrehozását távoli gazdagépeken, hasonlóan a fordított TCP-proxyhoz, amely számos biztonsági, hibaelhárítási és teljesítménybeli fejlesztést tesz lehetővé a TCP-t használó alkalmazások kezelésekor.

Az alábbiakban a Tproxy néhány további felhasználási módja látható

  • Hasznos a hibakereséshez és a TCP-kapcsolatok optimalizálásához.
  • Hasznos az egyéb proxyprogramok, például a Burp Suite és a ZAP működésének megértéséhez is.
  • Használható TCP-kapcsolatok proxyzására két gazdagép között, vagy egy gazdagép és egy távoli TCP-szolgáltatás, például adatbázis vagy webszolgáltatás között.
  • Figyelemmel kíséri a MySQL kapcsolatokat és a gRPC kapcsolatokat, valamint ellenőrzi a kapcsolat megbízhatóságát az újraátviteli sebesség és az RTT tekintetében

A legtöbb felhasználó azt fogja tapasztalni, hogy a Tproxy leegyszerűsíti a munkafolyamatot, és lehetővé teszi összetett hálózati elemzések és webalkalmazások elemzését anélkül, hogy módosítani kellene az alkalmazást vagy magát a hálózatot. Az eszköz letölthető innen GitHub.

NetworkMiner

Forensic Network Analysis Tool (FNAT) eszközként reklámozza magát, NetworkMiner az egyik legjobb csomagszintű elemző, amellyel találkozhat. Ez egy nyílt forráskódú eszköz, amely képes passzívan elemezni a hálózatot, és lenyűgöző grafikus felhasználói felülettel rendelkezik az elemzéshez, amely képes megjeleníteni az egyes képeket és más átvitt fájlokat.

De ez még nem minden. A NetworkMiner kiváló egyéb funkciókkal rendelkezik, mint például:

  • IPv6 támogatás
  • PCAP fájlok elemzése
  • X.509-tanúsítványok kibontása az SSL-titkosított forgalomból
  • Pcap-over-IP
  • Többféle forgalommal működik, például FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 stb.
  • OS ujjlenyomat
  • Geo IP lokalizáció
  • Parancssori szkript támogatás

Ne feledje, hogy ezen funkciók némelyike ​​elérhető a kereskedelmi verzióban.

Hegedűs

Más passzív hálózati szippantókkal ellentétben, Hegedűs valami, ami az eszközöd és a külvilág között helyezkedik el, és ezért némi beállítást igényel (ezért nevezték el „Fiddler”-nek? 😉 ).

Ez egy személyre szabható (FiddlerScript használatával) ingyenes eszköz, amely hosszú és előkelő múltra tekint vissza, így ha a HTTP/HTTPS-forgalom főnökeként való szippantása a cél, a Fiddler a megfelelő út.

A Fiddlerrel sok mindent megtehetsz, különösen, ha olyan kedved van, hogy felvegyed a hackerpulcsit:

  • Munkamenet-manipuláció: Másolja be a HTTP-fejléceket és a munkamenet-adatokat, és módosítsa azokat tetszőleges módon.
  • Biztonsági tesztelés: szimulálhatja a köztes támadásokat, és visszafejtheti az összes HTTPS-forgalmat.
  • Teljesítményteszt: Elemezze az oldal betöltési (vagy API-válasz) idejét, és nézze meg, hogy a válasz melyik része jelenti a szűk keresztmetszetet.

Ha elveszettnek érzi magát, a dokumentáció nagyon jó és erősen ajánlott.

WinDump

Ha hiányzik a tcpdump egyszerűsége, és szeretné eljuttatni a Windows rendszerekhez, köszönjön WinDump. A telepítés után a parancssorból működik a „tcpdump” beírásával, ugyanúgy, ahogyan a segédprogram működik Linux rendszereken.

Vegye figyelembe, hogy önmagában nincs mit telepíteni; A WinDump egy bináris fájl, amely azonnal futtatható, feltéve, hogy telepítve van egy Pcap könyvtár implementáció (npcap ajánlott, mivel a winpcap már nincs fejlesztés alatt).

  A Manuskript segítségével rendszerezheti írási projektjeit Linuxon

BruteShark

BruteShark egy hatékony Network Forensic Analysis Tool (NFAT), amellyel feldolgozhatja és ellenőrizheti a hálózati forgalmat, például a PCAP-fájlokat, és rögzítheti közvetlenül a hálózati interfészekről.

Tartalmazza a TCP-munkamenetek rekonstrukcióját, a hálózati térképek készítését, az erősen titkosított jelszavak kivonatainak kinyerését, a hash-ek Hashcat formátummá alakítását, hogy offline Brute Force támadást hajtson végre.

A projekt fő célja, hogy segítse a hálózati rendszergazdákat és biztonsági kutatókat, akik a hálózati forgalom elemzéséért és a gyengeségek azonosításáért felelősek.

A BruteShark két verziója érhető el: egy grafikus felhasználói felület (GUI) alapú alkalmazás Windowshoz és egy CLI eszköz Linuxhoz és Windowshoz. A megoldásban szereplő projektek egy része önállóan is használható a hálózati forgalom elemzésére Windows és Linux gépeken.

A BruteShark különféle műveleteket is végrehajthat, mint például DNS-lekérdezések kibontása, fájlfaragás, VoIP-hívások (SIP, RTP), hálózati diagram készítése felhasználók és hálózati csomópontok számára, hitelesítési hash-ek kinyerése Hashcat segítségével (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, stb.), valamint jelszavak és felhasználónevek lekérése és kódolása.

Minden projekt a .Net Standardon és a .Net Core-on keresztül valósul meg a platformok közötti és modern támogatás érdekében. Ez a megoldás háromrétegű architektúrát kínál, és egy vagy több projektet tartalmaz, beleértve a PL-t, BLL-t és DAL-t minden rétegben.

A DAL-on (Data Access Layer) keresztül a projekt segít a PCAP nyers fájljainak beolvasásában olyan illesztőprogramok segítségével, mint a WinPcap, libpcap, és a burkolókönyvtárak, például a SharpPcap. Hasonlóképpen, a BLL (Business Logic Layer) felelős a hálózati információelemzésért (TCP, csomag stb.), a PL pedig egy átfogó projektet használ, és mind a BLL, mind a DAL rétegekre hivatkozik.

OmniPeek

Nagyobb hálózatokon, amelyeken másodpercenként több tonna MB adat áramlik át, előfordulhat, hogy a mindenki által használt eszközök kifogynak. Ha te is ugyanezzel nézel szembe, OmniPeek érdemes lehet megnézni.

Ez egy teljesítmény-, elemző- és kriminalisztikai eszköz a hálózatok elemzéséhez, különösen akkor, ha alacsony szintű képességekre és átfogó műszerfalakra van szüksége.

Forrás: sniffwifi.com

Capsa

Ha csak a Windows platform aggaszt, Capsa is komoly versenyző. Három verzióban kapható: ingyenes, szabványos és vállalati, mindegyik más-más képességekkel.

Ennek ellenére még az ingyenes verzió is több mint 300 protokollt támogat, és olyan érdekes funkciókkal rendelkezik, mint a riasztások (amelyek bizonyos feltételek teljesülése esetén aktiválódnak). A standard ajánlat egy fokkal magasabb, több mint 1000 protokollt támogat, és lehetővé teszi a beszélgetések elemzését és a csomagfolyamok rekonstruálását.

Mindent egybevetve szilárd lehetőség a Windows-felhasználók számára.

EtherApe

Ha a hatékony vizualizációk és a nyílt forráskód az, amire vágysz, EtherApe egy nagyszerű lehetőség. Míg az előre elkészített binárisok csak néhány Linux disztribúcióhoz érhetők el, a forrás elérhető (a SourceForge-on és a GitHubon is), így saját maga is elkészítheti.

Véleményem szerint ez teszi nagyszerűvé az EtherApe-et:

  • Több csomópontos, színkódolt monitorozás.
  • Rengeteg csomagformátum támogatása, például ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN stb. (valójában sok, sok, több) .
  • Adatok olvasása élőben a „vezetékről” vagy egy tcpdump fájlból.
  • Támogatja a szabványos névfelbontást
  • A legújabb verzióktól kezdve a GUI-t a GTK3-ra helyezték át, ami kellemesebb élményt eredményez.

CommView

Ha Ön egy kizárólagos Windows-bolt, és értékeli az elsőbbségi támogatás kényelmét, CommView ajánlott. Ez egy nagy teljesítményű hálózati forgalomelemző olyan fejlett funkciókkal, mint a VoIP elemzés, távoli nyomkövetés stb., beépített.

Ami a legjobban lenyűgözött, az az, hogy képes adatokat exportálni számos nyílt és szabadalmaztatott formátum által használt formátumokba, mint például a Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump és Wireshark/pcapng, sőt sima hex dumpokba is. .

Wifi Explorer

Az utolsó a listán Wifi Explorer, amelynek van egy ingyenes verziója Windows rendszerhez és egy szabványos verziója Windows és macOS rendszerhez. Ha a WiFi hálózat elemzésére van szüksége (ami manapság nagyjából szabvány), akkor a Wifi Explorer megkönnyíti az életet.

Ez egy gyönyörűen megtervezett és funkciókban gazdag eszköz, amellyel egyenesen a hálózat szívébe vághat.

Megtisztelő említés: kár lenne lezárni ezt a bejegyzést anélkül, hogy megemlítenék egy macOS-exkluzív hálózati elemzőt, amelybe belebotlottam – Kis Snitch. Beépített tűzfallal rendelkezik, így azzal a további előnnyel jár, hogy azonnal tökéletesen irányíthatja a forgalmat (ami fájdalmasnak tűnhet, de hosszú távon hatalmas nyereség).

Mi a következő lépés?

Az infrastruktúra jobb láthatósága érdekében érdemes ezeket a hálózatfigyelő szoftvereket is felfedezni. Ha karriert szeretne építeni a hálózat és a biztonság területén, nézzen meg néhányat legjobb online tanfolyamok itt.