Full Pakke fredag: ngrep

for dagens innlegg skal jeg ta en kort titt på det ryddige kommandolinjeverktøyet ngrep. Dette er et veldig nyttig verktøy som jeg alltid har på hånden for noen virkelig rask PCAP analyse. Det er faktisk ganske funksjonsrikt, og tillater også pakkedumping. La oss ta en titt på noen funksjoner:

Enkelt sagt, ngrep er et verktøy som gir grep evner på nettverkslaget. ngrep kan brukes til å undersøke packet capture (“PCAP”) filer, samt fange live trafikk på et lokalt grensesnitt. Analytikere kan legge inn enten vanlige eller hex uttrykk som skal matches mot pakker, Berkeley Packet Filter (“BPF”) syntaks når sniffing, og verktøyet gjenkjenner et myriade av trafikktyper. Ikke dårlig for et lite kommandolinjeverktøy!

her er et eksempel på overvåking av lokal trafikk:

ngrep eth0

Skjermbilde av utgang fra kommandoen ngrep eth0

etter å ha kjørt kommandoen, forteller verktøyet oss at det overvåker det angitte grensesnittet. Hver ” # ” som er registrert er en pakke mottatt. Uten noen form for filtrering eller utdataalternativ, bekrefter vi egentlig bare pakker som kommer over et grensesnitt. La oss legge til noen flere alternativer:

ngrep -d eth0 port 80

Skjermbilde av utdata fra kommandoen ngrep-d eth0 port 80

i eksemplet ovenfor angav vi trafikk på port 80, åpenbart på jakt ETTER HTTP-trafikk. Jeg gikk da og åpnet http://www.firefox.com, som vi tydelig kan se fra noen av de første pakkene. Nå, dette ser litt mer kjent!

Legg Merke til at vi har de forventede feltene fra denne typen trafikk, inkludert Brukeragent, HTTP-metode, src / dst IPs, etc. Det er imidlertid fortsatt litt innviklet. Vi har ikke gjort noen form for matching. La oss bruke kraften til en regex for å faktisk gi oss data vi kan være spesielt interessert i:

ngrep -d eth0 '^GET' port 80

i kommandoen ovenfor fortsatte jeg å spesifisere grensesnittet eth0 og overvåkingsport 80, men denne gangen har jeg angitt en regex av ^ GET, og spør verktøyet om å bare gi meg linjer hvor GET er de tre første tegnene-i hovedsak fokuserer bare PÅ HTTP GET-forespørsler — Her er vår produksjon:

Skjermbilde av utdata fra kommandoen ngrep-d eth0 ‘^GET ‘ port 80

mye renere! Jeg gjorde en forespørsel til yahoo.com, som involverte massevis av andre pakker, MEN bare EN FÅR forespørsel matchet. Merk om de andre ” # ” tegnene rundt trafikken. Dette er tilleggspakker som ble observert, men ignorert fordi de ikke samsvarte med det angitte mønsteret. Vi kan faktisk fjerne de med et -q flagg.

ngrep utdata kan også lagres i en lokal PCAP-fil ved hjelp av bryteren -O. Dette er kanskje ikke det mest funksjonsrike pakkeopptakverktøyet, men det er sikkert en rask og enkel måte å raskt ta tak i trafikk!

ngrep Med PCAPs

Nå som vi har gått gjennom noen korte og søte alternativer for å overvåke live trafikk, kan vi også bruke samme logikk på historiske PCAP-filer. Her er et eksempel:

ngrep -I http.cap '^GET' port 80

jeg trakk ned prøvefilen http.cap fra Wiresharks SampleCaptures-side for denne testen. Her er vår produksjon:

Skjermbilde av utdata fra kommandoen ngrep-i http.cap ‘^ GET ‘ port 80

Legg Merke til at verktøyet fortsatt viser omkringliggende pakker, men vi er bare gitt detaljer som samsvarer med vår regex. Vi kan også se på å bruke en enkel tekst filter for å finne pakke nyttelast data som samsvarer med et ord av interesse. Jeg skal søke på samme http.cap leter etter ordet Linux:

#> ngrep -I http.cap 'Linux' port 80 -q | wc -l
99

Ved å bruke q-utgangen ignorerer vi pakker som ikke samsvarer. Jeg rør til wc -l for å telle hvor Mange pakker Som Har Linux i dem. La oss se på de første linjene:

ngrep -I http.cap 'Linux' port 80 -q | head

Skjermbilde av utdata fra kommandoen ngrep-i http.cap ‘Linux’ port 80-q / head

Legg Merke til at hash-merkene våre er borte, og vi har en enkelt linje kamp. Denne eksakte hensikten er det jeg ofte bruker ngrep for; raskt avgjøre om innhold jeg er interessert i, er innenfor PCAP jeg har. Det kan imidlertid også være downfalls. Vurder følgende kommando:

ngrep -I dhcp.pcap

Skjermbilde av utdata fra ngrep-i dhcp.pcap

Legg Merke til at i dette tilfellet, hvor vi ikke nødvendigvis HAR ASCII-tekst, får vi det som ser ut som rådata. Dette er hvor bestemt protokollintrospeksjon, som Det Som Tilbys Av Wireshark, blir ekstremt nyttig. Vi kan imidlertid kaste ngrep a-x-flagg for å få rå hex-utgang:

ngrep -I dhcp.pcap -x

Skjermbilde av utdata fra ngrep-i dhcp.pcap-x

Her Er Wireshark for sammenligning:

Skjermbilde AV EN DHCP-Forespørselspakke I Wireshark

Det Er Åpenbart Ikke så rent, men dette kan ikke være den beste bruken for ngrep. Men i det minste er det et kraftig verktøy for å inspisere både historisk og live trafikk, og gi filtre for å zoome inn på bare det som betyr noe. Fordi det er script-stand, kan vi også pipe ngrep utgang til et mylder av andre verktøy, inkludert potensielt grep selv! ngrep kan også brukes til å søke gjennom en liste over IOCs, potensielt finne raske gevinster.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.