etechblog

12 analyzátorů síťových paketů pro systémové správce a bezpečnostní analytiky

Vaše síť je páteří vašich obchodních operací. Ujistěte se, že víte, co se děje hluboko uvnitř.

V mnoha ohledech zažilo prostředí digitálních podniků revoluci nebo dvě. Co začalo jako jednoduché CGI skripty napsaný v Perlu nyní rozkvetl do clusterových nasazení běžících plně automatizovaně na Kubernetes a dalších orchestračních frameworkech (omlouvám se za těžký žargon – vůbec si to nevymýšlím, prostě to tak v dnešní době chodí!).

Typická kontejnerizovaná, distribuovaná moderní webová aplikace (zdroj: medium.com)

Nemohu se ale ubránit úsměvu při pomyšlení, že základy jsou stále stejné jako v 70. letech.

Vše, co máme, jsou abstrakce nad abstrakcí podporované pevnými fyzickými kabely, které tvoří síť (dobře, existují virtuální sítě, ale chápete to). Pokud si chceme udělat fantazii, můžeme rozdělit síť na vrstvy podle modelu OSI, ale vše řečeno a hotovo, vždy se zabýváme TCP/IP protokoly (varování, těžké čtení dopředu!), pingy, routery, všechny mají jeden společný cíl – přenos datových paketů.

Co je tedy síťový paket?

Bez ohledu na to, co děláme – chatování, streamování videa, hraní her, surfování, nakupování – jde v podstatě o výměnu datových paketů mezi dvěma počítači (sítěmi). „Paket“ je nejmenší jednotka informací proudící v síti (nebo mezi sítěmi) a existuje dobře definovaná metoda vytváření a ověřování síťových paketů (nad rámec tohoto článku, ale pokud máte chuť na dobrodružství, zde je více).

Tok paketů v síti (zdroj: training.ukdw.ac.id)

Jednodušeji řečeno, každý paket představuje článek v řetězci a je řádně přenášen ve zdroji a ověřen v cíli. I když jeden paket dorazí nebo objedná, proces se pozastaví, dokud nejsou přijaty všechny pakety ve správném pořadí, a teprve potom jsou sestaveny do dat, která původně představovaly (například obrázek).

Nyní, když rozumíme tomu, co je síť, začínáme rozumět tomu, co dělá síťový analyzátor. Je to nástroj, který vám umožní nahlédnout do jednotlivých paketů ve vaší síti.

Ale proč bys chtěl jít do toho problému? Pojďme o tom dále diskutovat.

Proč potřebujeme analyzovat pakety?

Vypadá to, že pakety jsou v podstatě základními stavebními kameny v toku dat v síti, podobně jako atomy jsou základem veškeré hmoty (ano, já vím, nejsou to skutečné základní částice, ale pro naše účely je to dost dobrá analogie) . A pokud jde o analýzu materiálů nebo plynů, nikdy se nezabýváme tím, co dělá jednotlivý atom; tak proč se starat o jeden síťový paket na individuální úrovni? Co jiného můžeme vědět, než už víme?

Je těžké prodat důležitost analýzy na úrovni paketů, když vás předtím nekousli do zad, ale zkusím to.

Analýza paketů znamená ušpinit si ruce a sáhnout až do samého potrubí, abyste něco zjistili. Obecně platí, že musíte analyzovat síťové pakety, když vše ostatní selhalo. Obvykle to zahrnuje zdánlivě beznadějné scénáře:

  • Nevysvětlitelná ztráta tajných dat navzdory žádnému zjevnému porušení
  • Diagnostika pomalých aplikací, když se zdá, že neexistují žádné důkazy
  • Ujistěte se, že váš počítač/síť nebyl ohrožen
  • Dokázat nebo vyvrátit, že útočník není na zádech mimo vaši WiFi
  • Zjistěte, proč je váš server úzkým hrdlem navzdory nízkému provozu

Celkově vzato, analýza paketů spadá pod určité, tvrdé typy důkazů. Pokud víte, jak provádět analýzu paketů a máte snímek, můžete se uchránit před neprávem obviněním z hacku nebo jednoduše obviňováním jako nekompetentního vývojáře nebo správce sítě.

Všechno je to o mozku! (zdroj: dailydot.com)

Pokud jde o skutečný příběh, myslím, že tento komentář k příspěvku na blogu byl nalezen tady je výjimečné (pro jistotu zde reprodukováno):

Aplikace kritická pro mou společnost vykazovala problémy s výkonem, padala na tvář v zákaznických nasazeních. Jednalo se o aplikaci pro oceňování akcií používanou v čele tickerových závodů ve finančních společnostech po celém světě. Pokud jste měli 401(k) kolem roku 2000, pravděpodobně to záviselo na této aplikaci. Provedl jsem analýzu druhu, který jste popsal, konkrétně chování TCP. Zjistil jsem, že problém je v implementaci TCP dodavatelem OS. Chybné chování bylo, že kdykoli se odesílající zásobník dostal do řízení zahlcení, nikdy se neobnovil. Výsledkem bylo komicky malé okno pro odesílání, někdy jen několik násobků MSS.

  Získejte inspiraci pomocí automaticky generovaných šablon pro obtížné psaní e-mailů

Chvíli trvalo bojovat s manažery účtů a lidmi z podpory vývojářů u dodavatele OS, kteří nepochopili problém, mé vysvětlení, nebo to, že problém *nemohl* být v aplikaci, protože aplikace blaženě nezná TCP machinace. Bylo to jako mluvit do zdi. S každým konferenčním hovorem jsem začínal od začátku. Nakonec jsem si zatelefonoval s klukem, se kterým jsem si mohl dobře popovídat. Ukázalo se, že do zásobníku vložil rozšíření RFC1323! Druhý den jsem měl v rukou záplatu na OS a produkt od té chvíle fungoval perfektně.

Vývojář vysvětlil, že došlo k chybě, která způsobila, že příchozí ACK *s užitečným zatížením* byly nesprávně kategorizovány jako DUPACK, když byl zásobník v kontrole přetížení.

To by se nikdy nestalo u poloduplexních aplikací, jako je HTTP, ale aplikace, kterou jsem podporoval, posílala data obousměrně na soket po celou dobu.

V té době jsem neměl tuny podpory od vedení (můj manažer na mě dokonce křičel, že „vždy chci používat sniffer“ k řešení problémů) a nikdo kromě mě se nedíval na implementaci TCP dodavatele OS jako na zdroj. problému. Vlastním zápasem s opravou od dodavatele OS bylo toto vítězství obzvláště sladké, vydělalo mi spoustu kapitálu, abych mohl dělat vlastní věci, a vedlo k tomu, že se mi na stole objevily ty nejzajímavější problémy.

V případě, že se vám nechtělo číst ten kus textu, nebo pokud to nedávalo moc smysl, tento pán čelil problémům s výkonem, které byly obviňovány z jeho aplikace, a vedení, jak se očekávalo, neposkytovalo žádnou podporu. . Teprve důkladná analýza paketů dokázala, že problém není v aplikaci, ale v tom, jak operační systém zacházel se síťovým protokolem!

Oprava nebyla vyladěním aplikace, ale záplatou vývojářů operačního systému! 😮

Chlapče, chlapče. . . Kde by podle vás byla tato osoba bez analýzy na úrovni paketů? Pravděpodobně bez práce. Pokud vás toto nepřesvědčí o důležitosti analýzy paketů (nazývané také packet sniffing), pak už nevím co. 🙂

Nyní, když víte, že analýza paketů je superschopnost, mám dobrou zprávu: není to tak těžké!

Díky výkonným a přitom snadno použitelným nástrojům pro čichání paketů může být získávání informací z analýzy na úrovni paketů stejně snadné jako čtení prodejního panelu. To znamená, že budete potřebovat trochu více než jen povrchové znalosti toho, co se děje uvnitř sítě. Ale opět zde není žádná raketová věda, žádná překroucená logika, kterou je třeba zvládnout – jen obyčejný zdravý rozum.

Pokud začnete číst dokumentaci jednoho z těchto nástrojů, když je používáte ve své síti, brzy se stanete odborníkem. 😀

Wireshark

Wireshark je starý projekt (začal již v roce 1998), který je v podstatě průmyslovým standardem, pokud jde o potápění hluboko do sítí. Je to působivé, když si uvědomíte, že je to čistě dobrovolnická organizace podporovaná některými štědrými sponzory. Wireshark zůstává open-source (ne na GitHubu, ale kód lze najít tady) a dokonce má tech konference na jeho jméno!

Mezi mnoha funkcemi Wireshark patří:

  • Podpora stovek síťových protokolů.
  • Interoperabilní s mnoha formáty souborů (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (komprimovaný a nekomprimovaný), Sniffer® Pro a NetXray® atd.).
  • Běží prakticky na všech dostupných platformách (Linux, Windows, macOS, Solaris, FreeBSD a další).
  • Živé čtení dat mimo jiné z Ethernetu, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring.
  • Dekomprese gzip za běhu.
  • Podporované množství dešifrovacích protokolů (WPA/WPA2, SNMPv3 atd.)
  • Rozsáhlá analýza VoIP
  • Pravidla barvení pro rychlejší vizuální skenování

Podívejte se na tento fantastický online kurz naučí vás ovládat Wireshark.

Hledáte Wireshark ve svém terminálu? Jasně, zkus to Termshark

tcpdump

Pokud jste ze staré školy (čtěte hardcore narkoman příkazového řádku), tcpdump je pro tebe.

Je to další z ikonických linuxových utilit (jako curl), která zůstává stejně relevantní jako kdykoli předtím, a to natolik, že na ní staví téměř všechny ostatní „lepší“ nástroje. Jak jsem řekl dříve, není zde grafické prostředí, ale nástroj to více než vynahrazuje.

Ale jeho instalace může být bolestná; zatímco tcpdump je dodáván s většinou moderních linuxových distribucí, pokud tomu tak není, budete nakonec muset stavět ze zdroje.

  15 skvělých příkazů terminálu Mac OS X, které možná neznáte

Příkazy tcpdump jsou krátké a jednoduché, zaměřené na řešení konkrétního problému, jako je:

  • Zobrazení všech dostupných rozhraní
  • Zachycuje pouze jedno z rozhraní
  • Ukládání zachycených paketů do souboru
  • Zachycuje pouze neúspěšné pakety

. . . a tak dále.

Pokud jsou vaše potřeby jednoduché a potřebujete spustit rychlou kontrolu, tcpdump může být skvělou volbou (zejména pokud zadáte tcpdump a zjistíte, že je již nainstalován!). Podívejte se na tento příspěvek pro některé příklady příkazů tcpdump v reálném čase.

Tproxy

Tproxy je jednoduchý nástroj příkazového řádku s otevřeným zdrojovým kódem pro proxy připojení TCP v síti. Tproxy je napsán v programovacím jazyce Go a je to nástroj příkazového řádku Go a je zabalen jako binární soubor Go, takže je dostupný na všech moderních platformách Linux a macOS.

Níže uvedený obrázek ukazuje příkazový řádek pro monitorování připojení Mysql:

Jeho primárním případem použití je proxy připojení HTTP a kontrola obsahu požadavku HTTP a odpovědí. Může být také použit pro proxy jiné protokoly, jako jsou SOCKS nebo TCP. Lze jej použít k proxy připojení TCP mezi dvěma hostiteli nebo k analýze provozu na živém připojení. Je užitečný pro ladění a testování aplikací, které používají TCP jako transportní protokol, a pro vytváření TCP proxy služeb.

Byl napsán s cílem poskytnout snadno použitelné rozhraní pro obslužný program příkazového řádku tcpdump, který uživatelům umožňuje používat proxy připojení TCP a provádět další pokročilé síťové analýzy, aniž by museli rozumět základnímu protokolu TCP.

Níže uvedený příkazový řádek zobrazuje připojení gRPC:

Funguje jako TCP proxy, což vám umožňuje připojit se ke vzdáleným službám a aplikacím, jako byste byli na místním počítači. Umožňuje vytvářet vlastní služby TCP na vzdálených hostitelích, podobně jako reverzní TCP proxy, což umožňuje řadu vylepšení zabezpečení, řešení problémů a výkonu při práci s aplikacemi, které používají TCP.

Níže je několik dalších použití Tproxy

  • Je užitečný pro ladění a optimalizaci TCP spojení.
  • Je také užitečné pro pochopení toho, jak fungují jiné proxy programy, jako je Burp Suite a ZAP.
  • Lze jej použít k proxy připojení TCP mezi dvěma hostiteli nebo mezi hostitelem a vzdálenou službou TCP, jako je databáze nebo webová služba.
  • Monitorujte připojení MySQL a připojení gRPC a také kontrolujete spolehlivost připojení z hlediska rychlosti přenosu a RTT

