Hashcat version 5.1.0 är nu släppt

STÖK-Fredrik tipsade om att en ny intressant version av Hashcat precis har släppts. Förutom de sedvanliga buggfixarna så finns det nu ett stöd för omskrivning för olika tangentbord när det gäller knäckning av VeraCrypt/TrueCrypt diskar.

För att förklara ytterligare: Oavsett vilken tangentbordslayout du har när du väljer ditt lösenord för kryptering av VC/TC-diskar så kommer tangentbordslayouten att vara US. Detta gör att sökrymden blir mindre eftersom flertalet specialtecken förenklas. Ta exempelvis följande exempel:

بين التخصصات blir fdk hgjowwhj[g

Så för varje tangentbordslayout så måste det finnas en mapping-fil. Det finns enbart för tyska i dagsläget men utvecklarna av hashcat vill gärna få in pull-requests via Github.

Changeloggen i sin helhet hittar du här:

  • OpenCL Devices: Add support for up to 64 OpenCL devices per system
  • OpenCL Platforms: Add support for up to 64 OpenCL platforms per system
  • OpenCL Runtime: Use our own yielding technique for synchronizing rather than vendor specific
  • Startup: Show OpenCL runtime initialization message (per device)
  • xxHash: Added support for using the version provided by the OS/distribution

Fixed Bugs:

  • Fixed automated calculation of brain-session when not using all hashes in the hashlist
  • Fixed calculation of brain-attack if a given wordlist has zero size
  • Fixed checking the length of the last token in a hash if it was given the attribute TOKEN_ATTR_FIXED_LENGTH
  • Fixed endianness and invalid separator character in outfile format for hash-mode 16801 (WPA-PMKID-PMK)
  • Fixed ignoring –brain-client-features configuration when brain server has attack-position information from a previous run
  • Fixed invalid hardware monitor detection in benchmark mode
  • Fixed invalid warnings about throttling when –hwmon-disable was used
  • Fixed missing call to WSACleanup() to cleanly shutdown windows sockets system
  • Fixed missing call to WSAStartup() and client indexing in order to start the brain server on Windows
  • Fixed out-of-boundary read in DPAPI masterkey file v2 OpenCL kernel
  • Fixed out-of-bounds write in short-term memory of the brain server
  • Fixed output of –speed-only and –progress-only when fast hashes are used in combination with –slow-candidates
  • Fixed selection of OpenCL devices (-d) if there’s more than 32 OpenCL devices installed
  • Fixed status output of progress value when -S and -l are used in combination
  • Fixed thread count maximum for pure kernels in straight attack mode

Technical:

  • Brain: Set –brain-client-features default from 3 to 2
  • Dependencies: Added xxHash and OpenCL-Headers to deps/ in order to allow building hashcat from GitHub source release package
  • Dependencies: Removed gitmodules xxHash and OpenCL-Headers
  • Keymaps: Added hashcat keyboard mapping us.hckmap (can be used as template)
  • Keymaps: Added hashcat keyboard mapping de.hckmap
  • Hardware Monitor: Renamed –gpu-temp-abort to –hwmon-temp-abort
  • Hardware Monitor: Renamed –gpu-temp-disable to –hwmon-disable
  • Memory: Limit maximum host memory allocation depending on bitness
  • Memory: Reduced default maximum bitmap size from 24 to 18 and give a notice to use –bitmap-max to restore
  • Parameter: Rename –nvidia-spin-damp to –spin-damp (now accessible for all devices)
  • Pidfile: Treat a corrupted pidfile like a not existing pidfile
  • OpenCL Device: Do a real query on OpenCL local memory type instead of just assuming it
  • OpenCL Runtime: Disable auto-vectorization for Intel OpenCL runtime to workaround hanging JiT since version 18.1.0.013
  • Tests: Added hash-mode 11700 (Streebog-256)
  • Tests: Added hash-mode 11750 (HMAC-Streebog-256 (key = $pass), big-endian)
  • Tests: Added hash-mode 11760 (HMAC-Streebog-256 (key = $salt), big-endian)
  • Tests: Added hash-mode 11800 (Streebog-512)
  • Tests: Added hash-mode 11850 (HMAC-Streebog-512 (key = $pass), big-endian)
  • Tests: Added hash-mode 11860 (HMAC-Streebog-512 (key = $salt), big-endian)
  • Tests: Added hash-mode 13711 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 512 bit)
  • Tests: Added hash-mode 13712 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1024 bit)
  • Tests: Added hash-mode 13713 (VeraCrypt PBKDF2-HMAC-RIPEMD160 + XTS 1536 bit)
  • Tests: Added hash-mode 13721 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 512 bit)
  • Tests: Added hash-mode 13722 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1024 bit)
  • Tests: Added hash-mode 13723 (VeraCrypt PBKDF2-HMAC-SHA512 + XTS 1536 bit)
  • Tests: Added hash-mode 13731 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 512 bit)
  • Tests: Added hash-mode 13732 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1024 bit)
  • Tests: Added hash-mode 13733 (VeraCrypt PBKDF2-HMAC-Whirlpool + XTS 1536 bit)
  • Tests: Added hash-mode 13751 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 512 bit)
  • Tests: Added hash-mode 13752 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1024 bit)
  • Tests: Added hash-mode 13753 (VeraCrypt PBKDF2-HMAC-SHA256 + XTS 1536 bit)
  • Tests: Added hash-mode 13771 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 512 bit)
  • Tests: Added hash-mode 13772 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1024 bit)
  • Tests: Added hash-mode 13773 (VeraCrypt PBKDF2-HMAC-Streebog-512 + XTS 1536 bit)
  • Tests: Added VeraCrypt containers for Kuznyechik cipher and cascades
  • Tests: Added VeraCrypt containers for Camellia cipher and cascades

