Taggat med: VirtualBox

🐈 Flertalet nya hashcat-releaser

Det populära lösenordsknäckarverktyget hashcat version 7.0.0 släpptes nyligen efter mer än två års utveckling och över 900 000 rader med kodändringar. Versionen introducerade även Assimilation Bridge, som möjliggör att hashcat kan använda externa beräkningsresurser såsom CPU, FPGA och tolkningsmiljöer direkt i hash‑pipeline. Även Python Bridge, som tillåter implementation av hashmatchningslogik i Python utan behov av omkompilering. Och detta utan att kompilera med stöd för multitrådning. En ny regelmotor Virtual Backend Devices möjliggör att en fysisk GPU kan delas upp i flera logiska enheter för bättre parallell exekvering. Detta släpp införde även automatisk hashmod-detektion så att flaggan -m kan utelämnas eller alternativt –identify kan användas. Mycket efterlängtad funktion som funnits i exmepelvis John the Ripper sedan urminnes tider.

Algoritmsupporten utökades med 58 nya specifika hash-typer (bland annat Argon2, MetaMask, LUKS2, OpenSSH, GPG) men även 20 st extraheringsverktyg för format som APFS, VirtualBox, BitLocker och wallet-format. Prestandan förbättrades genom en ny autotuner och bättre minneshantering, varigenom tidigare 4 GB-gräns togs bort och effektivare utnyttjande över flera enheter blev möjligt. Specifika hash-modar visade stora förbättringar: scrypt upp till +320 %, NetNTLMv2 på Intel +223 %, och RAR3 +54 %.

Backend-stöd förbättrades också: AMD HIP prioriteras numera över OpenCL, och macOS-användare får native Metal-stöd med full Apple Silicon-kompatibilitet och stora hastighetsförbättringar. För utvecklare tillkom förbättrad diagnostik, bättre testtäckning, regelmotorförbättringar och JSON-utdata.

Två veckor senare släpptes version 7.1.0 en mindre men viktig uppdatering med bl.a. nya algoritmer (se nedan).

Lista med algoritmer som finns med i version 7.1.0:

  • AS/400 DES
  • AS/400 SSHA1
  • Blockchain, My Wallet, Legacy Wallets
  • Cisco-ISE Hashed Password (SHA256)
  • LUKS2 (Argon2i KDF type)
  • KeePass (KDBX v4)
  • SAP CODVN H (PWDSALTEDHASH) isSHA512
  • sm3crypt $sm3$, SM3 (Unix)
  • BLAKE2b-256
  • BLAKE2b-256($pass.$salt)
  • BLAKE2b-256($salt.$pass)
  • MD6 (256)
  • sha224($pass.$salt)
  • sha224($salt.$pass)
  • sha224(sha1($pass))
  • sha224(sha224($pass))

Exempel på när hashcat körs i en docker-container:

$ docker run --rm --gpus=all -it hashcat bash
root@d1d5c5b61432:~/hashcat# ./hashcat.bin -I
hashcat (v7.1.0) starting in backend information mode
CUDA Info:
==========
CUDA.Version.: 12.9
Backend Device ID #01
  Name...........: NVIDIA GeForce RTX 4090
  Processor(s)...: 128
  Preferred.Thrd.: 32
  Clock..........: 2565
  Memory.Total...: 24080 MB
  Memory.Free....: 23664 MB
  Memory.Unified.: 0
  Local.Memory...: 99 KB
  PCI.Addr.BDFe..: 0000:01:00.0

I förrgår släpptes även en hotfix som fick version 7.1.1 som åtgärdar ett problem med LUKS2 och KeePass (KDBX4).

Test av nya Kali Linux 2019.4

Det har precis släppts en ny version av Kali Linux som går under namnet 2019.4 och är således den fjärde upplagan i år.

Jag testade att uppgradera min Vagrant-installation genom att köra:

vagrant box update

Och sedan köra en vagrant destroy samt vagrant up så lirade allt. Givetvis går det även att uppgradera genom att köra apt dist-upgrade.

Jag stöter dock på en hel del strul: Första gången jag startar webbläsaren så krashar den virtuella maskinen. Samt när skärmsläckaren går igång så låser sig hela VM:en, vet inte om detta är relaterat till VirtualBox.

Nyheter i Kali Linux 2019.4 inkluderar följande:

  • Ny skrivbordshanterare: Xfce
  • Nytt GTK3-tema
  • Nytt läge för “Kali Undercover”
  • Nytt dokumentationssystem som använder git
  • Public Packaging – getting your tools into Kali
  • Kali NetHunter KeX – Fullständig Kali desktop på Android-baserade enheter
  • BTRFS-filsystem (b-tree) under setup
  • Stöd för PowerShell
  • Kernel är uppgraderad till Linux 5.3.9
  • Samt mängder av uppdateringar och buggfixar

Att man gått bort från Gnome till fördel för Xfce beror bl.a på prestandaförbättringar och att Xfce nu kan köras på flertalet plattformar som Kali stödjer såsom ARM.

Skärmdump från nya fönsterhanteraren Xfce:

Inloggningsfönstret:

Stöd för nytt ”Undercover mode” som gör att du som vill använda Kali på mer publika miljöer inte ska sticka ut allt för mycket:

Kali Linux Undercover Mode

Gillar det du läser? Stöd mig gärna via Patreon, alla bidrag hjälper.

Jag testade även att installera Microsoft PowerShell version 6.2.2 genom att köra:

apt install powershell

Och sedan testade jag att ladda hem en fil efter att ha startat ett PowerShell Shell med pwsh:

CRATE – En övningsmiljö för cyberattacker

Totalförsvarets forskningsinstitut (FOI) har sedan 10 år tillbaka förvaltat och utvecklat en övningsmiljö för cyberattacker (cyber range) vid namn CRATE. Miljön används för att bygga upp olika scenarion med hjälp av cirka 800 virtuella servrar och ett simulerat internet.

Huvudkunder för denna miljö är Myndigheten för samhällsskydd och beredskap (MSB) samt Försvarsmakten som båda har bidragit till uppbyggnaden av Crate. Övning i miljön kan också ske utanför anläggningen genom en extern anslutning till spelnätet via VPN. Dessutom går det att koppla in skrivare, telefoner, styrsystem och olika övervakningsstationer (ICS/SCADA etc) samt det mesta som VirtualBox kan hantera.

Fotografi från Crate City. Foto: FOI.

Crate är en viktig komponent för att öka Sveriges förmåga att hantera cyberangrepp. Vi ser anläggningen som en arena för samverkan mellan såväl det privata och offentliga som på ett nationellt och internationellt plan. Crate är unikt och hjälper verkligen företag och myndigheter att öka sin cybersäkerhet.

Konstaterar Åke Holmgren som är MSB:s chef för cybersäkerhet och skydd av samhällsviktig verksamhet

Dock verkar det inte helt lätt att komma igång med CRATE eftersom jag saknar en ”sign up” knapp, manuell kontakt som verkar gälla. Därför tror jag att många privata aktörer istället väljer lösningar från leverantörer såsom Hackthebox.eu eller bygger eget med Amazon EC2, vilket jag själv gör när jag vill sätta upp labbar eller övningar. Har du tips på andra leverantörer av cyber-rangers, lämna gärna en kommentar nedan.

Och förutom vid träning och övning används CRATE även för forskningsprojekt samt för test och försök.

Film från CRATE med en bro avsedd för leksakståg:

CRATE står för Cyber Range And Training Environment.

Ny zeroday-sårbarhet i VirtualBox

Säkerhetsforskaren Sergey Zelenyuk från Ryssland har släppt information gällande en ny sårbarhet i Oracle VirtualBox. Sårbarheten gör att en angripare kan bryta sig ut från den virtualiserade datorn, dock kräver sårbarheten att antagonisten har root eller liknande behörighet i den virtualiserade datorn.

Stöd mitt bloggande via Patreon

Sårbarheten återfinnes i koden som virtualiserar  nätverkskortet Intel PRO/1000 MT Desktop (82540EM) och används som standard i VirtualBox när du skapar en ny virtuell dator.

Just sårbarheter i virtualiseringsmjukvara är extra intressanta eftersom virtualisering många gånger används som en säkerhetshöjande funktion, exempelvis QubesOS som jag skrivit om många gånger förr.

Sergey har även tagit fram en demo-video och hans exploit kringgår ASLR samt DEP:

Tråkigt dock att han inte ger Oracle tid att åtgärda sårbarheten i VirtualBox och utsätter mängder av system för fara, så kallad responsible disclosure. Sårbarheten fungerar på senaste versionen av VirtualBox som är 5.2.20.

Se motivering bakom beslutet att släppa information om sårbarheten och tekniska detaljer på Sergeys Github.

Oracle åtgärdar 237 sårbarheter

oracle säkerhetsbrister

Oracle har släppt sin January 2018 Oracle Critical Patch Update (CPU) som åtgärdar hela 237 sårbarheter. Några av de produkter där Oracle åtgärdar sårbarheter är följande:

  • MySQL
  • VirtualBox
  • WebCenter
  • HTTP Server
  • PeopleSoft
  • Solaris
  • Database Server
  • Java SE

Tittar vi närmare på exempelvis VirtualBox så ser vi en hel mängd CVE:er såsom CVE-2018-2694, CVE-2018-2698 osv. Dessa ska vara åtgärdade i version 5.2.6 men tyvärr så säger Changelog inget om detta, vilket är underligt. Även värt att nämna att PeopleSoft nyligen har haft problem med WebLogic genom att illasinnade personer nyttjat en tidigare sårbarhet för att köra krypto-miners, läs mer här.

CERT-SE vid Myndigheten för samhällsskydd och beredskap har även gått ut med en varning samt listat de sårbarheter som åtgärdas där de med högst CVSSv3 listas:

Database Server
CVE-2017-10282 Core RDBMS (CVSS 9.1 av 10.0)

Communications Applications
CVE-2017-5645, CVE-2015-3253 BRM – Elastic Charging Engine (CVSS 9.8 av 10.0)
CVE-2017-5645 Convergent Charging Controller (CVSS 9.8 av 10.0)
CVE-2017-5645 Network Charging and Control (CVSS 9.8 av 10.0)
CVE-2017-5645 Oracle Communications Services Gatekeeper (CVSS 9.8 av 10.0)

E-Business Suite
CVE-2018-2656 General Ledger (CVSS 9.1 av 10.0)
CVE-2018-2655 Oracle Work in Process (CVSS 9.1 av 10.0)

Oracle Fusion Middleware
CVE-2017-10352 WebLogic Server (CVSS 9.9 av 10)
CVE-2017-5461 Directory Server Enterprise Edition (CVSS 9.8 av 10)
CVE-2017-5461 iPlanet Web Server (CVSS 9.8 av 10)
CVE-2017-5645 Oracle WebLogic Server (CVSS 9.8 av 10)

Oracle Hospitality Applications
CVE-2018-2697 Hospitality Cruise Fleet Management (CVSS 9.1 av 10.0)

Detta är bara några av de rättade sårbarheterna. Besök Oracles webbsida [1] för att se vilka fler produkter som är sårbara.

Test av supersäkra operativsystemet OpenBSD

OpenBSD 5.9

Skärmdump från OpenBSD 5.9

För några dagar sedan så släpptes en ny version av det säkra operativsystemet OpenBSD. Denna nya 5.9-version har en ett antal intressanta nya säkerhetsfunktioner såsom pledge. Pledge är en ny typ av sandlåde-liknande funktionalitet som begränsar vad enskilda program får och inte får göra.

Pledge är enkelt att implementera i sitt program och följer ett regelverk som berättar om programmet får öppna nätverkskommunikation, skriva/läsa filer osv. Kontrollen sker sedan i kerneln att programmet håller sig inom ramarna.

Viktigt att notera är också att den nya pledge-funktionen inte är någon silverkula som löser alla problem. Men som många andra saker som OpenBSD tar till sig så höjer det säkerheten i det stora hela tillsammans med tekniker såsom W^X, ASLR och ProPolice.

För att demonstrera hur enkelt det är så titta på följande kodrader som begränsar vad kommandot ping får göra:

if (options & F_NUMERIC) {
  if (pledge("stdio inet", NULL) == -1)
     err(1, "pledge");
 } else {
  if (pledge("stdio inet dns", NULL) == -1)
     err(1, "pledge");
 }

Första argumentet till pledge()-anropet är en lista med tillåta anrop, se man-sidan för mer info om dessa:

  • OpenBSD 59 drwxorxstdio – Grundläggande systemanrop (syscalls) tillåts. Såsom close, dup, mmap, pipe osv.
  • inet – Tillåter nätverkskommunikation med anrop såsom socket, listen, bind, getpeername.
  • dns – Tämligen självförklarande. behövs enbart om användaren ej specificerar argumentet -n

Det var väl enkelt? Än så länge använder sig 453 av 707 program pledge, av OpenBSD:s grundinstallerade program. Även så använder sig använder 14 st externa program av pledge såsom mutt, chrome och i3.

Kan även rekommendera följande presentation av Theo de Raadt som förklarar pledge närmare: openbsd.org/papers/hackfest2015-pledge/

Jag testar OpenBSD under VirtualBox och det tar under 10 minuter att ladda hem samt komma igång med operativsystemet. Installationsförfarandet har blivit avsevärt mycket smidigare på senare år med exempelvis automatiskt partitionslayout.

Här kan du ladda hem install59.iso som du bränner ut eller startar upp din virtuella maskin med: ftp.eu.openbsd.org/pub/OpenBSD/5.9/i386/install59.iso

Jag har även skrivit tidigare om att OpenBSD ersatt sudo med doas, läs här.

Andra intressanta funktioner i denna nya 5.9-version är:

  • ESP i IPSec stödjer Chacha20-Poly1305
  • W^X är nu helt forcerat i i386-kerneln
  • Säkerhetsfixar till LibreSSL, OpenSSH och OpenSMTPD
  • Miljövariabeln HOSTALIASES är borttaget från libc som säkerhetsåtgärd
  • Xen domU stöd så att OpenBSD lirar på Amazon EC2

Avslutningsvis så kan följande bild representera OpenBSD-utvecklarnas arbete med pledge (enligt Theo de Raadt själv):

pledge theo de raadt