Conscia ThreatInsights
Så upptäcker du bestående skadlig kod Del 1.

Vid cyberattacker kan angriparna nå miljön via ett specifikt system, men det här kanske inte är det egentliga målet. Bestående skadlig kod, som gör det möjligt att fortsätta infektera systemet trots omstarter och lägger grunden för fortsatta attacker, kräver att angriparna etablerar någon typ av bestående närvaro (persistency, persistens) i den specifika miljön. Det finns flera sätt att göra det på. I den här artikelserien kommer vi att lista några av de vanligaste.

Inledningsvis undersöker vi hur  Windows-registret kan användas för att plantera bestående skadlig kod.

Windows-registret

Windows-registret används för att lagra och hämta system- och användarinställningar. Genom att infoga värden i register som körs automatiskt vid start kan den som skriver skadlig kod utnyttja verktyget för att skapa persistens.

Här är några typiska platser för autoruns:

  • DAT\Software\Microsoft\ Windows\CurrentVersion\Run
  • HKCU\Software\Wow6432Node\Microsoft\Windows
  • NT\CurrentVersion\Windows
  • HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\*
  • HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\*
  • HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce\*
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\*

Om du är intresserad av att undersöka det här i ditt eget system kan du ladda ner Autoruns från Microsoft. Då kommer du att få se något som liknar bilden nedan.

Figure 1 – Autoruns example

Här är ett enkelt exempel på hur man kan skapa persistens med C++: 

Persistens, bestående skadlig kod med C++, Conscia SverigeBild 2 – Exempel på bestående skadlig kod med C++

När du analyserar skadlig programvara kanske du upptäcker användning WinAPI-funktionen som interagerar med registret. Som du ser i skärmdumpen ovan kan de användas för att skapa bestående skada i offrets miljö.

Upptäck bestående skadlig kod i Windows-registret

Eftersom metoden bygger på att några typiska och kända registernycklar modifieras kan vi upptäcka misstänka ändringar i registret med hjälp av vårt  EDR-verktyg (Endpoint Detection and Response) – och då alldeles särskilt de som vi listade i början av den här artikeln. Många EDR-verktyg kommer att ha inbyggda detektionsregler, men det är ändå analytikern uppgift att avgöra om ändringarna i registret verkligen är skadliga.

Ett sätt är att observera den överordnade processen för kommandot som initierade registerändringen. I det här fallet skulle man kunna upptäcka en misstänkt, eventuellt osignerad, körbar fil, en oväntad filsökväg etc. Det här skulle vara anledning att rapportera potentiellt intrång.

Ladda ned kostnadsfritt whitepaper om säkerhetsramverket CIS ControlsEn annan metod är att inspektera den faktiska registerändringen. I vårt enkla exempel kan du se att vi var ganska öppna med vårt registernamn (“malicious” ) och att namnet på den skadliga programvaran är ”bad.exe”. Det här är sannolikt inte fallet vid livescenarier, men med hjälp av  särskilda värden kommer det fortfarande gå att avslöja misstänkta förändringar.

Vill du veta mer? Dags för en säkerhetsbedömning enligt CIS Controls?

Hör av dig!

 

Kontakta oss!
Svar inom 24h