Polisen har knäckt krypterade end-to-end mjukvaran IronChat

Uppdatering: Snowden har via Twitter förnekat att han på något sätt använt eller uppmuntrat användning av Ironchat.

Polisen i Nederländerna har knäckt krypto-mjukvaran IronChat som bl.a. rekommenderas av Edward Snowden. 

Det gäller 258,000 stycken chatt-meddelanden som skickats mellan kriminella aktörer som polisen har kommit över. Ironchat fungerar enbart tillsammans med BlackBox Iron Phone som utvecklas av företaget BlackBox Security.

Går man in på blackbox-security.com just nu så möts man av följande meddelande:

Och huruvida Snowden själv använder BlackBOX är dock oklart, enda källan som återfinnes är följande från leverantören själv där följande citat framgår:

 “I use PGP to say hi and hello, i use IronChat (OTR) to have a serious conversation,”

Hur polisen gjorde för att knäcka Ironchat är oklart men en teori skulle vara att om de tagit över servrarna så kan de automatiskt uppdatera mjukvaran på telefonerna och således lägga in en bakdörr. Eller påverka hur nycklar skapas för den krypterade kommunikationen. Troligtvis var det underliggande protokollet XMPP med OTR (Off-the-Record Messaging). En teori som cirkulerar på Twitter är att kontrollen av nyckelförändringar hos den andra parten inte kontrollerades.

Det är inte första gången som polisen i Nederländerna knäcker krypterad kommunikation, förra gången var det krypterad kommunikation via företaget Ennetcom som avlyssnades.

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.

Kryptobrister i flertalet hårddiskar

Forskare vid Radboud University i Nederländerna har tittat på flertalet hårddiskar som stödjer kryptering och konstaterat att flertalet av dessa innehåller brister. Enkla brister såsom att återställningsnyckeln är ett blankt lösenord (32 x 0x00). Även var det möjligt med fysisk access och via JTAG-debugport återställa lösenordet.

Vad som också är anmärkningsvärt är att om du använder Microsoft BitLocker så förlitar sig BitLocker på hårddiskens kryptering.

