Research and Development 1/^Archief/2007-2008/projecten/Botnet/3. Vergelijking Botnets/Storm

Uit Werkplaats
Ga naar: navigatie, zoeken

Het Storm Botnet

Achtergrond

Algemen Mogelijkheden, zie wat je ervan kan gebruiken

[Image:storm.gif]

Historie, hoe heeft het botnet zichzelf ontwikkeld

The Storm botnet was initially created at the beginning of 2007 when the Storm worm was spammed out, hiding in e-mail attachments with a subject line of "230 dead as storm batters Europe."

While Storm has continued to grow since then, it is difficult to gauge its true size since a large percentage of the infected machines are on "standby," according to security expert Bruce Schneier. Schneier wrote in a blog post at the beginning of October that he was worried what Storm's creators had in store for phase two of the botnet.

"Oddly enough, Storm isn't doing much, so far, except gathering strength," Schneier wrote. "Aside from continuing to infect other Windows machines and attacking particular sites that are attacking it, Storm has only been implicated in some pump-and-dump stock scams. There are rumors that Storm is leased out to other criminal groups. Other than that, nothing."

Schneier wrote that the Storm botnet authors had quietly been increasing the strength of the botnet by having small portions attacking other computers and then lying dormant, by using a yet-smaller fraction of the botnet to control compromised computers.[1]

Waarvoor/Hoe is het botnet opgericht/ingericht?

"Storm is designed like an ant colony, with separation of duties," Schneier wrote. "Only a small fraction of infected hosts spread the worm. A much smaller fraction are command-and-control servers. The rest stand by to receive orders. By only allowing a small number of hosts to propagate the virus and act as command-and-control servers, Storm is resilient against attack. Even if those hosts shut down, the network remains largely intact, and other hosts can take over those duties." [2]

Functionaliteit en positie van de Command & Control Center binnen het botnet

Meerdere gedistribueerde C&C's

Op het op eDonkey/Overnet gebaseerde peer to peer netwerk zijn meerdere Command en control servers aan het werk. Dit zijn zombie-computers geinfecteerd door een versie van de Storm 'worm'.

Doordat er in tegenstelling tot de meeste botnets meer dan een command en control server aanwezig is binnen het botnet, zal het voor tegenstanders van het Storm botnet moeilijker, zowel niet bijna onmogelijk om de botnet in zijn geheel te ontmantelen.

Een ander voordeel van de gedistrubeerde servers is dat de opzetters van het botnet gemakkelijker het botnet kunnen onderverdelen/splitsen. Dit kan onder andere ervoor dienen om een deel van het botnet te verhuren aan derden (o.a. vallen hier spammers onder).

Fast-flux

Definitie van fast-flux

Fast-flux lijkt op load-balancing. Op basis van het round/robin principe worden de geinfecteerde zombie-computers als proxy gebruikt om de computers welke de rol van Command en control server hebben gekregen af te schermen. Deze poxy's worden dus continue afgewisseld, waarbij de DNS gegevens worden gewijzigd om de ontdekking van de servers door onderzoekers, ISP en andere geintresseerden wordt verhinderd.

Het doel van het fast fluxen

Het grote voordeel van het gebruik van fast fluxen is om het op IP-gebaseerde zwarte lijst(veel gebruikt voor het identificeren van geinfecteerde systemen) nutteloos te maken voor het voorkomen van bijvoorbeeld DDOS of spam aanvallen.

Hoe wordt Fast FLuxing in Strom toegepast?

" For one, its using fast-flux DNS (Domain Name System), a technique that enables each node to act as both a DNS server and a Web server so as to host content."

Hierarchie/Taakverdeling van het botnet

  • Een klein deel van het netwerk verspreid de infectie
  • Een nog kleiner deel speelt de rol van C&C's op zich nemen.
  • De rest van het botnet wacht op orders en doen bijna niets tot niets

De communicatie (techniek) tussen de "zombie" en bestuurder

Het storm botnet maakt gebruik van een 'aangepaste' vesie van een peer to peer netwerk ob basis van het eDonkey/Overnet prototcol.

Een peer to peer netwerk is te beschijven als een netwerk waarin elke computer over evenveel verantwoordelijkheden en mogelijkheden beschikt.

Overzicht over hoe het protocol werkt

Hoe peer bestanden localiseren op het peer to peer netwerk

Nog te verwerken in het nederlands:
In Overnet, the description and localisation of files are stored on peers such that the peer hash is as close as possible to the file hash.

When a peer wants a file, it tries to ask the peers which have the closest hashs to the file it wants. These peers reply by sending the closest peers they know to the requested hash.

