Najbolji alati za testiranje olovaka: njuškala i rad s paketima. Wireshark (presretač mrežnih paketa) Ready sniffer

Njuškala Snifferi su programi koji mogu presresti i naknadno analizirati mrežni promet. Njuškali su korisni u slučajevima kada trebate presresti lozinke ili provesti mrežnu dijagnostiku. Program se može instalirati na jedan uređaj kojemu imate pristup iu kratkom vremenu primati sve prenesene podatke iz podmreže.

Kako rade njuškala

Možete presresti promet putem njuškala na sljedeće načine:

  • Osluškujući u normalnom načinu rada mrežnog sučelja, ova metoda je učinkovita samo kada se u određenom polju koriste čvorišta, a ne preklopnici.
  • Ako spojite sniffer na mjesto gdje se kanal prekida, možete presresti promet.
  • Adapter ili program mijenja putanju prometa i šalje kopiju njuškalu.
  • Nuspojave elektromagnetska radijacija analizirati i vratiti promet slušanja.
  • Napada se poveznica i mrežni sloj, koji preusmjerava promet na sniffer za dobivanje podataka, nakon čega se promet preusmjerava prethodnom rutom.

Analizira se promet koji presretne sniffer, što nam omogućuje da identificiramo:

Konvencionalni njuškali analiziraju promet vrlo jednostavno, koristeći najdostupnije automatizirane alate i sposobni su analizirati samo vrlo male količine.

Primjeri najpoznatijih njuškala:

  • WinSniffer 1.3 je najbolji njuškalo, ima mnogo različitih prilagodljivih modova i sposoban je uhvatiti lozinke za razne usluge;
  • CommViev 5.0 hvata i analizira internetski promet, kao i lokalna mreža. Prikuplja informacijske podatke povezane s modemom i mrežnom karticom i dekodira ih. Time je moguće vidjeti puni popis mrežne veze, IP statistika. Presretnute informacije pohranjuju se u zasebna datoteka, za naknadnu analizu, osim toga, prikladan sustav filtriranje omogućuje ignoriranje nepotrebnih paketa i ostavlja samo one koje napadač treba;
  • ZxSniffer 4.3 je sniffer male veličine s volumenom od 333 kb, stane na bilo koji moderni medij za pohranu i mogu ga koristiti;
  • SpyNet je prilično poznato i popularno njuškalo. Glavna funkcionalnost uključuje presretanje prometa i dekodiranje paketa podataka;
  • IRIS ima opsežne mogućnosti filtriranja. Sposobnost hvatanja paketa s određenim ograničenjima.

Klasifikacija njuškala

Njuškala se prema načinu korištenja dijele na legalne i ilegalne. Pritom se sam koncept sniffera primjenjuje upravo u odnosu na ilegalnu uporabu, dok se legalni nazivaju “Traffic Analyzer”.

Kako bi primili pune informacije o stanju mreže i razumiju što zaposlenici rade na svojim radnim mjestima, koriste legalne sniffere (analizatore prometa). Ne može se precijeniti pomoć njuškala kada je potrebno "osluškivati" programske portove kroz koje mogu poslati povjerljive informacije njihovim vlasnicima. Za programere, oni pomažu u otklanjanju pogrešaka i interakciji s programima. Pomoću analizatora prometa možete odmah otkriti neovlašteni pristup podacima ili DoS napad.

Ilegalno korištenje uključuje špijuniranje korisnika mreže; napadač će moći dobiti informacije o tome koje stranice korisnik koristi, šalje podatke i doznaje o programima koji se koriste za komunikaciju. Glavna svrha "slušanja" prometa je dobivanje prijava i lozinki koje se prenose u nešifriranom obliku.

Analizatori prometa razlikuju se po sljedećim mogućnostima:

  • Podrška za protokole sloja veze kao i fizička sučelja.
  • Kvaliteta dekodiranja protokola.
  • Korisničko sučelje.
  • Omogućuju pristup statistici, pregled prometa u stvarnom vremenu itd.

Izvor prijetnje

