DirtyPipe – Ny allvarlig sårbarhet i Linux-kerneln

Dirtypipe - Ny allvarlig sårbarhet i Linux-kerneln

Uppdatering: Ny PoC-exploit vid namn dirtypipez från blasty som skriver över godtycklig suid-binär och sedan återställer den för att erhålla root.

Uppdatering 2: Denna sårbarhet gäller även containers. Se detta blogginlägg från Aquasec

Max Kellermann har identifierat en ny säkerhetsbrist i Linux-kerneln som medger att du kan skriva över godtycklig fil. Sårbarheten har fått CVE-2022-0847 och finns i alla Linux-kernels från version 5.8. Fixades i versionerna 5.16.11, 5.15.25 och 5.10.102. Även Android är drabbad av denna sårbarhet eftersom Android-baserade system använder sig av Linux-kerneln.

Även värt att notera så skriver Max följande:

To make this vulnerability more interesting, it not only works without write permissions, it also works with immutable files, on read-only btrfs snapshots and on read-only mounts (including CD-ROM mounts). That is because the page cache is always writable (by the kernel), and writing to a pipe never checks any permissions.

Vissa förutsättningar måste dock uppfyllas, men dessa är rätt enkla:

  • Angriparen måste ha läsrättigheter
  • Offset får inte vara på en page boundary
  • Skrivningen kan inte ske över en page boundary
  • Storleken på filen kan inte ändras

Demo på hur CVE-2022-0847 kan utnyttjas för att erhålla root på en Kali Linux-installation (privilege escalation). Detta är på en fullt patchad Kali:

Oklart dock huruvida detta fungerar med säkerhetshöjande lösningar såsom Apparmor, SELinux etc. Rekommenderar även att läsa Max intressanta write-up om hur han hittade buggen. Även finnes fungerande exploit här:

Observera att många operativsystem såsom Debian har under dagen idag måndag, åtgärdat buggen.

Tips för att höja cybersäkerheten

Tips för att höja cybersäkerheten

Med anledning av senaste tidens händelser och en ökad hotbild på cyberarenan så tänkte jag passa på att skriva ner några bra tips och råd på hur Er organisation kan höja cybersäkerheten.

Cyberresiliens och överbelastningsattacker

Er hemsida kan utsättas för överbelastningsattacker eller DDoS som det också brukar kallas. Antagonisten kommer att försöka identifiera kritiska punkter och skicka anrop om och om igen till dessa. Därför är det viktigt att se över hela den exponering som återfinnes mot Internet. Glöm inte API:er, subdomäner, DNS, SMTP osv.

Se till att ha en nödsajt samt alternativa vägar för att kommunicera inom Er organisation. Om internetförbindelsen går ner till Er organisation eller om tjänster såsom Slack går ner på grund av ökad belastning, hur kan ni då kommunicera? Om ni använder tjänster såsom Cloudfront, Akamai eller Cloudflare, se då till att den bakomliggande infrastrukturen inte går att nås via utanför dessa tjänster.

Internetexponering

Att veta hur organisationen ser ut från internet är otroligt viktigt. För det är just på dessa exponerade punkter som antagonisten kommer att fokusera först på. Kontrollera därför Er domän eller IP-adresser mot följande tjänster:

360PassiveDNS, ARIN, Ahrefs, AlienVault, AnubisDB, BinaryEdge, BGPView, BufferOver, BuiltWith, C99, Chaos, CIRCL, Censys, CommonCrawl, DNSdumpster, DNSDB, DNSlytics, DNSRepo, Detectify, FOFA, FullHunt, GitHub, GitLab, Greynoise, HackerTarget, Hunter, IntelX, IPdata, IPinfo, Maltiverse, Mnemonic, N45HT, NetworksDB, ONYPHE, PassiveTotal, PentestTools, Quake, RADb, Robtex, SecurityTrails, ShadowServer, Shodan, SonarSearch, Spamhaus, Spyse, Sublist3rAPI, TeamCymru, ThreatBook, ThreatCrowd, ThreatMiner, Twitter, Umbrella, URLScan, VirusTotal, WhoisXMLAPI, ZETAlytics, ZoomEye.

Eller använd OAWSP amass som gör det automatiskt. Använd DNS Anycast och försök att fronta via CDN och WAF. Även om jag inte är ett stort fan av Web Application Firewalls så kan det vinna Er några timmar.