The distance between two hashs is computed using what Kademlia calls a Xor metric: a xor is computed between the two hashs, and the result hash represents the distance. Two distances are then compared by using a lexicographical order on their bytes (ie first bytes are compared, and if equal, the second bytes, and so on...)

For this to work, the client needs to maintain a small list of peers it knows, which are as spreaded as possible in the space of possible hashs.[3]

Hoe maakt het storm botnet hier gebruik van??

De Storm trojan Trojan.Peacomm (de correcte benaming van Symantec) maakt gebruik van het Overnet protocol van het voor het localiseren van bepaalde data. Een van de grootste verschillen in de werking van het protocol ten opzichte van de werking binnen het storm botnet is dat er bij het Overnet protocol gezocht wordt naar specifieke bestanden. Bij het storm botnet zoekt men naar een gehashde URL.

Wanneer de Strom trojan een computer heeft geinfecteerd, probeert hij deze gehashde URL op te zoeken in het netwerk. Op deze betrekkelijke URL kan de trojan dan een aantal bestanden downloaden die hij nodig heeft voor het verdere functie als zombie-computer binnen het Storm botnet. In de threat-analyse van Secureworks van deze betrekkelijke trojan, wordt precies uitgelegd hoe dit in zijn werk gaat.


nog te doen Het proces samnevatten van het zoeken naar een hash door de trojan
Het opzoeken van de URL op een van de verbonden peers op het netwerk
Question.. moet dit beschreven worden....'

In de tweede fase kan de trojan een URL ontvangen die naar een uitvoerbaar bestand wijst. Dit bestand haalt dan de bestanden game0.exe to en met game5.exe(deze bestanden kunnen soms onder een andere naam vallen) op. Elk van deze opgehaalde bestanden heeft een eigen functie.


game0.exe - Backdoor/downloader
game1.exe - SMTP relay
game2.exe - Email address stealer
game3.exe - Email virus spreader
game4.exe - DDoS attack tool
game5.exe - Updated copy of Storm Worm dropper
De component dat met de peer to peer netwerk communiceerd heeft een hardgecodeerde lijst
van meer dan 100 bestaande ip-adressen van zombiecomputers in de trojan staan.
Dit wordt opgeslagen in het bestand %windir%\system32\wincom.ini.Dit bestand ziet er als volgt uit.
D943283AB63746B8E62436682728DDD4=5511238154BD00
D6E46BF02E64D940E37EECCC982584A8=573349B6124A00
AA71F6CB9B9BB53D9FA47B74B189E67E=8002DE60541D00
91692CA8A8B7F9DA5E68E749CD8E9BF6=968C8C30276A00
90574FE5893DC69889C2E041CE549CF7=55193625196A00
87E19465E6C768A9AF641261EE3F264F=530EDD0A4AF800
83A420370958C05DD460005C27AF0883=DD82082C420200
5C4C83F5CA7CC5FC96B67BF2AFC0A0F6=434E515D185D00
5194784563D5B072109A7EBE6C2DDD1E=578B1AD02FC300
4C09AD9D350ABAFD51A5C76A5DC10C54=58BF246B518C00
...


The part in front of the equals sign is the peer hash, the part following is the IP address and port. For example, 5511238154BD00 = 0x55.0x11.0x23.0x81:0x54BD or 85.17.35.129:21693. These peers are contacted to see if they have a particular hash the trojan is looking for. They in turn direct the infected client to other peers which may have the hash, until one is found.
In a normal eDonkey/Overnet P2P exchange, the hash value is the MD4 sum of a file located on a peer. In the Storm Worm P2P code, the hash value doesn't actually correspond to a file, it is generated using an algorithm which takes as input the current system time and a random number between 0 and 31, outputting one of 32 possible hashes for any given day.
When a peer responds with a search result containing this hash, it returns the searched-for hash, and also provides a "result" hash in the response packet (the result hash is 05B3D57C0C90A3010000000000000000 in the illustration). This hash is used as a decryption key by the Storm Worm P2P code, in concert with a second decryption key which is hard-coded in the body of the trojan itself. Also in the response packet is a single meta-tag named "id". The body of this tag contains an encrypted string which contains the URL of the second-stage executable. No files are ever transferred between hosts; the meta-tag and the result hash are the only things the trojan needs from the peers in order to find the download site.


Gebaseerd op onder andere:
  • de Threat-analyse uitgevoerd op Trojan.Peacomm trojan door Secureworks.
  • een post[1] over de Trojan.Peacomm op de weblog van Symantec


Encryptie van de doorgestuurde data..

De data die over het peer to peer netwerk gaat wordt geencrypt met een 40-byte encryptie.