Njuškali mogu raditi na:

  • Usmjerivač – može se analizirati sav promet koji prolazi kroz uređaj.
  • Na krajnjem čvoru mreže svi podaci koji se prenose mrežom dostupni su svim mrežnim karticama, no u standardnom načinu rada mrežne kartice kojima podaci nisu namijenjeni jednostavno ih ne primijete. Štoviše, ako prevedemo Mrežna kartica u promiskuitetni način rada, bit će moguće primati sve podatke koji se prenose mrežom. I naravno, njuškala vam omogućuju prebacivanje na ovaj način rada.

Analiza rizika

Svaka organizacija može biti u opasnosti od njuškanja. U isto vrijeme, postoji nekoliko opcija kako zaštititi organizaciju od curenja podataka. Prvo morate koristiti enkripciju. Drugo, možete koristiti antisniffere.

Antisniffer – softver ili hardver rade na mreži i omogućuju vam da pronađete njuškale.

Koristeći samo enkripciju pri prijenosu podataka, neće biti moguće sakriti činjenicu prijenosa. Stoga možete koristiti šifriranje u kombinaciji s antisnifferom.

U ovom članku ćemo pogledati stvaranje jednostavnog njuškala za Windows OS.
Svi zainteresirani, dobrodošli u cat.

Uvod

Cilj: napisati program koji će hvatati mrežni promet (Ethernet, WiFi) koji se prenosi preko IP protokola.
Sadržaji: Visual Studio 2005 ili noviji.
Pristup koji je ovdje opisan ne pripada osobno autoru i uspješno se koristi u mnogim komercijalnim, kao i kategorički besplatni programi(pozdrav, GPL).
Ovaj rad je prvenstveno namijenjen početnicima u mrežnom programiranju, koji ipak imaju barem osnovna znanja iz područja soketa općenito, a posebno Windows soketa. Ovdje ću često napisati poznate stvari, jer je tema specifična, ako nešto propustim, bit će mi nered u glavi.

Nadam se da će vam biti zanimljivo.

Teorija (čitanje nije obavezno, ali se preporučuje)

U ovaj trenutak Velika većina modernih informacijskih mreža temelji se na temelju TCP/IP protokola. TCP/IP protokol protokola (Transmission Control Protocol/Internet Protocol) je skupni naziv za mrežne protokole različite razine, koristi se u mrežama. U ovom članku će nas uglavnom zanimati IP protokol - usmjeravani mrežni protokol koji služi za nezajamčenu isporuku podataka podijeljenih u tzv. pakete (točniji termin je datagram) od jednog mrežnog čvora do drugog.
Posebno su nam zanimljivi IP paketi namijenjeni prijenosu informacija. Ovo je dovoljno visoka razina mrežni OSI model podataka, kada se možete izolirati od uređaja i medija za prijenos podataka, radeći samo s logičkim prikazom.
Sasvim je logično da su se prije ili kasnije trebali pojaviti alati za presretanje, praćenje, snimanje i analizu mrežnog prometa. Takvi se alati obično nazivaju analizatori prometa, analizatori paketa ili snifferi (od engleskog to sniff - njuškanje). Ovo je analizator mrežnog prometa, program ili hardversko-softverski uređaj dizajniran za presretanje i naknadnu analizu ili samo analizu mrežnog prometa namijenjenog drugim čvorovima.

Praksa (sadržajni razgovor)

Trenutno je dosta toga stvoreno softver slušati promet. Najpoznatiji od njih: Wireshark. Naravno, cilj nije pobrati lovorike - nas zanima zadatak presretanja prometa jednostavnim "slušanjem" mrežnog sučelja. Važno je razumjeti da nećemo hakirati i presretati stranac promet. Samo trebamo pregledati i analizirati promet koji prolazi kroz naš host.

Zašto bi ovo moglo biti potrebno:

  1. Pogledajte trenutni protok prometa kroz mrežnu vezu (dolazni/odlazni/ukupno).
  2. Preusmjerite promet za naknadnu analizu na drugi host.
  3. Teoretski, možete ga pokušati upotrijebiti za hakiranje WiFi mreže (nećemo to učiniti, zar ne?).
Za razliku od Wiresharka, koji se temelji na biblioteci libpcap/WinPcap, naš analizator neće koristiti ovaj upravljački program. Štoviše, uopće nećemo imati upravljački program i nećemo pisati vlastiti NDIS (o užas!). O tome možete pročitati u ovoj temi. On će jednostavno biti pasivni promatrač, koristeći samo WinSock biblioteka. Korištenje drajvera u u ovom slučaju blagoglagoljiv.

Kako to? Jako jednostavno.
Ključni korak u jednostavnosti mrežna aplikacija u mrežnom analizatoru je prebaciti mrežno sučelje u promiskuitetni način rada, što će mu omogućiti primanje paketa upućenih drugim sučeljima na mreži. Ovaj način je prisilan Mrežna kartica prihvatiti sve okvire, bez obzira na to kome su upućeni na mreži.

Počevši sa sustavom Windows 2000 (NT 5.0), postalo je vrlo jednostavno stvoriti program za slušanje mrežnog segmenta, jer nju mrežni upravljački program omogućuje prebacivanje utičnice u način primanja svih paketa.

Omogućivanje promiskuitetnog načina rada
duga zastava = 1; UTIČNICA utičnica; #define SIO_RCVALL 0x98000001 ioctlsocket(utičnica, SIO_RCVALL, &RS_Flag);
Naš program radi na IP paketima i koristi Windows Sockets biblioteku verzije 2.2 i sirove utičnice. Kako biste dobili izravan pristup IP paketu, utičnica mora biti kreirana na sljedeći način:
Stvaranje sirove utičnice
s = utičnica (AF_INET, SOCK_RAW, IPPROTO_IP);
Ovdje umjesto konstante SOCK_STREAM(TCP protokol) ili SOCK_DGRAM(UDP protokol), koristimo vrijednost SOCK_RAW. Općenito govoreći, rad s neobrađenim soketima zanimljiv je ne samo s gledišta snimanja prometa. Zapravo, dobivamo potpunu kontrolu nad formiranjem paketa. Ili bolje rečeno, formiramo ga ručno, što omogućuje, na primjer, slanje određenog ICMP paketa...

Samo naprijed. Poznato je da se IP paket sastoji od zaglavlja, servisnih informacija i zapravo podataka. Savjetujem vam da pogledate ovdje kako biste obnovili svoje znanje. Opišimo IP zaglavlje u obliku strukture (zahvaljujući izvrsnom članku na RSDN):

Opis strukture IP paketa
typedef struct _IPHeader ( unsigned char ver_len; // verzija zaglavlja i duljina unsigned char tos; // vrsta usluge unsigned short length; // duljina cijelog paketa unsigned short id; // Id unsigned short flgs_offset; // zastavice i pomak neoznačeni char ttl ; // doživotni unsigned char protokol; // protokol unsigned short xsum; // checksum unsigned long src; // IP adresa pošiljatelja unsigned long dest; // odredišna IP adresa unsigned short *params; // parametri (do 320 bitovi) unsigned char *podaci; // podaci (do 65535 okteta) )IPHeader;
Glavna funkcija algoritma slušanja izgledat će ovako:
Funkcija snimanja jednog paketa
IPHeader* RS_Sniff() ( IPHeader *hdr; int count = 0; count = recv(RS_SSocket, (char*)&RS_Buffer, sizeof(RS_Buffer), 0); if (count >= sizeof(IPHeader)) ( hdr = (LPIPHeader) )malloc(MAX_PACKET_SIZE); memcpy(hdr, RS_Buffer, MAX_PACKET_SIZE); RS_UpdateNetStat(count, hdr); return hdr; ) else return 0; )
Ovdje je sve jednostavno: primamo dio podataka pomoću standardne funkcije utičnice prim, a zatim ih kopirajte u strukturu poput IPHeader.
I na kraju, pokrećemo beskrajnu petlju za hvatanje paketa:
Snimimo sve pakete koji dođu do našeg mrežnog sučelja
while (true) ( ​​​​IPHeader* hdr = RS_Sniff(); // obrada IP paketa if (hdr) ( // ispis zaglavlja u konzoli) )
Malo offtopic
Ovdje i dolje, autor je napravio RS_ (od Raw Sockets) prefiks za neke važne funkcije i varijable. Projekt sam radio prije 3-4 godine i imao sam ludu ideju da napišem potpunu biblioteku za rad s raw socketima. Kao što se često događa, nakon dobivanja nekih značajnih (za autora) rezultata, entuzijazam je izblijedio, a stvar nije otišla dalje od primjera za obuku.

U principu, možete ići dalje i opisati zaglavlja svih sljedećih protokola koji se nalaze iznad. Da biste to učinili, morate analizirati polje protokol u strukturi IPHeader. Pogledajte primjer koda (da, trebao bi postojati prekidač, dovraga!), gdje je zaglavlje obojeno ovisno o tome koji protokol je paket enkapsulirao u IP:

/* * Označavanje paketa bojom */ void ColorPacket(const IPHeader *h, const u_long haddr, const u_long whost = 0) ( if (h->xsum) SetConsoleTextColor(0x17); // ako paket nije prazan else SetConsoleTextColor(0x07) ; // prazan paket if (haddr == h->src) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_RED | FOREGROUND_INTENSITY); // "nativni" paket za povratak ) else if (haddr == h->dest ) ( SetConsoleTextColor(BACKGROUND_BLUE | /*BACKGROUND_INTENSITY |*/ FOREGROUND_GREEN | FOREGROUND_INTENSITY); // "nativni" prijemni paket ) if (h->protocol == PROT_ICMP || h->protocol == PROT_IGMP) ( SetConsoleTextColor (0x70) ; // ICMP paket ) else if(h->protocol == PROT_IP || h->protocol == 115) ( SetConsoleTextColor(0x4F); // IP-in-IP paket, L2TP ) else if(h - >protocol == 53 || h->protocol == 56) ( SetConsoleTextColor(0x4C); // TLS, IP s enkripcijom ) if(whost == h->dest || whost == h->src) ( SetConsoleTextColor (0x0A); ) )

Međutim, to je značajno izvan dosega ovog članka. Za naš primjer treninga bit će dovoljno pogledati IP adrese hostova s ​​kojih i na koje dolazi promet te izračunati njegovu količinu po jedinici vremena (gotovi program je u arhivi na kraju članka) .

Kako biste prikazali podatke IP zaglavlja, morate implementirati funkciju za pretvaranje zaglavlja (ali ne i podataka) datagrama u niz. Kao primjer implementacije možemo ponuditi sljedeću opciju:

Pretvaranje IP zaglavlja u niz
inline char* iph2str(IPHeader *iph) ( const int BUF_SIZE = 1024; char *r = (char*)malloc(BUF_SIZE); memset((void*)r, 0, BUF_SIZE); sprintf(r, "ver=% d hlen=%d tos=%d len=%d id=%d flags=0x%X offset=%d ttl=%dms prot=%d crc=0x%X src=%s dest=%s", BYTE_H (iph->ver_len), BYTE_L(iph->ver_len)*4, iph->tos, ntohs(iph->length), ntohs(iph->id), IP_FLAGS(ntohs(iph->flgs_offset)), IP_OFFSET (ntohs(iph->flgs_offset)), iph->ttl, iph->protocol, ntohs(iph->xsum), nethost2str(iph->src), nethost2str(iph->dest)); return r; )
Na temelju gore navedenih osnovnih informacija dobivamo ovaj mali program (jezivo ime ss, skraćeno od simple sniffer), koji implementira lokalno slušanje IP prometa. Njegovo sučelje prikazano je na donjoj slici.

Dajem izvorni i binarni kod kakav jest, kakav je bio prije nekoliko godina. Sada me je strah gledati u to, a opet, prilično je čitljivo (naravno, ne možete biti tako samouvjereni). Čak će i Visual Studio Express 2005 biti dovoljan za kompilaciju.

Što smo na kraju dobili:

  • Njuškalo radi u korisničkom načinu rada, ali zahtijeva administratorske ovlasti.
  • Paketi se ne filtriraju i prikazuju se onakvi kakvi jesu (možete dodati prilagođene filtre - predlažem da ovu temu pogledate detaljno u sljedećem članku ako ste zainteresirani).
  • WiFi promet se također bilježi (sve ovisi o specifični modelčip, možda neće raditi za tebe, kao što je za mene prije nekoliko godina), iako postoji AirPcap, koji to može učiniti izvrsno, ali košta.
  • Cijeli tok datagrama zapisuje se u datoteku (pogledajte arhivu priloženu na kraju članka).
  • Program radi kao poslužitelj na portu 2000. Možete se povezati koristeći telnet pomoćni programi hostu i nadziru tokove prometa. Broj veza je ograničen na dvadeset (kod nije moj, našao sam ga na internetu i koristio za eksperimente; nisam ga izbrisao - šteta)
Hvala vam na pažnji, čestitam stanovnicima Khabrovsk i Khabrovke i svima, sretan Božić!

Ovdje je dobar sniffer (analizator mrežnog prometa, možete ga koristiti za presretanje informacija), koji će vam omogućiti da u vizualnom videu dobijete prilično potpune informacije o svim paketima koji prolaze kroz protokol po vašem izboru; u cjelovitim vijestima možete jednostavno preuzmite IP Sniffer. Programeri su pokušali napraviti moćniji program od običnog sniffera, budući da je sada moguće filtrirati obrađene podatke i potpuno dekodirati cijeli sadržaj paketa.

IP Sniffer ima niz dodatnih uslužnih programa, uključujući prilično dobar nadzor prometa, možete vidjeti u dijagramima IP adrese koje se najčešće koriste, isto se može reći i za protokole. Ako želite, možete raditi s protokolom za određivanje adrese ili poznatijim kao ARM - pregledavati ga, brisati razne zapise, slati odgovore. Postoji funkcija koja vam pomaže da dobijete Netbios naziv za danu IP adresu. Želio bih napomenuti alat Netstat u IP Snifferu - on će prikazati različite vrste mrežne veze i imat ćete opciju da prisilno prekinete veze koje odaberete, što je prilično zgodno.

Ako trebate dobiti potpune informacije o mrežnom adapteru koji koristite, program će i ovdje pomoći. Između ostalog, tu je i podrška za Spoofing raznih protokola, uključujući ARP, što znači podršku za presretanje prometa između različitih hostova. IP Sniffer može tražiti DHCP poslužitelje, postoji ugrađena usluga za izdavanje informacija o IP adresama koje su vam potrebne, IP možete pretvoriti u Hostname i, sukladno tome, obrnuto, naravno također je moguće pingati hostove i mreže.

IP Sniffer ne zahtijeva instalaciju, može se pokrenuti s medija, nema rusku podršku, a ima jednostavno sučelje bez podrške za mijenjanje pahulja. Općenito, ovo je razvoj pred vama, mislim da će za određene svrhe biti vrlo koristan. Ne zaboravite ostaviti svoje mišljenje o ovom programu, ako netko pronađe njegovu primjenu, podijelite svoje dojmove, i ne zaboravite da je potpuno besplatan.

Naziv problema: IP.Sniffer.1.99.3.6
Developer:

Erwanov blog

Licenca: FreeWare
Jezik: Engleski
Veličina: 7,16 MB
OS:Windows
preuzimanje datoteka:

- 7,16 MB

SmartSniff omogućuje presretanje mrežnog prometa i prikaz njegovog sadržaja u ASCII formatu. Program hvata pakete koji prolaze mrežni adapter te prikazuje sadržaj paketa u tekstualnom obliku (protokoli http, pop3, smtp, ftp) i u obliku heksadecimalnog dumpa. Za snimanje TCP/IP paketa SmartSniff koristi sljedeće tehnike: sirove utičnice - RAW utičnice, WinCap Capture Driver i Microsoft Network Monitor Driver. Program podržava ruski jezik i jednostavan je za korištenje.

Sniffer program za hvatanje paketa


SmartSniff prikazuje sljedeće informacije: naziv protokola, lokalnu i udaljenu adresu, lokalni i udaljeni port, lokalni čvor, naziv usluge, količinu podataka, ukupnu veličinu, vrijeme snimanja i vrijeme zadnjeg paketa, trajanje, lokalnu i udaljenu MAC adresu, zemlje i paket podataka sadržaj . Program ima fleksibilne postavke, implementira funkciju filtra za snimanje, raspakiranje http odgovora, pretvaranje IP adresa, uslužni program je minimiziran na programsku traku. SmartSniff generira izvješće o protoku paketa u obrascu HTML stranice. Program može izvoziti TCP/IP tokove.

Njuškalo nije uvijek zlonamjerno. Zapravo, ovaj tip Softver se često koristi za analizu mrežnog prometa kako bi se otkrile i ispravile anomalije i osigurao nesmetan rad. Međutim, njuškalo se može koristiti sa zlom namjerom. Snifferi analiziraju sve što prolazi kroz njih, uključujući nekriptirane lozinke i vjerodajnice, tako da hakeri s pristupom snifferu mogu doći do osobnih podataka korisnika. Osim toga, njuškalo je moguće instalirati na bilo koje računalo spojeno na lokalnu mrežu, bez potrebe da ga instalirate na sam uređaj – drugim riječima, ne može se detektirati tijekom cijelog vremena veze.

Odakle dolaze njuškala?

Hakeri koriste njuškala za krađu vrijednih podataka nadgledanjem mrežne aktivnosti i prikupljanjem osobne informacije o korisnicima. Obično su napadači najviše zainteresirani za korisničke lozinke i vjerodajnice za pristup računima internetskog bankarstva i internetske trgovine. Hakeri najčešće instaliraju sniffere na mjesta gdje se distribuira nezaštićeni softver. Wi-Fi veze npr. u kafićima, hotelima i zračnim lukama. Njuškali se mogu maskirati u uređaj povezan s mrežom u takozvanom spoofing napadu kako bi ukrali vrijedne podatke.

Kako prepoznati njuškalo?

Neovlaštene sniffere iznimno je teško virtualno prepoznati jer se mogu instalirati gotovo bilo gdje, predstavljajući vrlo ozbiljnu prijetnju sigurnost mreže. Redoviti korisnicičesto nemaju šanse prepoznati da njuškalo prati njihov mrežni promet. Teoretski je moguće instalirati vlastiti sniffer koji bi sve pratio DNS promet za prisutnost drugih njuškala, međutim, za prosječnog korisnika puno je lakše instalirati anti-niffing softver ili antivirusno rješenje koje uključuje zaštitu mrežne aktivnosti kako bi se zaustavio svaki neovlašteni upad ili sakrile svoje mrežne aktivnosti.

Kako ukloniti njuškalo

Možete koristiti vrlo učinkovit antivirusni program za otkrivanje i uklanjanje svih vrsta zlonamjernog softvera instaliranog na vašem računalu u svrhu njuškanja. Međutim za potpuno uklanjanje sniffer, morate izbrisati apsolutno sve mape i datoteke povezane s njim s vašeg računala. Također je toplo preporučljivo koristiti antivirusni program s mrežnim skenerom koji će temeljito provjeriti lokalnu mrežu na ranjivosti i dati upute o daljnjim radnjama ako se pronađu.

Kako izbjeći da postanete žrtva njuškala
  • Šifrirajte sve informacije koje šaljete i primate
  • Skenirajte svoju lokalnu mrežu u potrazi za ranjivostima
  • Koristite samo provjerene i sigurne Wi-Fi mreže
Zaštitite se od njuškala

Prva stvar koju korisnik može učiniti kako bi se zaštitio od njuškala je korištenje visokokvalitetnog antivirusnog programa poput besplatni antivirus Avast, koji je sposoban temeljito skenirati cijelu mrežu radi sigurnosnih problema. Dodatni i vrlo učinkovit način zaštite informacija od njuškanja je šifriranje svih podataka poslanih i primljenih online, uključujući e-poštu. pošta. Avast SecureLine vam omogućuje sigurno šifriranje svih razmjena podataka i obavljanje online radnji u 100% anonimnosti.