Taggat med: command and control

Så upptäcker ni bakdörrar i IT-system

Så upptäcker ni bakdörrar i IT-system

Att upptäcka bakdörrar i IT-system är ingen lätt match och en mycket bra utvecklad bakdörr är mer eller mindre omöjlig att upptäcka. En bra utvecklad bakdörr har en mycket liten och snäv målgrupp och ligger vilande större delen av tiden. Men det finns givetvis olika metoder och sätt att upptäcka bakdörrar, för förr eller senare så kan misstag eller avvikande beteenden analyseras och påvisa en bakdörr.

Denna guide är främst skriven för att upptäcka bakdörrar som redan är in-planterade. Och hur bakdörrarna kommer in är utanför denna guide, men för att nämna några sätt:

  • Implanterade från start i servrar eller mjukvara/hårdvara
  • Via manuella eller automatiska uppdateringar av mjukvara, firmware osv
  • Man in the middle-attack eller MOTS mot nedladdad mjukvara
  • Via hackad server eller klient, bifogade filer i mail, sårbarhet i mjukvara
  • Fysiskt installerad via serverhall eller evil-maid attack
  • Infekterat PyPi, NPM, CPAN, RubyGem, NuGet-paket
  • Insider

Klienter och servrar

En vital funktion för att upptäcka bakdörrar på klienter och servrar är att samla in data, det kan röra sig om processer som startar och avslutas, drivrutiner som installeras/avinstalleras, telemetridata. Det är information där en enskild loggrad eller händelse kanske inte säger så mycket, men om den berikas och sätts i ett större sammanhang kan identifiera ett avvikande beteende.

Använder ni Windows-baserade system så är Sysmon ett givet verktyg att använda. För Linux-system så bör man använda verktyg såsom Sysdig Falco och auditd. Eller mer generiska verktyg såsom osquery.

Jag rekommenderar även att titta närmare på Velociraptor som jag bloggade tidigare om. Givetvis bör även binärer, konfigurationsfiler och dylikt hållas koll på med tripwire-liknande funktionalitet. Jobb som körs vid regelbundna intervall såsom cron, AT (Task Scheduler) osv. Eller vid uppstart av mjukvara, system (autoruns).

Nätverk

Jag har tidigare skrivit om RITA som kan underlätta analysen av nätverkstrafik för att hitta beacons som bakdörrar och implantat använder sig av för att kommunicera. Men en väl skriven bakdörr gör detta väldigt sällan och avviker minimalt från normal nätverkstrafik.

Att använda sig av TLSI (TLS Inspection) kan underlätta analysen av TLS/SSL-krypterad nätverkstrafik men det finns givetvis risker också, som bl.a. NSA varnat för. Rekommenderar att titta på PolarProxy som kan hjälpa till med TLSI.

Verktyg som kan hjälpa dig att analysera nätverkstrafik är exempelvis Zeek, JA3/S, Brim, Suricata, Arkime (fd Moloch) och SecurityOnion.

Passivt bör ni också undersöka om system anropar och kopplar upp sig mot kända C&C-servrar, därav viktigt att underhålla aktuella Threat Intelligence-listor med IP-adresser, domännamn etc.

Mängden av data som flödar ut ur era system kan också ge en fingervisning om exfiltration genomförs. Men detta är inte alltid helt enkelt att upptäcka, vid forensiska undersökningar där jag medverkat har jag sett att antagonister delar upp upp information i flertalet 500MB RAR-arkiv som exfiltreras över en längre tid för att undgå upptäckt.

bakdörr IT-system skadlig kod

Glöm inte heller att DNS kan användas för kommunikation, som bl.a. SolarWinds Orion SUNBURST-bakdörren gjorde. Även kan Twitter och andra sociala medier eller andra välkända tjänster användas för kommunikation med bakdörren. Steganografi kan också nyttjas för att försvåra upptäckt.

På internet eller fjärrsystem

Att aktivt undersöka vilka fjärrsystem på Internet som anropas kan hjälpa till att förstå om bakdörren pratar med en Command and Control-infrastruktur (C&C). Flertalet olika datakällor såsom Shodan kan användas för att förstå vilket eller vilka målsystem som kommunikationen sker mot.

Ett verktyg såsom JARM kan hjälpa till med detta och skapa unika signaturer. Observera att just aktivt undersöka system på internet kan vara en legal gråzon och undersök noga vad ni har möjlighet att göra.

Avslutande ord

Jag rekommenderar att bygga upp ett antal olika scenarion där ni undersöker vilka möjligheter ni har att upptäcka just dessa metoder. För att ge några exempel:

  • Log4j JNDI-sårbarheten utnyttjas på ett system mot Internet. Om en bakdörr sedan installeras på detta system, hur kan ni försvåra installation av bakdörren och hur ni upptäcka denna bakdörr?
  • En mjukvara som automatiskt uppdateras börjar att ”ringa hem” via dess normala kanaler för uppdateringar. Men innehåller nu krypterad data om erat interna nätverk såsom AD-namnet
  • DNS används för exfiltration
  • Switchen ni köpte innehåller en Rasperry Pi med WiFi eller 4G-mobildata för exfiltration av intern nätverkstrafik

Vad väntar ni på? Avsätt tid och resurser redan nu för att utveckla förmågan att upptäcka bakdörrar i IT-system. Och givetvis så bör ni också genomföra åtgärder för att försvåra för att bakdörren hamnar i IT-systemet i första taget, och även dess möjligheter att kommunicera ut på internet (eller på andra sätt ringa hem).

Desto mer bakdörren är integrerad i en befintlig komponent i era IT-system desto svårare är det att upptäcka den.

Tack till Erik Hjelmvik för genomläsning och synpunkter!

Test av JARM

JARM är ett relativt nytt blue-teaming verktyg som bl.a. kan användas för att skapa fingerprints av Command and Control-servrar (C&C). Verktyget är skapat av ett team där John Althouse ingår som också är en av grundarna till JA3/JA3s och HASSH.

Jarm används för att skapa ett unikt fingeravtryck (fingerprint) av en specifik TLS-kapabel server såsom Apache, Nginx, Cobalt Strike eller Metasploit.

Genom att skicka 10 st olika ClientHello TLS-meddelanden så skapas denna unika fingerprint.

Kör man jarm.py mot exempelvis Metasploit så får man följande fingerprint:

07d14d16d21d21d07c42d43d000000f50d155305214cf247147c43c0f1a823

Skärmdump när jag kör jarm mot en metasploit-lyssnare som använder sig av reverse_https-payloaden:

För fler signaturer se följande Github-repo: https://github.com/cedowens/C2-JARM och givetvis så stödjer Shodan jarm-fingerprints sedan November 2020:

Ett tips är att testa att kombinera jarm med Rita och aktivt skicka ut probes till de anslutningar som ser suspekta ut. Den fingerprint som jarm beräknar är på 62 tecken och är en form av hybrid fuzzy hash. Observera att jarm ej bryr sig om x509-certifikatinformation.

Även bra att notera att om man ställer sin C2-server såsom Cobalt Strike eller Metasploit bakom Nginx så kommer då Nginx-hashen att vara den som fingerprintas.

Jarm finns att laddas hem här:

Ransomware as a Service (RaaS)

Att ransomware är ett växande problem och något som drabbar många råder ingen tvekan om. Och nu har även molnifieringen av tjänster nått de som skapar ransomware: Ransomware as a Service (RaaS).

Jag har tittat närmare på en av flertalet RaaS. Priserna för den som vill ha egen ransomware-kod så varierar priserna från 474 kr upp till 5 138 kr och då ingår även command-and-control (C&C) som handhar automatisk upplåsning vid betalning.

Denna RaaS-tjänst som jag tittat närmare på heter RaaSBerry går att nå över Dark Web (Tor) och betalning sker med hjälp av Bitcoin. Du köper då olika typer av paket där det ingår en prenumerationstjänst på C&C. Det framgår också att även om C&C inte skulle fungera eller att du slutar att betala för tjänsten så kan du alltid manuellt dekryptera nycklar till de som blir offer för ditt ransomware.

De olika paketen ser ut enligt följande (BTC = Bitcoin)

Vad som är intressant att läsa ut är att samtliga paket kommer med en unik EXE-fil samt att det inte finns någon mellanhand vad gäller betalningar från offer som går direkt till en Bitcoin-adress. Vissa andra RaaS-tjänster har en modell där RaaS-tjänsten tar procent av intäkterna.

I dessa paket ingår ingen form av exploit-kod som utnyttjar någon sårbarhet utan det är något som den som köper ransomware måste själv utveckla. För att köpa ett paket från RaaSberry måste du först överföra Bitcoin till en unik skapad adress, vilket RaasBerry kallar för wallet.

Tjänsten marknadsför även att en USP (Unique Selling Point) är att inget fristående program behövs för att dekryptera krypterade filer. Detta så länge att dekrypterings-nyckeln finns tillgänglig dvs (du har betalt en lösensumma).

Att köpa skadlig kod har alltid varit möjligt via Tor och andra kanaler och det finns många olika aktörer som försöker tjäna pengar på olika delar av kedjan. Tyvärr är det problematiskt och mycket tråkigt när det blir lättare och lättare för antagonisterna att förstöra för andra med ransomware.

Så undviker du ransomware

Sist men inte minst kommer några tips hur du undviker konsekvenser av ett ransomware eller att drabbas överhuvudtaget:

  • Se till att ha backup och att backupen är frånskild ordinarie vht. Kanske en datadiod? Inkrementell backup samt live-backup om möjligt.
  • Använd en sandlåda för kontroll av skadlig kod samt flertalet antivirus-motorer i perimeterskyddet och för rörligt media
  • Uppdatera och patcha operativsystem samt mjukvaror
  • Se till att ha så få administratörer som möjligt samt se till att användare har så låga behörigheter som möjligt
  • Ta bort standardlösenord och användarnamn
  • Utbilda användare och testa dem då och då med phishing-tester exempelvis

Viktigt att poängtera på ovan punkter är att även öva dessa moment samt kontrollera att verkligen backuperna fungerar, att antivirus-motorerna är uppdaterade samt utför kontroll att samtliga system och mjukvaror uppdateras samt patchas.

Uppdatering: Glömde helt sista punkten gällande tips för att undvika ransomware. Tack Matti Olofsson!

Omfattande pågående cyberattack: WannaCry/Wcry

Flertalet nyhetsmedier samt CERT-SE varnar just nu för en ny pågående cyberattack. Detta är en ransomware-kampanj som nyttjar sårbarheten MS17-010. Ett flertal länder är drabbade och däribland även Sverige.

I detta fall är det en ny variant av WannaCry (kallas även Wcry eller WanaCrypt0r) som infekterar Windows-system och krypterar filer både lokalt och på delade nätverksytor och sedan håller dessa som gissla samt begär betalning i Bitcoin.

Sårbarheten som åtgärdas i MS17-010 som släpptes för cirka två månader sedan och har och göra med hur Windows hanterar SMBv1-paket (EternalBlue). WannaCry använder även Tor för att sköta Command and control (C&C), detta för att försvåra spårning.

Här finns en karta för den som i realtid vill se infektioner:

WannaCry

Skärmdump från meddelandet som dyker upp om du blir infekterad:

C2’17 – Ny spännande IT-säkerhetskonferens

Jag fick möjlighet att ställa några frågor till Åsa Schwarz som är en av initiativtagarna till den nya IT-säkerhetskonferensen Command & Control (C2) som går av stapeln den 17:de Januari 2017 i Stockholm.

Bland talarna på konferensen hittar vi bl.a Ulrika Evertsson Hansson som kommer att berätta om hur Militära underrättelse- och säkerhetstjänsten (MUST) aktivt arbetar med att få in it-säkerhet i hela systemutvecklingsprocessen och vilka säkerhetsfunktioner som måste omhändertas i Försvarsmaktens IT-system.

Anne-Marie Eklund-Löwinder, CISO på IIS kommer att berätta hur DNSSEC-roten är uppbyggd och säkrad med 7 st nycklar där Anne-Marie ansvarar för en av dessa nycklar.

Ovan två föredrag samt en mängda andra intressanta föredrag kommer att hållas under dagen, klicka här för om du vill se hela agendan.

Berätta vad Command and Control är för konferens?

Det är endagskonferens där vi får lyssna på några av Sveriges mest spännande företag och myndigheter. Vi har plockat ut aktuella ämnena inom it- och informationssäkerheten inför 2017. Några exempel är hur toppdomänen för internet förblir säker, hur Volvo arbetar med it-säkerhet i självkörande bilar och hur informationssäkerhet är en del av Polisens verksamhet.

Vilken målgrupp riktar ni Er till?

Främst till personer som under 2017 kommer att arbeta professionellt med it- och informationssäkerhetsfrågor. Vi kommer även ha ett antal studenter på plats eftersom vi inom kort kommer ha ett en stort brist på experter inom området och måste locka nya till branschen.

Ser ni ett behov att fylla?

Den svenska föreläsningsscenen inom säkerhetsområdet har varit relativt homogen, där samma personer ständigt återkommer år efter år. Vi har plockat ut några av Sveriges främsta experter som inte synts lika frekvent men som har väldigt mycket att bidra med. De kommer ge nya tankeväckande infallsvinklar och kunskap. Vi har också länge funderat på varför mässor, konferenser och expertpaneler har så få kvinnor inom it- och informationssäkerhetsområdet.

Svaret man ofta får är att det inte finns några. Vi tänkte en gång för alla visa att det inte stämmer. Eftersom marknaden växer kraftigt måste vi se till att bli en attraktiv bransch för alla som är intresserade av säkerhet. C2’17 är helt enkelt ett naturligt led i att vi vill göra Sverige till en av världens mest dynamiska säkerhetsarenor.

Vilka höjdpunkter ser du själv på konferensen?

Jag ser mycket fram emot mycket är att lyssna på råd från en organisationspsykolog hur vi får våra medarbetare att förändra beteende och arbeta på ett säkrare sätt. Det kommer säkert också bli mycket intressanta samtal under lunchen och möjlighet att knyta nya kontakter vid kaffet.

Vilka är ni som anordnar konferensen?

Vi som arrangerar och står bakom denna konferens är en grupp personer som tillsammans vill verka för att höja it- och informationssäkerheten i Sverige. Genom att förändra föreläsningsscenen, media och rekryteringsprinciper vill vi skapa en av världens mest dynamiska säkerhetsarenor. Vi kallar oss själva för Kontrollgruppen. Du hittar medlemmarna här: www.c217.se/arrangor

Vad har ni valt för plats och varför?

Vi kommer att vara på Bygget Fest & Konferens på Norrlandsgatan 11 i Stockholm.

Anledningen är att lokalen ligger centralt och att vi har både konferens och mingelytor för oss själva. Vi tycker att kontaktskapandet och dialogen mellan åhörarna är lika viktig som själva föreläsningarna. Den gemensamma kunskapen och erfarenheten bland alla deltagare är minst sagt imponerande.

Analys och förmildring av överbelastningsattacker (DDoS)

Att analysera och förmildra en DDoS-attack kan göras genom ett antal olika metoder. Även finns det DDoS-attacker där motverkansmedel kan användas och således göra attacken mindre effektiv. Givetvis kan filtrering genomföras på ISP-nivå också, men det är ett relativt trubbigt verktyg.

Först och främst måste trafikdata i form av PCAP-format eller liknande samlas in, detta kan visa på ledtrådar såsom vilket verktyg som används eller om det är förfalskade paket (spoofade). Även så kan loggar på servern analyseras för att avgöra exempelvis om det är en eller flera stora bilder som laddas om och om igen. Finns inte råa paket kan även netflow-data användas och analyseras med verktyg såsom Argus.

🔎 Reklam: Triop AB analyserar och kan ta fram motverkansmedel mot DDoS

När vi vet vem avsändaren är så måste denna analyseras närmare, rör det sig om klientdatorer eller servrar med hög kapacitet? Om det är klientdatorer så rör det sig troligtvis om ett bot-nät med infekterade privatpersoner, är fallet högprestanda-servrar så kan det vara hyrda servrar direkt av antagonisten eller som är vanligare: hackade servrar.

Finns även fall där klienter kan surfa in på en speciell sida så exekveras ett javascript som hämtar en eller flera tunga filer om och om igen, denna attack är implementerad i bl.a JS LOIC.

Wireshark är ett bra verktyg att visuellt analysera nätverkstrafik men fungerar ej väl med större datamängder. Nedan exempel visar hur det ser ut i Wireshark när LOIC används:

LOIC Wireshark

Skärmdump från webbsida som har JS LOIC:

JS LOIC

Skärmdump från JS LOIC storebror LOIC. LOIC står för Low Orbit Ion Cannon:

Low_Orbit_Ion_Cannon

Ovan två exempel använder dock enbart den egna kapaciteten. För att uppnå mer skada på slutmålet så kan även antagonisten använda sig av en förstärkt DDoS (amplification DDoS attack).

Genom att skicka en mindre mängd data till ett antal servrar och sedan får dessa att svara med flertalet gånger större mängd data till en annan server så kan större effekt uppnås:

DDoS amplification attack

Vanligtvis används UDP baserade protokoll såsom DNS och NTP (MON_GETLIST) men även så har vi sett attacker där WordPress pingback används för att rikta om svar. Dessa servrar har också oftast en relativt god kapacitet mot internet till skillnad från många hemanvändare och privatpersoner.

I vissa fall så måste även reverse-engineering utföras för att förstå hur attack-koden fungerar.

Skärmdump från klienten som användes mot SpamHaus. Reverse-engineering utförd med Ollydbg:

SpamHaus DDoS

Genom att analysera klientkoden som körs så kan man även i slutändan troligtvis identifiera puppetmastern, som styr klienterna. Vanligt förekommande kontrollkanaler (C&C) är IRC, HTTP osv. Men inte helt ovanligt heller så använder den som utför kommandon någon form av anonymiseringsverktyg såsom Tor.

Att just LOIC används som exempel ovan är för att denna programvara användes för att slå ut flertalet myndighetssajter år 2012.