Většina uživatelů zjistí, že Tproxy zjednodušuje jejich pracovní postup a umožňuje jim provádět komplexní analýzu sítě a analyzovat webové aplikace, aniž by museli měnit aplikaci nebo síť samotnou. Nástroj lze stáhnout z GitHub.

NetworkMiner

Propaguje se jako nástroj forenzní síťové analýzy (FNAT), NetworkMiner je jedním z nejlepších analyzátorů na úrovni paketů, se kterými se můžete setkat. Jedná se o open-source nástroj, který dokáže pasivně analyzovat síť a přichází s působivým GUI rozhraním pro analýzu, které dokáže zobrazit jednotlivé obrázky a další přenesené soubory.

Ale to není všechno. NetworkMiner přichází s vynikajícími dalšími funkcemi, jako jsou:

  • podpora IPv6
  • Analýza souborů PCAP
  • Extrahujte certifikáty X.509 z provozu šifrovaného SSL
  • Pcap-over-IP
  • Pracuje s několika typy provozu, jako je FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 atd.
  • Otisky prstů OS
  • Geo IP lokalizace
  • Podpora skriptování z příkazového řádku

Upozorňujeme, že některé z těchto funkcí jsou dostupné v komerční verzi.

Houslista

Na rozdíl od jiných pasivních síťových snifferů, Houslista je něco, co sedí mezi vaším zařízením a vnějším světem, a proto vyžaduje určité nastavení (proto to pojmenovali „Šumař“? 😉 ).

Je to přizpůsobitelný (pomocí FiddlerScript) bezplatný nástroj, který má dlouhou a význačnou historii, takže pokud je vaším cílem čichat HTTP/HTTPS provoz jako šéf, Fiddler je správná cesta.

S Fiddlerem můžete dělat spoustu věcí, zvláště pokud máte náladu obléknout si hackerskou mikinu s kapucí:

  • Manipulace s relacemi: Otevřete HTTP hlavičky a data relace a upravte je libovolným způsobem.
  • Testování zabezpečení: Umožňuje simulovat útoky typu man-in-the-middle a dešifrovat veškerý provoz HTTPS za vás.
  • Testování výkonu: Analyzujte časy načítání stránky (nebo odezvy API) a zjistěte, která část odpovědi je úzkým místem.

V případě, že se cítíte ztraceni, dokumentace je velmi dobrý a vysoce doporučen.

WindDump

Pokud vám chybí jednoduchost tcpdump a chcete jej přenést do svých systémů Windows, zdravíme vás WindDump. Po instalaci funguje z příkazového řádku zadáním „tcpdump“ stejným způsobem, jakým nástroj funguje na systémech Linux.

Všimněte si, že není co instalovat samo o sobě; WinDump je binární soubor, který lze okamžitě spustit za předpokladu, že máte nainstalovanou implementaci knihovny Pcap (npcap se doporučuje, protože winpcap již není ve vývoji).

  Jak změnit tapetu Androidu podle denní doby

BruteShark

BruteShark je účinný nástroj Network Forensic Analysis Tool (NFAT), který můžete použít ke zpracování a kontrole síťového provozu, jako jsou soubory PCAP, a zachycení přímo ze síťových rozhraní.

Zahrnuje rekonstrukci TCP relací, vytváření síťových map, extrahování hashů silně zašifrovaných hesel, převod hashů do formátu Hashcat pro provedení útoku hrubou silou offline.

Hlavním záměrem tohoto projektu je pomoci správcům sítí a bezpečnostním výzkumníkům odpovědným za analýzu síťového provozu a identifikaci slabých stránek.

K dispozici jsou dvě verze BruteShark: aplikace založená na grafickém uživatelském rozhraní (GUI) pro Windows a nástroj CLI pro Linux a Windows. Některé z projektů obsažených v tomto řešení lze dokonce použít samostatně k analýze síťového provozu na počítačích se systémem Windows a Linux.

BruteShark může také provádět různé operace, jako je extrahování dotazů DNS, vyřezávání souborů, extrahování hovorů VoIP (SIP, RTP), vytváření síťového diagramu pro uživatele a síťové uzly, extrahování autentizačních hash pomocí Hashcat (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, atd.) a získávání a kódování hesel a uživatelských jmen.

Všechny projekty jsou implementovány prostřednictvím .Net Standard a .Net Core pro multiplatformní a moderní podporu. Toto řešení nabízí třívrstvou architekturu a zahrnuje jeden nebo více projektů, včetně PL, BLL a DAL na každé vrstvě.

Prostřednictvím DAL (Data Access Layer) projekt pomáhá při čtení nezpracovaných souborů PCAP pomocí ovladačů jako WinPcap, libpcap a knihoven obalů jako SharpPcap. Podobně BLL (Business Logic Layer) je zodpovědná za analýzu síťových informací (TCP, paket atd.) a PL využívá průřezový projekt a odkazuje na vrstvy BLL i DAL.

OmniPeek

U větších sítí, kterými každou sekundu protékají tuny MB dat, mohou nástroje, které všichni ostatní používají, dojít dech. Pokud čelíte tomu samému, OmniPeek možná by stálo za to se podívat.

Jedná se o výkonnostní, analytický a forenzní nástroj pro analýzu sítí, zvláště když potřebujete jak funkce na nízké úrovni, tak komplexní řídicí panely.

Zdroj: sniffwifi.com

Capsa

Pokud vás zajímá pouze platforma Windows, Capsa je také vážným uchazečem. Dodává se ve třech verzích: bezplatná, standardní a podniková, každá s jinými možnostmi.

To znamená, že i bezplatná verze podporuje více než 300 protokolů a má zajímavé funkce, jako jsou výstrahy (spouštěné při splnění určitých podmínek). Standardní nabídka je o stupeň výše, podporuje 1000+ protokolů a umožňuje analyzovat konverzace a rekonstruovat toky paketů.

Celkově vzato, solidní volba pro uživatele Windows.

EtherApe

Pokud toužíte po výkonných vizualizacích a open source, EtherApe je skvělá možnost. Zatímco předpřipravené binární soubory jsou k dispozici pouze pro hrstku linuxových distribucí, zdroj je dostupný (na SourceForge i GitHubu), takže je možné si jej sestavit sami.

Zde je to, co dělá EtherApe podle mého názoru skvělým:

  • Víceuzlové, barevně odlišené monitorování.
  • Podpora mnoha formátů paketů, jako jsou ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN atd. (ve skutečnosti mnoho, mnoho, více) .
  • Čtěte data živě z „drátu“ nebo ze souboru tcpdump.
  • Podporuje standardní překlad názvů
  • Od nejnovějších verzí bylo GUI přesunuto do GTK3, což má za následek příjemnější zážitek.

CommView

Pokud máte výhradní obchod pro Windows a oceňujete pohodlí prioritní podpory, CommView je doporučeno. Je to výkonný analyzátor síťového provozu s vestavěnými pokročilými funkcemi, jako je analýza VoIP, vzdálené sledování atd.

Nejvíce mě zaujala jeho schopnost exportovat data do formátů používaných několika otevřenými a proprietárními formáty, jako jsou Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump a Wireshark/pcapng, a dokonce i obyčejné hex výpisy .

Wifi Explorer

Poslední na seznamu je Wifi Explorer, která má bezplatnou verzi pro Windows a standardní verzi pro Windows a macOS. Pokud je vše, co potřebujete, analýza WiFi sítě (což je v dnešní době téměř standardem), pak vám Wifi Explorer usnadní život.

Je to krásně navržený a na funkce bohatý nástroj pro řezání přímo do srdce sítě.

Čestné uznání: Bylo by medvědí službou zavřít tento příspěvek bez zmínky o exkluzivním síťovém analyzátoru pro macOS, na který jsem narazil – Malá Zlatonka. Má vestavěný firewall, takže přichází s další výhodou, že vám okamžitě umožní dokonale ovládat veškerý provoz (což se může zdát jako bolest, ale z dlouhodobého hlediska je to obrovský zisk).

Co bude dál?

Měli byste také prozkoumat tento software pro monitorování sítě pro lepší viditelnost infrastruktury. Pokud si chcete vybudovat kariéru v oblasti sítí a zabezpečení, podívejte se na některé z nich nejlepší online kurzy zde.