"The Storm Worm botnet is now using 40-byte encryption on traffic running with the Overnet peer-to-peer protocol—a weak encryption scheme but one that allows a malware author to segment the botnet into smaller networks that soon may show up as turnkey spam botnets for sale in malware forums."
"The use of encryption means that each node in the botnet is only able to communicate with nodes that are using the same key. New variants of the worm can be run on a separate network on which only those nodes can talk. Segmenting the whole Storm botnet down into smaller networks is a trivial matter of merely changing the key and re-releasing the variant, Stewart said.
There are a few possible reasons that the author of the Storm botnet would choose to do so. One purpose would be to sell off Trojan variants to other criminals who are interested in a turnkey spamming platform. By compiling each botnet with a different key, the malware author can produce a personalized Storm botnet to sell to each group or individual.
Another reason to use encryption could be to carve up the massive Storm botnet simply in order to make it more scalable, with the addition of more centralized C&C (command and control) networks from which to issue orders and a reduced load on the central server, Stewart said."
"Botnet use of encryption over P2P isnt new—it was first spotted a few years ago. And 40-byte encryption is fairly simple encryption. Even if it were stronger, Stewart said, researchers could get the encryption key by reversing the binary of whichever Storm variant theyre researching, given that each variant has a hard-coded 40-byte encryption key. "If you know what youre doing, you can reverse-engineer" the code to retrieve the encryption key, he said."

Voordeel

"On one level, even the weak encryption now being spotted in use by Storm variant botnets makes it harder to track down infected bots. "Its harder to see into the packets and figure out where traffic is going," Stewart said."

Nadeel

"But on another level it makes it easier, given that security workers can now easily differentiate Storm nodes talking to each other from normal P2P sharing sessions. Prior to the botnets recent use of encryption, differentiating normal P2P sessions from botnet chatter required a substantial amount of knowledge about algorithms, Stewart said. "The casual observer looking at network packets, such as a network administrator, wouldnt be able to tell" the difference, he said." [4]

Infectiemethoden

Manieren van verspreiding

  • (Spam-)Email met .exe-attachment
  • (Spam-)Email met een link naar een pagina waarop dan de .exe gedownload kan worden
  • (Spam-)Email met een link naar een pagina met een kwaadaardig script dat de .exe download

Infectie

Het bestand dat wordt uitgevoerd creëert een systeem driver (wincom32.sys, ook bekend als Trojan.Peacomm), welke een bepaalde lading injecteerd in het services.exe proces (een windows proces). Dit gebeurt door gebruik te maken van een hoogontwikkelde techniek die lijkt op de methode van Rustock (een ander botnet-trojan). Het is echter zo, in tegenstelling tot de naam van het bestand, dat wincom32.ses geen echt rootkit-bestand is aangezien het zijn aanwezigheid niet verschuilt, noch de sleutels in het windows-register.

Na het infecteren kan de trojan zonder waarschuwing de pc opnieuw opstarten.

Na de infectie download de trojan via het peer-to-peer netwerk de volgende bestanden:

game0.exe: Een downloader + rootkit component –> wordt gedetecteert als Trojan.Abwiz.F
game1.exe: Proxy Mail Relay voor spam die poort TCP 25 op de geïnfecteerde machine opent – wordt gedetecteert als W32.Mixor.Q@mm
game2.exe: Mail Harvester die e-mailadressen verzamelt op de computer upload als 1.JPG op een andere server – wordt gedetecteert als W32.Mixor.Q@mm
game3.exe: W32.Mixor.Q@mm
game4.exe: Contacteert een C&C server om een configuratiebestand te downloaden – wordt gedetecteert als W32.Mixor.Q@mm

Welke soorten aanvallen worden met het botnet gerealiseerd?(evt methode, Frequentie)

  • DDoS aanvallen
De DDoS aanval wordt uitgevoerd door game4.exe. Dit proces ontvangt een IP adres als doel en het type van aanval door een configuratiebestand te downloaden van een website die zit ingebouwd in de trojan. Er kunnen verschillende types van DDoS aanvallen worden uitgevoerd:
  • 80 TCP syn flood
  • ICMP ping flood
  • of allebij
Er kan alleen dmv een IP adres worden aangevallen; het bestand heeft geen mogelijkheden om DNS namen op te zoeken.
De doelen die Storm op dit moment heeft aangevallen zijn vrij divers, maar hebben vaak het oogmerk om het botnet in stand te houden. Zo zijn er aanvallen uitgevoerd op websites die het Warezov virus verspreidden (een concurrent van Storm) en op websites van onderzoekers die Storm onderzoeken (Joe Stewart) en algemene anti-spam sites (spamhaus.org en 419eater).
  • Spam versturen
" Currently, the Storm botnet is used for stock pump-and-dump spam." [2]
Mogelijk onderzoekbare punten:
 In welke mate zijn de zombies actief bezig voor de hacker..??

Bronnen

References