Autentisering

Denna punkt har också att göra med ovan punkt. Dvs identifiera alla exponerade delar mot internet där en användare kan autentisera sig. Här är det otroligt viktigt att använda flera lager av skydd, jag rekommenderar att använda VPN som omslutning för allt. Och se till att också använda tvåfaktorsautentisering med hårdvaru-tokens såsom Yubikeys och certifikat.

Så kortfattat: Exponera inget mot internet som går att köra över VPN. Se till att den som ansluter via VPN inte kommer åt mer än nödvändigt, tänk zero-trust arkitektur.

Patchning och uppdatering

Om möjligt, se till att systemen uppdaterar sig själva automatiskt med nya säkerhetspatchar. Men var också medveten om att det finns möjlighet för bakdörrar att sig sig in den vägen. Dvs gör ett noga övervägande om för respektive nackdelar med automatiskt säkerhetspatchning. För majoriteten så är detta rätt väg att gå men inte något för alla.

Patcha inte bara mjukvaror, glöm inte heller switchar, skrivare, firmware och annat som också måste uppdatera. Och håll koll på om produkter eller system börjar närma sig End-of-Life och vad ni har för möjligheter då.

Har ni system som är äldre och som inte går att uppdatera men som ni ändå är beroende av, se till att isolera dessa extra noga. Exempelvis ett eget segment i nätverket där allt är filtrerat in och ut samt en speciell jump-host måste användas för att komma åt detta gamla system.

Härda systemen och se till att enbart mjukvaror som används exponeras eller är påslagna.

Övervaka, öva och testa

Testa säkerheten kontinuerligt med automatiska testverktyg såsom Holm Security, Detectify eller Nessus. Anlita konsulter som gör återkommande manuella penetrationstester samt genomför kodgranskning löpande om ni utvecklar mjukvara.

Öva på att återställa backup och se till att backuperna lagras offline eller på annat sätt icke åtkomliga från den ordinarie IT-infrastrukturen.

En komprometterad klient kan snabbt leda till att hela Er Windows AD-miljö blir övertagen. Se därför till att ni snabbt kan detektera om en klient börjar att bete sig suspekt. Har ni inte förmågan själva så se till att anlita ett företag som är experter på SIEM/SOC. Och vad gör ni när ni upptäcker något suspekt eller blivit utsatta för intrång, då är det bra att redan ha upparbetade kontaktvägar eller plan hur delar ska isoleras för att begränsa skada.

Glöm inte att allt ni ansluter kan producera loggfiler och hjälpa till att upptäcka intrång, syslog har funnits med länge och går att slå på och använda på nästan allt som kopplas upp.

Sammanfattning

Sist men inte minst, det ni inte känner till kan ni inte heller skydda. Se därför till att inventera och ha en god koll på vilken utrustning ni har, såväl mobiltelefoner, servrar, laptops och annat.

Administrativa konton bör användas ytterst begränsas och om möjligt med dubbelhandsfattning, tidsbegränsat eller liknande. Inventera dessa konton kontinuerligt.

Se också över beroendet gällande leverantörer, underleverantörer och tredjepartsberoenden. Upprätta en SBOM eller liknande. Jobba långsiktigt och systematiskt med cybersäkerheten och genomför omvärldsbevakning löpande, jag själv använder Twitter som en källa.

FRA FMV Försvarsmakten Säkerhetspolisen Polisen Post och Telestyrelsen MSB

Relevanta myndighetsdokument att läsa vidare:

ContiLeaks – Chattloggar från ransomware-gruppen Conti

Uppdaterat: En sak som många verkar ha missat är att Conti förutom Mega.io verkar använda gsocket för exfiltration av data. Det är ett verktyg från The Hackers Choice och läs mer om gsocket här. Samt övervaka kommunikation till och från *.gs.thc.org i era nätverksperimetrar.

Ransomware-grupperingen Conti har drabbats av en läcka där kommunikationen internt har skett över RocketChat, Tor och Jabber. Totalt rör det sig om 2535 användare och 60690 meddelanden som har läckts, allt skrivet på ryska.

Jag har sammanfattat några av de mer intressanta delar jag har hittat från läckan här nedan:

Ngrok

Här installeras ngrok och NSSM (NSSM – the Non-Sucking Service Manager) samt så används en konfigurationsfil till ngrok som ställer in så att ngrok pratar TCP på port 3389. Detta är rätt enkelt att detektera på nätverket och redan något som många säkerhetsprodukter gör. Exempelvis kan utgående kommunikation gå till subdomäner under tcp.eu.ngrok.io såsom 0.tcp.eu.ngrok.io

Även så byter antagonisterna namn på ngrok.exe till sysmon.exe för att försvåra detektion.

AnyDesk

Här nedan installeras AnyDesk i silent-mode. AnyDesk är en populär mjukvara för fjärradministration, såsom TeamViewer:

SharpZero SharpChrome och Mimikatz

Här försöker antagonisterna flertalet olika attacker såsom dazzleUP, hashdump, logonpasswords, Kerberoast, exfiltration till Mega.io, mimikatz, SharpChrome, SharpSniper, AdFind. Detta körs via en Cobalt Strike-beacon.

Det går även att se från dumparna att antagonisterna köper abonnemang på tjänster såsom Shodan och SpiderFoot. Även så köper man in olika antivirus-mjukvaror för att utveckla skadlig kod som är Fully UnDetectable (FUD).

På Github finns stora delar av chattloggarna översatta här: https://github.com/TheParmak/conti-leaks-englished

Web3 och säkerhetsproblem

Web3 (eller web 3, web 3.0) beskrivs som en decentraliserad form av internet som baseras på blockkedjeteknik. Men länge har det ifrågasatts hur decentraliserad web3 egentligen är, bl.a. genom ett blogginlägg av Signals grundare Moxie Marlinspike.

Själva grundstommen i web 3 består av marknadsplatser såsom OpenSea och Rarible där webbläsar-tillägg såsom Metamask och TrustWallet används (dApps) och decentralized finance (DeFi) är också ett begrepp som cirkulerar. Men bara för att det är tillägg till webbläsaren och du själv sitter på dina privata nycklar så används olika centraliserade API:er.

Metamask

Senaste dagarna så har även phishingen ökat markant, speciellt eftersom få läser igenom de smarta Ethereum-kontrakt som man godkänner via sin webbläsar-plånbok. Det har även visat sig att det går att skapa kontrakt där ett enda godkännande kan användas för att stjäla samtliga NFT:er som någon äger. Och för den som inte är insatt så står NFT för Non-fungible token och används främst för att köpa och sälja digital konst.

Bild på hur phishing kan se ut via E-post där någon utger sig för att vara marknadsplatsen OpenSea:

Och förutom E-post så används även Discord i stor utsträckning. Även så förekommer andra sociala medier såsom Twitter:

Och att bli av med en eller NFT:er kan innebära stora summor. Den senaste Bored Ape Yacht Club (BAYC) såldes för 2.3 miljoner kronor. Men jag är dock positiv till hela rörelsen med Web 3 och anser att det vi ser nu är bara initiala problem. För flertalet problem har redan lösts eller håller på att lösa sig såsom att många NFT:er förlitar sig på centrala servrar eller IPFS-pekare som är single point of failures. Därför har flertalet projekt nu konverterat till NFT on-chain.

Phishingen är dock inte lika enkel att lösa rent tekniskt: Framförallt gäller det att begränsa vilka sajter man godkänner i MetaMask samt se över vilka godkännande man har, se exempelvis Etherscan Token Approval Checker. Att använda sig av flertalet wallets såsom en ”burner wallet”, men inte lika enkelt då gas fees (transaktionsavgifterna) är relativt höga på Ethereum-nätverket.

Och har man blivit av med en NFT eller kryptovaluta så är det svårt att få tillbaka dessa. Just för att det inte finns någon central styrning. Men att använda stulen kryptovaluta eller NFT:er måste någon gång omsättas och då finns det skydd på de flesta centrala handelsplatserna och därför använder kriminella exempelvis over-the-counter transaktioner (OTC) eller Tornado Cash mixer.

Sammanfattning

Jag tror Web3 är här för att stanna och problemen vi ser just nu bara är initiala problem och växtvärk. Oavsett vilken bransch man verkar inom så är phishing svårt att förbygga men det går, bl.a. genom tekniska lösningar och utbildning.

Skulle det inte vara möjligt för Metamask och andra att ge någon slags fingervisning vad kontraktet man godkänner verkligen innehåller?

Givetvis så har även marknadsplatserna en hel del att lära och utveckla:

Wyvern (ERC20, ERC721) är ett av de protokoll som smarta kontrakt som Ethereum använder sig av.

Ransomware-attacker blir mer sofistikerade

CISA Ransomware-attacker blir mer sofistikerade

Amerikanska cybersäkerhetsmyndigheten Cybersecurity and Infrastructure Security Agency (CISA) gick för några dagar sedan ut med en varning gällande att ransomware-attacker blir allt mer sofistikerade.

Varningen skickades ut av CISA tillsammans med motsvarande myndigheter från Storbritannien och Australien. Framförallt gäller det två trender som myndigheterna ser:

  • Initial tillgång till systemen sker via RDP, phishing eller attacker som utnyttjar svagheter och brister i mjukvaror. Även ser man en uppgång där läckta användarnamn eller lösenord används för initial access, eller brute-force av lösenord/användarnamn.
  • En ökning av ransomware-as-a-service (RaaS) där cyberskurkarna köper och säljer tjänster av varandra. De blir mer professionella och fungerar mer som riktiga företag och organisationer skulle göra.

Tyvärr så fortsätter utpressarna att tjäna pengar och gör att de kan gå efter ännu större mål och göra ännu mer omfattande skador:

Every time a ransom is paid, it confirms the viability and financial attractiveness of the ransomware criminal business model.

Tidigare så genomförde ransomware-gängen vad som kallas “big-game” hunting och försökte ge sig på stora amerikanska bolag. Men FBI var aktiva och lyckades slå ner och begränsa förmågan hos de som utförde attackerna. Detta har dock fått till följd att ransomware-gängen nu ger sig på medelstora bolag och framförallt många nya branscher såsom: hälsa och sjukvård, finansiella tjänster, utbildning, mathandel, offentlig verksamhet och jurister.

Utpressningsmetoderna utvecklas också och förutom att kryptera och göra information otillgänglig, så gör man också internetaccess obrukbar samt hotar att släppa information och informera eventuella investerare och konkurrenter om intrånget.

Övrigt värt att nämna är att man ser en ökning där man ger sig på underleverantörer och leverantörer som i fallet med Coop och Kaseya. Attackerna sker ofta på helger och vid högtider då mindre personal är på plats och kan förhindra ett aktivt pågående intrång. En ökning sker även mot industrier som har värdefulla processer som måste vara uppe och fungera, samt mot managed service providers (MSPs) som hanterar många kunder.

Åtgärder för att förhindra och försvåra ransomware-attacker

Att förhindra och försvåra ransomware-attacker är ingen enkel och lätt match, utan flertalet åtgärder måste vidas. Och inte bara en gång utan det är viktigt att jobba med dessa frågor långsiktigt och systematiskt.

Denna lista har CISA släppt för att försvåra ransomware-attacker:

  • Håll all mjukvara uppdaterad med senaste säkerhetspatchar, se även över hårdvara som behöver uppdateras. Kontrollera även så att mjukvara inte har blivit eller snart kommer att bli End-of-life (EOL)
  • Kontinuerligt genomför automatisk sårbarhetsskanning. Se även över tredjepartsbiblioteket som behöver uppdateras
  • Slå på säkerhetsfunktioner och stäng av tjänster som inte används, framförallt se över RDP. Och använd VPN samt MFA (multifaktorsautentisering). Övervaka alla inloggningar över RDP och se till att det finns inställning som är satt för antalet misslyckade inloggningsförsök.
  • Träna och utbilda anställda med bl.a. phishing-medvetenhet
  • Använd multifaktorsautentisering överallt och se till att långa unika lösenord används. Att inte lösenord återanvänds
  • Om Linux används se till att SELinux, AppArmor eller SecComp används för defence in depth
  • Vid nyttjande av molnlösningar se till att backup finnes på flertalet ställen åtskilda

Rekommendationer för att försvåra för angripare att ta sig vidare i nätverken och systemen:

  • Segmentera nätverket
  • Implementera end-to-end kryptering såsom mutual Transport Layer Security (mTLS) 
  • Använd nätverksintrångsdetektering för att se avvikelser på nätverksnivå
  • Dokumentera externa anslutningar
  • Inför tidsbaserad åtkomst för administrativa konton
  • Minimera konton och behörigheter som är administrativa
  • Håll backuper offline och testa att återställa dessa
  • Använd telemetridata och inte enbart lokalt utan även från molntjänster. Såsom hur APIer nyttjas, flow logs, token logs, nedladdningar osv

Här kan du ladda ner PDF-dokumentet med samtliga rekommendationer i sin helhet:

Scanning Made Easy från NCSC

National Cyber Security Centre (NCSC)

Scanning Made Easy är ett nytt initiativ från brittiska säkerhetscentret National Cyber Security Centre (NCSC). Projektet går ut på att tillhandahålla Nmap-script (så kallade NSE:er) för att söka efter sårbarheter. Projektet uppstod eftersom det ofta finns en frustation när nya sårbarheter släpps och det som oftast finns kod för att utnyttja sårbarheterna men inte att söka efter sårbara system. För detta är en viktig del för de personer som vill snabbt identifiera sårbara IT-system inom sina nätverk. Givetvis kan också illasinnade aktörer använda dessa script.

Det finns redan en nu en mall publicerad som man bör följa om man vill publicera egna script samt så finns det ett script för att söka efter Exim-sårbarheterna 21Nails från 2021-05-04. (CVE-2020-28017 till CVE-2020-28026).

Skärmdump på hur det kan se ut när scriptet hittar ett sårbart system:

Kommandoraden för att använda NSE-scriptet och scanna är följande:

nmap --script smtp-vuln-cve2020-28017-through-28026-21nails.nse -p 25,465,587 1.2.3.4

Och scriptet kan du wgetta/curla hem här: https://github.com/nccgroup/nmap-nse-vulnerability-scripts/blob/master/smtp-vuln-cve2020-28017-through-28026-21nails.nse

Oklart dock var framtida script kommer att läggas: Om det är på NCC Groups github-repo eller NCSC.

RCE i Samba vfs_fruit

Uppdatering: Nu har Zero Day Initiative släppt mer information. Men fortfarande så kräver denna sårbarhet att fruit-modulen används samt skrivrättigheter (eller gästkonto).

Samba är en populär open-source mjukvara för att möjliggöra så att Windows kan prata med Unix/Linux-system via SMB/CIFS-protokollet. Samba har funnits sedan 1992 och är licensierat under GNU General Public License.

Igår så publicerade projektet tre advisories där den allvarligaste har CVSS på 9.9 vilket är mycket allvarligt. Sårbarheten är identifierad av Orange Tsai från DEVCORE och beskrivs på följande sätt:

Out-of-bounds heap read/write vulnerability in VFS module vfs_fruit allows code execution

Enligt buggrapporten från Samba så är man sårbar om man använder modulen vfs_fruit. Som man nästan kan höra på namnet så underlättar denna modul kommunikation med Apple SMB och Netatalk 3 AFP.

Och denna bugg har fått CVE-2021-44142, samtliga tre sårbarheter finns att beskåda på följande länk:

Velociraptor för threat hunting

Velociraptor digital forensics and incident response (DFIR)

Velociraptor är ett digital forensics and incident response (DFIR)-verktyg som är utvecklat av Mike Cohen. Mike jobbade tidigare på Google och var då med och utvecklade Googles verktyg för IT-incidentutredningar vid namn Google Rapid Response (GRR).

Velociraptor är gratis och använda och det finns ett aktivt community som ständigt släpper nya VQL såsom denna som kan detektera CVE-2021-4034 (PwnKit aka polkit pkexec) eller denna (Log4jVulnHunter) för Log4j-sårbarheten. VQL är ett SQL-liknande språk för att skriva ”hunts” eller monitor-regler.

Klienten för Velociraptor går att köra på Windows, Linux och macOS samt så använder den TLS för kommunikationen mellan klient och server.

Tre tre främsta användningsområden för Velociraptor är följande:

  • Insamling av data och artefakter
  • Övervakning och monitorering
  • Threat hunting

Du har även möjlighet att ladda hem och köra tredjepartsprogram såsom Sysinternals Autoruns och använda den informationen för vidare analys. Och inbyggt så finns det stöd för att söka efter Indicators of Compromise och liknande med Yara. Minnesdumpar kan hämtas in med en winpmem och en VQL heter Acquisition.

Du kan även skicka vidare information som Velociraptor hämtar in till andra system som är bättre på att analysera mängder med information såsom Splunk eller Elasticsearch.

En av fördelarna som jag ser med Velociraptor är att tiden för mean time to detect (MTTD) och mean time to respond (MTTR) kan förkortas.

Men vad finns det för nackdelar då? Jo, tröskeln att komma igång och lära sig verktyget kan ta några dagar. Du inför även en ytterligare komponent till din IT-miljö där säkerhetsbrister kan uppstå.

Men sammanfattningsvis så rekommenderar jag helt klart Velociraptor om ni ej har en liknande förmåga i dagsläget i Er IT-miljö.

Skärmdumpar

Insamling av DNS-loggar via Event Tracing for Windows (ETW)
Ett jobb som samlar in scheduled tasks i Windows
Jag testar PwnKit exploiten och kör sedan en hunt för att identifiera den. Lyckas bra!
Hur det ser ut när man loggar in i Admin GUI:t. Visar server status som standard

Om du vill läsa mer och lära dig om Velociraptor rekommenderar jag hemsidan här:

Sammanfattning

Velociraptor är ett mycket bra komplement till Er redan befintliga miljö som troligtvis innehåller flertalet förmågor för att upptäcka och försvåra intrång. Tanken är inte att Velociraptor ska byta ut OSSEC, Wazuh, Sysmon, auditd eller liknande. Inte heller är Velociraptor ett antivirus-system som automatiskt uppdateras med nya IoC:er, men givetvis kan det till viss del utföra alla dessa funktioner.

Bildkälla

Två nya Linux-sårbarheter

Det är ingen bra vecka för Linux-baserade operativsystem såsom Debian, Ubuntu, Fedora och CentOS. Minst två olika sårbarheter har upptäckts och program för att nyttja dessa sårbarheter finns publicerade.

De två sårbarheterna som är aktuella just nu är en som går under namnet PwnKit och utnyttjar en brist i pkexec som är en del av Polkit, CVE-2021-4034. Den andra buggen är en kernel-bugg som kan användas för att göra Docker/container samt escapes från Kubernetes. För denna sista bugg så betalade Google ut en Bug Bounty på hela $31337 vilket är ungefär 300,000 svenska kronor.

Video där Qualys som identifierade sårbarheten visar hur polkit-buggen utnyttjas på Debian Bullseye:

Den andra Linux-kernelbuggen identifierades av CTF-teamet Crusaders of Rust där bl.a. William Liu och Jamie Hill-Daniel ingår, den har CVE-2022-0185.

För att buggen ska fungera på Docker så måste –privileged användas samt så hjälper den standard-seccomp profil som följer med. Men tyvärr är det inte allt för ofta som seccomp används för containers.

Det finns en exploit här och jag kan verkligen rekommendera deras utförliga write-up här:

Uppdatering: Amazon Linux 2 har inte polkit installerat som standard. Men om du installerar polkit så är det nuvarande paketet sårbart.

Remote Code Execution i Windows http.sys

Remote Code Execution i Windows http.sys

På tisdagen var det åter igen för Microsofts månatliga patch-release. En av de mer intressanta säkerhetsbristerna som åtgärdades var en Remote Code Execution (RCE) brist i http.sys. Sårbarheten har fått CVE-2022-21907.

Denna sårbarhet återfinns i hanteringen av HTTP-headers och mer specifikt HTTP trailers (RFC7230) och Microsoft uppger att sårbarheten kan utnyttjas för att spridas per automatik ”wormable”.

Som förmildrande åtgärd har Microsoft uppget att ta bort registernyckeln EnableTrailerSupport om den finns under denna sökväg:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

Värt att notera är också att den har en CVSS base score på 9.8 av 10. Microsoft uppger även att standardinstallationer av Windows Server 2019 och Windows 10 version 1809 inte är sårbara, utan enbart om man manuellt slår på EnableTrailerSupport. Sårbarheten finns inte i Windows 10, version 1909.

Det är inte första gången som brister identifieras i http.sys, för att nämna några tidigare RCEer: