Taggat med: SolarWinds

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!

Så gick intrånget mot FireEye till

Uppdaterat 2020-12-15: SolarWinds har i sin 8-K anmälan till US Securities and Exchange Commission angett följande: ”SolarWinds currently believes the actual number of customers that may have had an installation of the Orion products that contained this vulnerability to be fewer than 18,000”. Detta kan betyda att 18000 installationer har genomförts med bakdörren.

Uppdatering 2020-12-16: Bra analys av bakdörren av Qeeqbox.

Uppdatering 2020-12-17: Jag glömde i en tidigare version av detta blogginlägg att länka till källan som bekräftar att det är via SolarWinds som angriparna tog sig in hos FireEye, den källan återfinner du här.

Sent igårkväll så släpptes information om hur FireEye hackades via en så kallad supply-chain attack. Allt tyder på att intrånget genomfördes av APT29, Cozy Bear som är en grupp som kopplas mot ryska staten samt att en mjukvara från SolarWinds användes som intrångsvektor. Förutom FireEye så kunde även APT29 läsa mail under några månader på amerikanska myndigheten U.S. Treasury and Commerce.

APT29 placerade en bakdörr i SolarWinds mjukvara Orion som används för nätverksövervakning någon gång under mars-juni 2020. Den mjukvaran kommunicerade hem till SolarWinds som vanligt men kunde även fjärrstyra datorn som hade bakdörren installerad. Troligtvis genomförds intrånget mot SolarWinds genom deras byggsystem eftersom bakdörren också var signerad med SolarWinds certifikat.

Bland SolarWinds kunder kan man hitta en intressant lista med organisationer:

Bland kunder listas Volvo, Ericsson och Telenor. Oklart om det är just Orion som används av dessa kunder eftersom SolarWinds är ett stort företag med många produkter.

Bakdörren återfanns i filen SolarWinds.Orion.Core.BusinessLayer.dll. Och bl.a. Microsoft Defender kan upptäcka denna bakdörr som Solorigate. Andra namn för bakdörren är även SUNBURST samt operation UNC2452.

Att bakdörren var oupptäckt enbart under några månader beror troligtvis på att angriparna blev giriga och ville komma åt mer information i fler system. När spåren började att nystas upp så pekade de på SolarWinds produkt Orion och att ge sig på FireEye som är specialister på att göra IT-forensiska utredningar är troligtvis en bidragande faktor till att bakdörren inte blev så långlivad.

Intressant i denna historia är också att lokala VPS-anslutningar (virtuella privata servrar) inom landet användes för att inte väcka misstanke mot trafik som går utom landet. Även framhäver FireEye följande som också är intressant:

After a dormant period of up to two weeks, the malware will attempt to resolve a subdomain of avsvmcloud[.]com. The DNS response will return a CNAME record that points to a Command and Control (C2) domain. The C2 traffic to the malicious domains is designed to mimic normal SolarWinds API communications

Kontrollera alltså dina PCAP-filer eller brandväggsloggar efter DNS-uppslag mot avsvmcloud[.]com, förslagsvis under hela 2020. Här är ett exempel när jag söker efter denna information i Moloch (numera Arkime):

Bakdörren finns uppladdad på VX Underground här och läs även på om reproducerbara byggen som jag skrev om 2017, vilket är en av flera metoder för att försvåra denna typ av attack.

IOC:er

  • b91ce2fa41029f6955bff20079468448
  • 02af7cec58b9a5da1c542b5a32151ba1
  • avsvmcloud[.]com

Se även FireEyes Yara-regler på Github här samt länken i början av detta blogginlägg.