Taggat med: wireshark

Ny stabil uppdatering av Wireshark

Den omåttligt populära mjukvaran Wireshark som används för att läsa av nätverkstrafik finns nu ute i en ny stabil version: 2.0.5. Detta är den femte uppdatering till 2.0-serien som kom ut för snart ett år sedan (läs mitt test här).

Denna version åtgärdar 9 stycken säkerhetsbrister som identifierats samt 22 andra buggrättningar.

Behöver Er organisation hjälp med av analysera nätverkstrafik? Kontakta Triop AB >

Säkerhetsbristerna återfinnes i hanteringen av följande protokoll: CORBA IDL, PacketBB, WSP, RLC, LDSS, OpenFlow, MMSE, WAP samt WBXML.

Och i följande protokoll har avkodningen uppdaterats: 802.11 Radiotap, BGP, CAN, CANopen, H.248 Q.1950, IPv4, IPv6, LANforge, LDSS, MPTCP, OSPF, PacketBB, PRP, RLC, RMT-FEC, RSVP, RTP MIDI, T.30, TDS, USB, WAP, WBXML, WiMax RNG-RSP, och WSP.

Wireshark är gratis och finns till operativsystem såsom Linux, Windows och Mac OS X. Och ett bra alternativ till Wireshark är Network Miner. Och gillar du inte grafiska gränssnitt så följer även tshark med som går att köra direkt från terminalen.

Du kan läsa samtliga release-notes här för version 2.0.5 och du kan som vanligt ladda hem Wireshark från wireshark.org.

Så blir du en ninja på nätverksforensik

Nätverksforensik

Artikel uppdaterad: 2016-10-20

För att bli en ninjamästare på nätverksforensik så gäller det först och främst att du är bekväm och känner till din uppsättning med verktyg. Jag rekommenderar att du börjar med att testa Linux-disten Security Onion som är har en stor mängd olika verktyg förinstallerade såsom NetworkMiner, Argus, Snort och Bro.

Sen gäller det också att ha tillgång till någon data att experimentera med, och desto råare format desto bättre. Därför gillar vi som jobbar med nätverksforensik formatet pcap (och numera även vidareutvecklingen pcap-ng).

Har du inga egna pcap-filer så kan du alltid skapa upp dessa genom att spara ner nätverkstrafik till/från din egen dator eller hämta hem från Wireshark eller Netresec.

Hitta rätt i nätverkstrafiken

När du väl har tillgång till råmaterial i form av pcap-filer så måste du lista ut hur du ska angripa problemet. Oftast så finns det inte enbart en lösning på problemet utan som forensiker får du prova flera olika innan du eventuellt hittar en lösning.

Mer åren får du troligtvis även mer erfarenhet och kan lösa problem snabbare och navigera rätt snabbare bland nätverkstrafiken.

Frågan vi måste ställa oss är: Vad är syftet? Vad är det vi är ute efter. Är det potentiellt skadlig kod som har passerat eller söker vi efter något annat. Och innan vi börjar så bör vi även veta hur nätverkstopologin ser ut:

  • Är trafikinspelningen innanför eller utanför brandväggen?
  • Är det bakom NAT?
  • Är det egress/ingress eller dubbelriktad trafik
  • capinfos-kommandot som följer med Wireshark ger bra info

Sedan bör ni ha en Standing Operating Procedures (SOP) för hur trafiken ska hanteras. Jag rekommenderar exempelvis att alltid använda Snort och ett relativt uppdaterat regelverk som en av de första kontrollerna.

Lär dig med hjälp av CTF

CTF står för Capture The Flag och är en typ av övning som du själv kan utföra för att lära dig mer samt testa dina färdigheter. Det finns ett antal olika CTF:er som är inriktade på nätverksforensik och du börjar som oftast med att ladda hem en pcap-fil som ska analyseras.

Här har jag listat ett antal CTF:er med inriktning på nätverksforensik:

Om du kör fast med någon av ovan så testa att söka efter CTF:ens namn samt write-up så hittar du troligtvis lösningar.

NinjaUtmaningar inom nätverksforensik

Att titta på nätverket ger oftast enbart en bild som många gånger bör kompletteras med övriga forensiska utredningar av datorer exempelvis. Även kan loggfiler från olika system också komplettera den nätverkforensiska undersökningen.

Jag ser även att mer och mer trafik blir också krypterad och använder sig av TLS (https) vilket gör det svårare att titta vad som går i sessionerna. False-flag är också något som förekommer mer och mer där metoden går ut på att förvilla och lämna falska spår.

Behöver Er organisation hjälp med nätverksforensik? Kontakta Triop AB 

En annan metod att kringgå och försvåra nätverksforensik är domain-fronting. Med denna metod så döljs skadlig trafik i kommunikation mot tjänster såsom CDN (se mitt föredrag från Internetdagarna 2014).

Verktygen du ska lära dig

Wireshark och tshark

Först och främst är Wireshark och dess CLI-version tshark något som jag anser att alla bör behärska. Och hanterar du stora mängder data så är det otroligt viktigt att känna till alla kommandoargument som tshark kan ta.

Exempel på kommando: Följande kommando kan användas för att titta på information om TLS/SSL-certifikatet vid en handskakning:

tshark -r snort.log.1425565272 -R ssl.handshake.certificate -V | grep dNSName:

Även så kan vi titta på SNI-värdet (server name indication) om detta finnes:

tshark -r test.pcap -T fields -e ssl.handshake.extensions_server_name

tcpdump

tcpdump är också ett sådant självklart kommando som följer med nästan alla Linux-distar och kan användas till det mesta. Om inte annat så har verktyget bra prestanda när det gäller att filtrera trafik när du skriver pcap-filter för att förfina sökningen, exempelvis:

tcpdump -r gigantisk-fil.pcap -w mindre-fil.pcap "dst port 31337"

Och behöver du snabbt och enkelt spara ner data så brukar jag köra kommandot nedan. Observera att snaplen -s inte behövs om du har en relativt ny tcpdump-version eftersom nya går standard till 65535 bytes (tidigare 96).

tcpdump -i en2 -s0 -w test.pcap

ngrep

ngrep används precis som det klassiska kommandot grep, dvs att vi söker efter något. Gör ingen direkt tolkning av protokoll såsom tshark/wireshark vilket gör att kommandot kan vara snabbare att arbeta med.

Följande kommando kan användas för att identifiera namn på HTTP-förfrågningar

ngrep -q -W byline -I snort.log.1425565276 Host:|grep -i ^Host

Network Miner

Erik Hjelmvik som utvecklat Network Miner har även utvecklat CapLoader och andra bra verktyg. Följer med Security Onion men en gratisversion kan även laddas hem från Netresec. Lätt och enkelt att arbeta med och är det bästa verktyget för att identifiera filer som går över nätverket.

För cirka 7400kr så får du en bättre version som har ytterligare en mängd funktioner såsom protokollidentifiering med hjälp av statistik, GeoIP, CLI-version.

NetworkMiner

Om du använder dig av Security Onion kan du starta NetworkMiner med kommandot /opt/networkminer/networkminer

tcpflow

NinjaDetta verktyg parar ihop TCP:s fem-tupel och skriver ner dessa strömmar till disk, en ström per fil. Otroligt värdefullt om du vill analysera stora mängder data närmare.

Varje fil får ett namn som relaterar till sessionen i form av IP-adress src/dst samt käll och destinations-porten. Med nollor som prefix, exempelvis:

185.003.051.013.00080-010.101.001.143.63092

Sedan kan vi hantera filen med vanliga verktyg såsom grep, head osv:

$ head -3 185.003.051.013.00080-010.101.001.143.63092
HTTP/1.0 304 Not Modified
Server: Apache-Coyote/1.1
P3P: policyref="/w3c/p3p.xml", CP="NON DSP COR NID CUR ADMa DEVa PSAa PSDa TAIa OUR IND COM CNT DEM INT LOC NAV PRE UNI"

Även så genomförs ingen vidare avkodning, så vi får själv ta hand om gzippat innehåll osv. Men har vi en nyare version och lägger på argumentet -e http (eller -a). Då får vi en till fil men med suffixet -HTTPBODY-002 exempelvis:

185.003.051.013.00080-010.101.001.143.63092-HTTPBODY-002

snort

Snort är en mjukvara för att upptäcka intrång i nätverkstrafik (IDS) men kan även läsa PCAP-filer i efterhand. Och som anti-virus motorer så fungerar en IDS bäst då regelverket är uppdaterat.

När det gäller Snort så finns det tre huvudspår när det gäller regelverk:

  • Emerging Threats
  • Snort – Cisco Talos
  • Snort Community

Jag rekommenderar att använda Snort Cisco Talos, kostar enbart 29$ per år för personligt bruk. Annars testa även Emerging Threats regler som också uppdateras och innehåller 47k regler. Kör kommandot rule-update på Security Onion om du vill uppdatera regelverket med PulledPork:

PulledPork

För att läsa in en pcap-fil och sedan skriva ut larm till mappen ./log/ kör du:

snort -r snort.log.1425565276 -c /etc/nsm/templates/snort/snort.conf --daq pcap --daq-mode read-file -l ./log/

Och om du som jag får många regler som larmar false-positive så kan du alltid lägga till dem i filen /etc/nsm/pulledpork/disablesid.conf

Även så kan Snort logga direkt till console med -A console argumentet.

Givetvis är även Suricata ett alternativ till Snort, och finnes så klart redan installerat i Security Onion.

Snort

argus

Argus (audit record generation and utilization system) är uppdelat i en mängd olika verktyg såsom ra, rasort och racluster. Argus gör det lätt att arbeta med flöden samt övergripande analyser. Och precis som många andra verktyg som jag gått igenom här så kan Argus fungera offline eller direkt online mot nätverkstrafik.

Även så kan argus-filer vara bra vid långtidslagring där bara meta-data behöver sparas från trafiken.

argus -r snort.log.1425565276 -w snort.log.1425565276.argus

Vår pcap-fil är på 153 MB och argus metadata-fil är på 241K.

Sedan kan vidare använda argus verktyg såsom racluster och rasort för att koppla ihop TCP-sessioner och sedan sortera samtliga sessioner i filen för att försöka upptäcka exfiltration:

racluster -r snort.log.1425565276.argus -w -|rasort -r - -m sbytes|head -30

Och vill vi enkelt filtrera ut samtliga tcp-sessioner, slå ihop dessa samt se vilka som varit mest långvariga kan vi köra följande kommando:

racluster -r snort.log.1425565276.argus -w - -- tcp|rasort -r - -m dur -s stime saddr daddr sport dport dur proto |tail

OPSEC

SchhyyyNär du utför dina analyser så bör du upprätthålla god sekretess. Trafiken du analyserar kan innehåll diverse kod som gör att sårbarheter utnyttjas i exempelvis Wireshark. Se därför till att köra så mycket som möjligt med låg behörighet och helt avskilt från andra nätverk och system såsom Internet.

Och fundera igenom allt du gör mot Internet: Vad lämnar detta för spår? Om du exempelvis analyserar kommunikation som en trojan utnyttjar (C&C) och det helt plötsligt dyker upp ett curl-anrop från din analys-klient så kan detta förstöra framtida mtrl.

Antagonisten kan nämligen bevaka kontrollkanalerna och då snabbt radera samtliga bevis, nycklar osv om hen märker att du utför analys.

Skärmdump

Denna skärmdump är från webbgränssnittet i Security Onion:

securityonion-web

Analys och förmildring av överbelastningsattacker (DDoS)

Att analysera och förmildra en DDoS-attack kan göras genom ett antal olika metoder. Även finns det DDoS-attacker där motverkansmedel kan användas och således göra attacken mindre effektiv. Givetvis kan filtrering genomföras på ISP-nivå också, men det är ett relativt trubbigt verktyg.

Först och främst måste trafikdata i form av PCAP-format eller liknande samlas in, detta kan visa på ledtrådar såsom vilket verktyg som används eller om det är förfalskade paket (spoofade). Även så kan loggar på servern analyseras för att avgöra exempelvis om det är en eller flera stora bilder som laddas om och om igen. Finns inte råa paket kan även netflow-data användas och analyseras med verktyg såsom Argus.

🔎 Reklam: Triop AB analyserar och kan ta fram motverkansmedel mot DDoS

När vi vet vem avsändaren är så måste denna analyseras närmare, rör det sig om klientdatorer eller servrar med hög kapacitet? Om det är klientdatorer så rör det sig troligtvis om ett bot-nät med infekterade privatpersoner, är fallet högprestanda-servrar så kan det vara hyrda servrar direkt av antagonisten eller som är vanligare: hackade servrar.

Finns även fall där klienter kan surfa in på en speciell sida så exekveras ett javascript som hämtar en eller flera tunga filer om och om igen, denna attack är implementerad i bl.a JS LOIC.

Wireshark är ett bra verktyg att visuellt analysera nätverkstrafik men fungerar ej väl med större datamängder. Nedan exempel visar hur det ser ut i Wireshark när LOIC används:

LOIC Wireshark

Skärmdump från webbsida som har JS LOIC:

JS LOIC

Skärmdump från JS LOIC storebror LOIC. LOIC står för Low Orbit Ion Cannon:

Low_Orbit_Ion_Cannon

Ovan två exempel använder dock enbart den egna kapaciteten. För att uppnå mer skada på slutmålet så kan även antagonisten använda sig av en förstärkt DDoS (amplification DDoS attack).

Genom att skicka en mindre mängd data till ett antal servrar och sedan får dessa att svara med flertalet gånger större mängd data till en annan server så kan större effekt uppnås:

DDoS amplification attack

Vanligtvis används UDP baserade protokoll såsom DNS och NTP (MON_GETLIST) men även så har vi sett attacker där WordPress pingback används för att rikta om svar. Dessa servrar har också oftast en relativt god kapacitet mot internet till skillnad från många hemanvändare och privatpersoner.

I vissa fall så måste även reverse-engineering utföras för att förstå hur attack-koden fungerar.

Skärmdump från klienten som användes mot SpamHaus. Reverse-engineering utförd med Ollydbg:

SpamHaus DDoS

Genom att analysera klientkoden som körs så kan man även i slutändan troligtvis identifiera puppetmastern, som styr klienterna. Vanligt förekommande kontrollkanaler (C&C) är IRC, HTTP osv. Men inte helt ovanligt heller så använder den som utför kommandon någon form av anonymiseringsverktyg såsom Tor.

Att just LOIC används som exempel ovan är för att denna programvara användes för att slå ut flertalet myndighetssajter år 2012.

Test av NetworkMiner 2.0

NetworkMiner 2.0NetworkMiner är precis som det låter en produkt för att undersöka nätverkstrafik. Mjukvaran är utvecklad av det svenska företaget Netresec och har funnits sedan 2007.

Denna nya version har följande funktioner:

  • SMB/CIFS stödjer nu att extrahera filer från SMB-skrivningar
  • Stöd för SMB2-protkollet
  • Yttarligare IEC-104 kommandon implementerade
  • Modbus/TCP hantering
  • Förbättrat stöd i SMTP, DNS och FTP
  • GUI förbättrat vid inläsning av PCAP-filer eller live-läsningar
  • Favicon-bilder extraheras nu ur nätverkstrafik
  • Stöd för att söka med nyckelord under flertalet tabbar

Under testet så laddade jag in en PCAP-fil från 4SICS-konferensen. Filen var på 134 MB och tog cirka 15 minuter att ladda in.

NetworkMiner ser ut att läsa ut filer, sessioner och all annan information som kan vara relevant för en nätverkforensisk undersökning. Mjukvaran finns även i en betalversion som kostar cirka 7600 SEK och inkluderar då geoip, csv export, os fingerprinting och ett kommandogränssnitt.

Vad är då största skillnaden mellan NetworkMiner och Wireshark? NetworkMiner klarar att extrahera ur filer ur en större mängd nätverksprotokoll även om Wireshark stödjer att tolka fler protokoll.

Här kan du ladda hem gratisversionen av NetworkMiner:

Skärmdumpar:

NetworkMiner NetworkMiner

Test av nya Wireshark 2.0

Wireshark 2.0

Wireshark är ett analysverktyg för nätverkstrafik som nu har 17 år på nacken. Från början gick Wireshark under namnet Ethreal och projektet startades av Gerald Combs.

Denna nya version, 2.0 använder Qt som fönsterramverk istället för Gtk som tidigare användes. Även så är allt mer genomarbetat i gränssnittet så att många dubbla dialogrutor och frågor är borttagna.

Detta är uppenbart när man först startar upp nya versionen:

Wireshark start

Även så stödjer denna nya version stöd för en mängd nya protokoll och filtyper.

Ett urval av de nya protokollen som nu stödjs är följande:

Aeron, AllJoyn Reliable Datagram Protocol, Android Debug Bridge, Android Debug Bridge Service, Android Logcat text, Apache Tribes Heartbeat, APT-X Codec, B.A.T.M.A.N. GW, B.A.T.M.A.N. Vis, BGP Monitoring Prototol (BMP), Bluetooth Broadcom HCI, Bluetooth GATT Attributes, Bluetooth OBEX Applications, Zigbee ZCL, Minecraft Pocket Edition, MQ Telemetry Transport Protocol for Sensor Networks.

Och så klart så stödjer även Wireshark plattformar såsom Windows, Linux och Mac OS X. När vi installerar under Windows så får vi frågan om vi vill installera Winpcap som är drivrutinen för att lyssna på nätverkstrafik i realtid samt så får vi frågan om vi vill installera USBcap som kan lyssna på USB-datatrafik.

Och de nya filformaten som kan användas för att läsa in datatrafik är: O3GPP TS 32.423 Trace, Android Logcat text files, Colasoft Capsa files, Netscaler 3.5, och Symbian OS BTSNOOP File Format. Totalt stödjer Wireshark 1926 protokoll och 142529 fält från dessa protokoll.

Och förutom själva grafiska Wireshark så installeras även dessa verktyg:

  • capinfos – visar information om pcap-filer.

  • dumpcap – Verktyg för att spara mängder med information utan någon vidare bearbetning.

  • editcap – Ändra och konvertera pcap-filer.

  • mergecap – Lägg ihop flertalet pcap-filer till en.

  • randpkt – Skapa slumpmässig nätverkstrafik.

  • rawshark – Dumpa och analysera rå nätverkstrafik.

  • reordercap – Ändra ordningen i en fil så den följer tidsstämplar och skriv till ny fil.

  • text2pcap – Skapa en pcap-fil av text.

  • tshark – Verktyget för dig som vill ha Wiresharks kraftfulla protokollanalys men inte gillar grafiska gränssnitt.

Skärmdumpar

S7comm Siemens PLC-skrivning (SCADA/ICS protokoll).

Wireshark Siemens S7comm

HTTP Host som en extra kolumn, ny feature som gör att valfritt fält kan bli en ny kolumn.

Wireshark host som kolumn

Sammanfattningsvis

Nya gränssnittet är snabbt och går att arbeta med utan längre fördröjningar, även med större mängder data. Filter-rutan för display-filter får en ny central roll i Wireshark och fungerar riktigt smidigt, nästan som Google.

Wireshark är helt klart mer genomtänkt och lättare att arbeta med i version 2.0. Och upplever du att nya gränssnittet är buggigt så finnes det gamla kvar under namnet Wireshark Legacy, åtminstone i Windows.

Ny version av Wireshark: 1.8.11

wiresharkSnifferverktyget Wireshark som läser av och avvkodar nätverkstrafik finns nu ute i en ny version: 1.8.11.

Denna release är enbart en buggfix-release och åtgärdar ett antal buggar som gör att Wireshark kan krascha alternativt användas av en antagonist för att exekvera kod.

Uppdaterade protokoll är enligt följande:

BSSGP, DCERPC, DCERPC NT, DIAMETER, Ethernet, EtherNet/IP, IEEE
   802.15.4, IRC, NBAP, NTLMSSP, OpenWire, SIP, samt WiMax

För fullständig lista med ändringar se följande:

Och wireshark kan du som vanligt ladda hem här:

Backtrack 5 med full hårddisk-kryptering

Linux-disten Backtrack släpptes nyligen i version 5 och vi snubblade nyligen över en guide på hur du kan skapa ett USB-minne där allt är krypterat och som innehåller Backtrack 5. Krypteringssystemet som används är LUKS som står för Linux Unified Key Setup och kan hittas här.

Lite mer om Backtrack:

BackTrack med program som Wireshark (tidigare Ethereal), Kismet och Aircrack inriktar sig främst för penetrations- och nätverkstestning. Många så kallade hackers använder denna distribution för att den innehåller otroligt många och framför allt, effektiva verktyg färdiginstallerade. BackTrack ligger 1:a på topplistan av linuxdistributioner skapade för penetrationstesting. BackTrack är från början utvecklat av Remote-exploit, men sedan gruppen av utvecklare förändrats har Remote-exploit hoppat av BackTrack, och utvecklingen har lagts på sidan backtrack-linux.org istället.

Källa: Wikipedia

Guiden kan i sin helhet läsas här:

infosecramblings.com/backtrack/backtrack-5-bootable-usb-thumb-drive-with-full-disk-encryption/