Simovits

Hur kommunicerar skadlig kod

När vi kommer till skadlig kod så finns det ett antal sätt för den att kommunicera med utsidan och kontrolleras. Detta kan göras för att hämta uppdateringar, instruktioner eller transportera ut värdefull information från nätverket. I det här blogginlägget kommer vi snabbt och lätt gå igenom ett par nya trender för skadlig kod att kommunicera och för den nyfikne kommer vi presentera två open source alternativ som använder twitter och gmail.

Låt oss introducera Command and Control även benämnt som C2 samt C&C. Det är ett sätt för den som kontrollerar den skadliga koden att kommunicera med sitt mästerverk. De har nu fått in sin kod i ditt nät, men varför sluta där? För om koden har kommit dit, så ska den kontrolleras. Data kan behövas transporteras ut, den skadliga koden uppdateras eller instruktioner som ska genomföras.

Kommunikationen till kontrollservern brukar oftast ske med två metoder, antingen push eller pull.

Men hur ofta används C2 i skadlig kod och ser vi några trender inom detta? QinetiQ [1] har tagit fram en tabell över C2 i dokumenterade incidenter. I den tabellen kan vi klart och tydligt se en ökning i användningen av C2. Dock skriver de att dessa siffror inte är helt fastställda då det finns problem med insamlingen och rapportering av data innan 2010.

Tabell 1, C2 i dokumenterade attacker, lyckade och misslyckade.

Det finns ett antal kommunikationskanaler för skadlig kod att använda sig av. Historiskt så har de flesta kommunicerat genom http och IRC. Men hur ser det ut idag? Ser vi någon förändring inom detta? Vi tittar på en presentation från BlackHat [2] som presenterar följande tabell:

Tabell 2, C2, tekniker och nivå.

Som vi ser i tabellen ovan beskrivs det i presentationen även hur DNS:er används för denna kommunikation. Det sker genom att den infekterade datorn skickar ut en förfrågan om en domän. Denna förfrågan skickas till en DNS-server som även är C2 server. I svaret den skickar göms ett meddelande. Så kan alltså den skadliga koden kommunicera genom DNS förfrågningar. Två exempel på skadlig kod som använder denna teknik är Feederbot och PlugX.

En annan intressant teknik som visas är steganografi, då bilder kan laddas upp på t.ex. en blogg som sedan läses in av den skadliga koden. Bilderna innehåller då gömd kod för att instruera offret. Ett exempel på skadlig kod som använt det här konceptet är TDSS/Alureon.

Sedan finns även exempel på att kommentatorsfältet på Youtube-video har använts för kommunikation. Ett exempel är Janicab [3]

Låt oss gå tillbaka till tabellen igen, vi har där en tregradig skala. Denna skala visar hur sofistikerade kommunikationskanalerna är. Vi ser där att Stuxnet ligger på andra nivån. Så om vi utgår från detta läge, så är det inte troligt att dessa används av för så många grupperingar.

Det var en kort och snabb sammanfattning om några olika sätt som den skadliga koden kan kommunicera. För den nyfikna presentera vi också två exempel med källkod som använder Gmail och Twitter som C2. Både Gcat och Twittor är uppbyggda på samma sätt. Nedan följer en snabb presentation:

Gmail – Gcat [4] bakdörr som använder Gmail som C2 server

För att sätta upp denna bakdörr behöver du:

När detta är ordnat finns följande kommandon:

 cmd CMD Execute a system command
 download PATH Download a file from a clients system
 upload SRC DST Upload a file to the clients system
 exec-shellcode FILE Execute supplied shellcode on a client
 screenshot Take a screenshot
 lock-screen Lock the clients screen
 force-checkin Force a check in
 start-keylogger Start keylogger
 stop-keylogger Stop keylogger

 

Twitter – Twittor [5] Bakdörr som använder twitter för C2

Kommandon som Twittor kan köra:

 
 refresh - refresh C&C control
 list_bots - list active bots
 list_commands - list executed commands
 !retrieve <jobid> - retrieve jobid command
 !cmd <MAC ADDRESS> command - execute the command on the bot
 !shellcode <MAC ADDRESS> shellcode - load and execute shellcode in memory (Windows only)
 help - print this usage
 exit - exit the client

 

Sammanfattning

Vi har idag gått igenom och nosat på ytan hur skadlig kod kan kommunicera, samt länkat två exempel. Så hur ser framtiden ut? Det är svårt att säga, men det verkar vara en trend att mer skadlig kod kommunicerar utåt och att en ökning har skett i att använda sociala-medier. Vid mer avancerade attacker kan mer sofistikerade kommunikationskanaler användas. Det är dock inte troligt att dessa tekniker används för den stora massan i nuläget. Det var allt för idag. Hoppas ni lärde er något idag samt att er dator inte twittrar konstiga tweets.

[1] http://www.cpni.gov.uk/documents/publications/2014/2014-04-11-cc_qinetiq_report.pdf

[2] https://www.blackhat.com/docs/eu-15/materials/eu-15-Bureau-Hiding-In-Plain-Sight-Advances-In-Malware-Covert-Communication-Channels.pdf

[3] http://arstechnica.com/security/2013/07/equal-opportunity-malware-targets-macs-and-windows/

[4] https://github.com/byt3bl33d3r/gcat

[5] https://github.com/PaulSec/twittor