Krypto-bristerna gäller främst följande hårddiskar:

  • Crucial (Micron) MX100, MX200 and MX300 interna hårddiskar.
  • Samsung T3 and T5 USB externa diskar.
  • Samsung 840 EVO and 850 EVO interna diskar.

Följande tabell visar på bristerna på de olika hårddiskarna:

“You might think you’ve done the right thing enabling BitLocker but then a third-party fault undermines your security, but you never know and never would know”

Alan Woodward, professor på University of Surrey

Här kan du läsa vad Samsung skriver om sårbarheterna:

Även så har myndigheten NCSC i Nederländerna gått ut med en varning samt tilldelat följande CVE:er:

  • CVE-2018-12037
  • CVE-2018-12038
  • CVE-2018-12037
  • CVE-2018-12038

Och här kan du ladda hem forskningsrapporten som PDF: Self-encrypting deception.pdf

Som åtgärd kan du använda VeraCrypt eller så går det att ändra en GPO-inställning så Bitlocker används även om hårdvaran stödjer kryptering.

Krypterad SNI i TLS 1.3

Server Name Indication (SNI) är den del av TLS som berättar för servern till vilken webbserver du vill besöka. Detta behövs om din webbserver bara har en IP-adress men flertalet certifikat. Detta fält går i klartext och gör att någon som kan se din nätverkstrafik också kan se vilken webbserver du besöker.

För att göra det svårare har bl.a. Domain Fronting används av såväl Tor som skadlig kod för att försvåra analys av nätverkstrafik men detta är något som flertalet leverantörer såsom CloudFlare nu stängt ner.

Följande bild förevisar bra där server_name skickas i klartext under handskakningsprocessen:

Firefox släppte precis stöd för ESNI (encrypted SNI) i sin nightly build. Du kan testa att ESNI fungerar genom att surfa till följande URL. Och glöm inte att slå på DoH:

Att ta fram en lösning som krypterar SNI var inte helt trivialt eftersom det rör sig om ett ”hönan eller ägget”-problem. Men för att lösa detta problem så används en ny nyckel hos klienten samt en ESNIKeys-structure som placeras i DNS:

Givetvis bör krypterad DNS också användas:

Moreover, as noted in the introduction, SNI encryption is
less useful without encryption of DNS queries in transit via DoH or DPRIVE mechanisms.

För mer matnyttig läsning rekommenderas följande IETF-draft:

 

Oberoende granskning av Firefox uppdateringsförfarande

Tyska säkerhetsföretaget X41 D-Sec GmbH har genomfört en oberoende teknisk säkerhetsgranskning av Firefox uppdateringsförfarande. Dvs den infrastruktur som har hand om uppdateringar samt kodbasen som tillhör både klient och serverdel.

Resultatet av denna granskning påvisar inga allvarliga säkerhetsbrister. Dock uppdagades tre säkerhetsbrister i Balrog med hög allvarlighetsgrad. Balrog är den uppdateringsserver som Firefox använder sig av och finns på Github här.

Fördelningen över resterande säkerhetsbrister som identifierats fördelar sig enligt följande:

Granskningsgruppen rekommenderar även att XML-filer som beskriver metadata om uppdateringar bör signeras. Även så kör uppdateringsservern enbart HTTP Basic Authentication som autentisering, utan rate-limit. Intressant även att de föreslår att Firefox skriver om delar av koden från C till ett säkrare programspråk såsom Rust eller Golang.

Stöd mitt bloggande via Patreon >

Jag gillar denna typ av offentliga säkerhetsgranskningar och speciellt eftersom rapporten finns att ladda ner i sin helhet (har bifogat den nedan). Tidigare har jag bl.a. skrivit om Mullvad som genomfört en offentlig granskning.

Granskningen som X41 D-Sec utförde tog 216 timmar och utfördes av fyra säkerhetsexperter varav en av dessa var kryptolog.

Här kan du ladda hem rapporten som PDF:

Källa

Alphabet (Google) släpper säkerhets-app till Android

Känner du till Alphabet? Företaget som äger Google? Jag skrev om Alphabet i Januari detta år. Alphabet har nu via deras inkubator Jigsaw släppt en app vid namn Intra.

Intra fungerar till Android-baserade mobiltelefoner och ser till att DNS-frågor går via en krypterad anslutning. Nämligen mer specifikt protokollet DoH (DNS over HTTPS) vilket även Firefox stödjer.

Givetvis finns även Intra tillgängligt som öppen källkod på Github för den som vill medverka till utvecklingen eller granska koden.

Intra fungerar från och med Android version 4.0 och kan laddas hem här:

Bra att tillägga är även att Android 9.0 ”Pie” stödjer DoH utan denna app, och för att citera Alphabet:

If you have Android 9.0 or later, we recommend enabling the Private DNS setting instead of installing Intra

Vidare läsning

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:

 

Facebook hackade

Facebook gick precis ut med nyheten att 50 miljoner Facebook-konton kan vara hackade. Intrången genomfördes via funktionen ”View as”, dvs den funktion som gör att du kan se hur din profilsida ser ut genom någon annans ögon.

Sårbarheten som utnyttjades är intressant på flertalet sätt. Facebook vet själva inte om omfattningen ännu men håller på att utreda detta.

Mark Zuckerberg skriver själv följande:

We do not yet know whether these accounts were misused but we are continuing to look into this and will update when we learn more.

Först och främst spelade det inte någon roll om du hade förstärkt din inloggning med tvåfaktorsautentisering. Sårbarheten introducerades Juli 2017 efter en ändring gällande video-uppladdning.

Angriparna hade möjligheten att erhålla en belöningssumma från Facebook ”bug bounty” som troligtvis var rätt hög. Facebook har nu åtgärdat sårbarheten och helt stängt av den funktion som var sårbar.

Det angriparna kom över var så kallade access token, dessa kan sedan användas till att komma åt det mesta på Facebook som en annan användare. Den felaktiga token genererades på viss information som låg på användarens Facebook-profil såsom videouppladdning i samband med födelsedagshälsning.

Om du har blivit drabbad så har du automatiskt blivit utloggad från Facebook samt när du loggar in så ska du presenteras av ett meddelande om vad som hänt. Facebook jobbar tillsammans med FBI för att utreda vem som ligger bakom denna attack. Vad dessa 50 miljoner konton som har gemensamt vet vi inte i dagsläget men flertalet svenskar skriver på Facebook att de blivit utloggade.

Säkerheten i nya macOS Mojave

Igår så släpptes Apples nya operativsystem macOS Mojave. Förutom att flertalet iOS applikationer nu går att köra på macOS så finns det även ett mörkt tema. Men vad som är ännu mer intressant är så klart alla säkerhetsproblem som åtgärdas i macOS Mojave (version 10.14).

✅ Stöd gärna Kryptera.se via Patreon >

Vad som också är intressant och integritetsfrämjande är att Mojave nu kräver att applikationer behöver tillstånd av användaren för att använda bl.a. mikrofon, kamera och backup. Samt så meddelande även Apple följande under WWDC2018 i Juni:

Apple is introducing enhanced runtime protections that will extend System Integrity Protection features to third-party apps, protecting them from code injection and other tampering.

Samt en ny process för att granska program som går in i macOS App Store som heter ”notarized”.

Följande säkerhetsproblem åtgärdas i Mojave:

  • An attacker in a privileged network position may be able to
    intercept Bluetooth traffic
  • A malicious application may be able to determine the Apple ID
    of the owner of the computer
  • A sandboxed process may be able to circumvent sandbox
    restrictions
  • A malicious application may be able to access local users
    AppleIDs
  • An application may be able to read restricted memory in Crash Reporter
  • An application may be able to execute arbitrary code with
    kernel privileges
  • An attacker may be able to exploit weaknesses in the RC4
    cryptographic algorithm

Även om Mojave höjer säkerheten så har redan Patrick Wardle påvisat hur man kan ta sig förbi det nya integritetsskyddet: