Uppdatering: Nu har Microsoft släppt information också. De skriver att du kan använda följande Powershell-oneliner för att stänga av SMBv3-komprimering tillsvidare:
Information har nyligen släppts angående en sårbarhet i Windows hantering av SMBv3-protokollet. Denna sårbarhet kan jämföras med EternalBlue som var mycket allvarlig, dock så var det sårbarhet i SMBv1. Efter malware såsom WannaCry, NotPetya och BadRabbit så hoppas jag verkligen att SMB-kommunikation är begränsad i många nätverk.
Fortiguard som varit snabba att släppa information uppger att det är nedan operativsystem som är sårbara. Titeln på Fortguards sida är: ”MS.SMB.Server.Compression.Transform.Header.Memory.Corruption”
Windows 10 Version 1903 for 32-bit Systems
Windows 10 Version 1903 for x64-based Systems
Windows 10 Version 1903 for ARM64-based Systems
Windows Server, version 1903 (Server Core installation)
Windows 10 Version 1909 for 32-bit Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows Server, version 1909 (Server Core installation)
Denna sårbarhet går under CVE-2020-0796 och enligt en cachad sida hos Cisco Talos så verkar det som om Cisco felaktigt trodde att Microsoft patchat denna under dagens patch-tisdag.
Följande sökning ligger kvar hos sökmotorn DuckDuckGo:
Enligt Niall Newman på Twitter så går det att stänga av stödet för komprimering i SMBv3 med följande registernyckel, dock otestat:
Så slutsatsen är att detta kan leda till en ny mask som sprids snabbt. Microsoft kan tvingas att släppa en patch i förtid och enligt ovan så kan det eventuellt gå att stänga av komprimering i SMBv3.
Enligt många säkerhetsforskare var Stuxnet ett av de första och mest uppmärksammade cybervapnet. Resurserna som behövdes för att utveckla Stuxnet och dess olika delar är troligtvis något som enbart en nation har: Flertalet programspråk, mängder av moduler, flertalet zero-days, kunskap om urananrikningsanläggningen Natanz centrifuger och stulna certifikat för att nämna några delar som gör att det troligtvis ligger en stat bakom.
Leveransdelen
Denna del av cybervapenet gör att den träffar sitt mål. Eller når rätt klient, hårdvara eller nätverk. Leveransen kan ske via E-post, USB-minne, CD-skiva eller fysiskt ansluta mot den server, klient, TV eller liknande. Vilket bl.a Vault7 läckorna från CIA visade på. Inte helt ovanligt att HUMINT- och SIGINT -resurser nyttjas.
Leveransdelen kan också ske i form av ett implantat som installeras när utrustningen skickas ut till kund. För att nå sitt slutgiltiga mål som kanske är längre in i nätverket kan även zero-days användas eller kod för att detektera och ta sig förbi airgaps eller luftgap som det också kallas. Nätverk som är känsliga och inte anslutna till internet exempelvis.
Verkansdelen
Verkansdelen tillgodoser att målet med cybervapnet uppnås. Det kan vara att påverka en process i ett SCADA-system eller förstöra vitala delar i samhällskritiska system. Även kan detta vara att exfiltrera känslig information från målsystemet.
Kommunikationsdelen
Denna del är inte alltid nödvändig men gör det möjligt att via ett unikt ID ringa hem och meddela att cybervapnet har nått sitt mål eller utfört ett delmål. Kommunikationsdelen är också viktig om cybervapnet ligger dolt under en längre tid och ska aktivera verkansdelen på ett givet kommando.
För att försvåra upptäckt via nätverksforensik och IDS:er (intrångsdetekteringssystem) kan populära sajter såsom Dropbox, Twitter.com eller Instagram användas, givetvis krypterad med TLS.
Steganografi där meddelanden exfiltreras med hjälpa av bilder har även observerats samt kommunikation mot IP-adresser där satellitlänk används och antagonisten haft möjlighet att läsa av kommunikationen med hjälp av SIGINT (signalspaning) eller annan utrustning.
Om kommunikationsdelen använder redan befintlig infrastruktur för att uppdatera mjukvara eller kontrollera om nya versioner finns tillgängliga så är detta också svårt att detektera (se källa 4 nedan).
Kommunikationsdelen kan också användas för att ladda hem och aktivera nya moduler, droppers etc.
Stealth-mode
Det finns många sätt att försöka undgå upptäckt. Jag har tagit upp några sätt här på bloggen tidigare såsom ”Living-off-the-land” där komponenter som redan finnes i systemet återanvänds för andra syften.
En av de äldsta och vanligaste förekommande metoderna är obfuskering eller kryptering. Även kan relativt enkla saker såsom modularitet göra att det är svårt att se helheten i cybervapnet, exempelvis kan sniff-funktioner ligga i en modul, keylogger i en modul osv.
Även så finns det något som heter environmental keyed payloads där en modul kan vara krypterad med en nyckel som bara återfinnes i målnätverket eller systemet.
En annan viktig aspekt är OPSEC för de som utvecklar cybervapen. För allt lämnar spår och något som blir vanligare och vanligare är falskflaggning eller ”false flag”. Spåren kanske ser ut att peka mot ett land men kan i själva verket vara utvecklat av ett helt annat: Språk, tidzoner osv som kan ändras.
Persistens
Ibland så ligger verkansdelen enbart i enhetens RAM-minne och försvinner således om enheten krashar eller startar om. Men som vanligast så vill den som skapat cybervapnet att det ska ligga kvar under en längre tid och då finns det otroligt många sätt att gömma sig.
Jag gjorde denna video för ett tag sedan då jag går igenom 10 olika sätt att lägga in bakdörrar:
En skillnad mellan exempelvis WannaCry och ett cybervapen är att cybervapnets målsättning enbart är att propagera inom ett mindre område. Det kan röra sig om en enskild organisation eller nätverk. Med en mindre spridning blir också en eventuell detektion svårare.
Propagering kan dock vara ett måste som jag skrev under leveransdelen så kanske det finns luftgap mellan processnätverket/hemliga nätverket och internet.
Upprensning
Den eller de aktörer som lägger resurser på att utveckla ett cybervapen vill gärna inte bli upptäckt. När uppdraget är slutfört ska vapnet radera sig själv, även kan det finnas en inbyggd räknare som automatiskt ser till att radering genomförs efter exempelvis 12 månader.
Ett cybervapen kan även innehålla zero-days som utnyttjar sårbarheter och dessa vill även antagonisten radera alla bevis om, för då kan de använda sårbarheten mot fler mål.
Gillar du detta blogginlägg? Bli gärna månadsgivare via Patreon: