Hoofdcategorieën
Device Settings

Twitter misbruikt door botnet voor stelen inloggegevens

Door Pieter Molenaar, vrijdag 14 augustus 2009 18:37, views: 16.411

Een beveiligingsexpert is bij toeval gestuit op een botnet waarbij gebruik wordt gemaakt van Twitter-berichten om de bots aan te sturen. De hackers lijken het gemunt te hebben op het stelen van inloggegevens van Braziliaanse banken.

Jose Nazario, hoofd security research bij Arbor Networks, kwam de botnetactiviteit via Twitter op het spoor doordat de bots via de rss-feed van het bewuste 'upd4t3'-account hun instructies kregen. De instructies zien er uit als onzinnige tekststrings, maar blijken volgens de beveiligingsexpert met base64-geëncodeerde blokken tekst.

Na het decoderen leveren deze blokken een pkzip-archief op, dat uitgepakt de bestanden gbpm.dll en gbpm.exe bevat. Het dll-bestand stuurt volgens de onderzoeker waarschijnlijk inloggevens naar een aantal url's van een Braziliaanse bank, terwijl het exe-bestand te herleiden is naar de Buzus-trojan. Uit een update van Nazario blijkt dat de zogeheten infostealer voornamelijk in Brazilië actief is met een honderdtal besmettingen. Het Twitterbotnet-account is inmiddels door Twitter offline gehaald.

Overigens is de gebruikte botnettechniek via Twitter-berichten niet nieuw. Zo weet 'Tom' in de comments van het artikel op Arbor Networks te melden dat de proof-of-concept-code hiervoor al eind juli, op de Defcon 17-conferentie, naar buiten is gebracht. Van de presentatie daarvan is een video verschenen. Ook daarbij werd gebruikt gemaakt van base64-encodering van de Twitter-berichten.

Twitter botnet

Volgende 19:42 MSI introduceert nieuwe gamenotebook
Vorige 17:25 Club3D introduceert 'groene' grafische kaarten
Advertentie

Reacties

«  1  2  »

Hehe, geinig. Naja soort van dan (met oog op de gestolen inloggegeven). Om een geheel bestand te passen in een bericht van 180 tekens is best wel knap ;)
En om het op twitter te publiceren is nog vreemder, je zou verwachten dat zo iemand wel een eigen server zou hebben.

[Reactie gewijzigd door Calavoow op vrijdag 14 augustus 2009 18:42]


Je moet eerst de strings na elkaar plakken en dan base64 decoderen, dit levert je een zip bestandje op, staat zo in het artikel.

Het past dus niet allemaal in 180 tekens.

Waarom geen eigen server => eigen server is veel maklijker te achterhalen wie erachter zit dan bij een twitter account...

Volgens mij is het hele verhaal over dat die tekstrings samen een Zip file zijn na decoderen onzin. Als je namelijk zelf de berichten in het screenshot decodeerd krijg je links naar bestanden ;) en geen zip header ...

Hmm, staat ook wel erg duidelijk in de oorspronkelijke bron:
OK, a couple of links. One is dead (to a pastebin), one is live.
That second link yields a base64 encoded block of text. When we un-encode it using base64 we see a PKZIP archive

[Reactie gewijzigd door djexplo op vrijdag 14 augustus 2009 23:57]


Het is niet 1 bericht, maar meerdere berichten die hij samenvoegt. Het is inderdaad een slimme actie, aangezien de twitter servers gewoon worden toegevoegd aan de whitelist van de firewall door de client.
Na het decoderen levert deze blokken een pkzip-archief op

Overigens zijn berichten op Twitter (tweets) maximaal 140 karakters.

Binaries op usenet werken op een vergelijkbare manier, dus nieuw is het niet. Ze hadden beter twitpic.com kunnen gebruiken, in een plaatje kun je onopvallender data verbergen, waarschijnlijk nog meer ook.

Wie zegt dat dat al het geval is, er zijn vast vele botnets (slapende) die nog niet zijn opgevallen.

Binaries op usenet werken op een vergelijkbare manier
Mmm... ik krijg plots het gevoel dat twitter wel eens uit kan gaan groeien tot het nieuwe nieuwe systeem om (illegaal) bestanden uit te gaan wisselen...

Zou dat werken ?

Je hebt me op een idee gebracht, en een paar uur geleden ben ik eraan begonnen:
http://peter-server.homelinux.net/data-in-een-afbeelding/

Voor de broncode, zie de phps-bestanden.

Aan de ene kant snap ik waarom je twitter zou gebruiken - geen problemen met lastige firewalls enzo - maar aan de andere kant, als twitter dan dat account offline haalt dan ligt toch gelijk je hele botnet plat? Lijkt me weer minder handig...

ze zullen vast wel meerdere manieren hebben ingebouwd om contact met het botnet te houden.

Volgens The Register gaat het hier om het controleren van een botnet via Twitter. Zoals ze dat b.v. ook via IRC doen.

Ik vind het bijzonder. Gewoon openlijk instructies laten geven aan bots dmv. Twitter, en door codering hopen dat niemand het doorheeft. Eigenlijk best creatief :)

Na het decoderen levert deze blokken een pkzip-archief op, dat uitgepakt de bestanden gbpm.dll en gbpm.exe bevat.
Hoe doe je zoiets ? Lijkt me behoorlijk hard om uit een regeltje text executables te halen...

Alles bij elkaar gooien in een .txt
Decoden.
Save as: .pkzip
Unzip
???
PROFIT!!

Maar hoe decodeer je zoiets ?

Zucht. Met base64decode misschien?

Zie data niet als bytes (8 bits), maar als een hele lange bit string. Pak telkens 6 bits. Die 6 bits kan je in 2^6=64 leesbare tekens coderen,bijvoorbeeld A-Z,a-z,0-9, +, en /.

000000 = A
000001 = B
000010 = C
:
enz.

Omgekeerd staat een leesbaar teken voor een groepje van 6 bits. Plak die 6 bits aan elkaar tot je de hele lange bitstring terug hebt.

Zie ook: http://en.wikipedia.org/wiki/Base64

en hoe denk je dat een executable eruit ziet precies gewoon text.. alles bij een computer is text based( nou ja 1 en 0).. En als dit gedecodeerd is zal het er waarschijnlijk aardig logisch uitziet voor de programmeurs onder ons ;)

Ja, dat wist ik ook...
Maar hoe decodeer je zoiets ?

Een stukje omhoog heb ik gereageerd. Het is een encryptie.. :)

Het is niet echt een encryptie, meer een codeerwijze. Je hebt namelijk geen sleutel nodig om de informatie te ontcijferen, maar alleen een algoritme.

ik dacht dat base64 hashing was? :+ ;)

Hashing is volgens mij 1-way; je kunt eenvoudig het hash algoritme op een bericht toepassen, maar het oorspronkelijke bericht terughalen vanuit een hash is ontzettend moeilijk.

En meestal geldt ook dat als de twee hashes aan elkaar gelijk zijn, dat de twee berichten van de hashes ook aan elkaar gelijk zijn. Tenzij je een collission hebt.

[Reactie gewijzigd door onox op vrijdag 14 augustus 2009 23:47]


Hashing = controle, Codering = Beveiliging van data bijv. dus met de mogelijk om het terug te halen :)

Er zijn hier zo te zien een aantal mensen die niet weten wat Base64 is...

Het is een manier om binaire data te verpakken in tekst (de ASCII character set).

Het is geen hashing mechanisme.

en hoe denk je dat een executable eruit ziet precies gewoon text.. alles bij een computer is text based( nou ja 1 en 0).. En als dit gedecodeerd is zal het er waarschijnlijk aardig logisch uitziet voor de programmeurs onder ons ;)
Binair (0 en 1) is voor mij niet hetzelfde als text based. Een tekstbestand in de simpelste vorm (ascii-codering) gebruikt één byte per teken. Iedere 8 1'en of 0'en vormen dus een karakter. Nu is het alleen nog iets complexer dan dit. In principe zou je met ascii ruimte moeten hebben voor 2^8 = 256 karakters, maar niet alle karakters zijn geldige tekst. De byte 00000111 staat bijvoorbeeld voor een piepje met de speaker van de PC, geen geldige tekst dus. Binair 0001000 is de backspace. Al deze karakters/bytes kun je met geen mogelijkheid op Twitter posten.

Het wordt allemaal nog veel ingewikkelder als je er rekening mee houdt dat Twitter ook gebruikt maakt van speciale tekens, zoals de "é", de "ç", etc. Deze passen niet in de reeks van 256 mogelijke karakters en moeten dus op een andere manier worden gecodeerd. Een veelgebruikte methode is UTF-8, waarbij een teken zowel 1 als meerdere bytes kan bezetten.

Kortom, een executable omzetten naar een tekstdocument kan niet 1 op 1.

De gehele executable posten als 1'en en 0'en in gewone tekst levert een gigantische inefficiëntie op. Hetzelfde geldt in mindere mate voor het plaatsen op Twitter in Hex. Base64 bestaat niet voor niets.

[Reactie gewijzigd door doeternietoe op vrijdag 14 augustus 2009 19:31]


wel als het proces van decoderen van tekst weer binaire code maakt. Vervolgens plemp je (door een programmeeroutput) de binaire info achter elkaargeplakt in een textbestandje. Dat bestandje is dan geen tekst meer maar binair. Dan hernoem je het bestandje naar *.zip. Het binaire bestand kan daarna gewoon uitgepakt worden.

"Base64 is een manier om binaire code te converteren naar ASCII-tekens" - direct vanuit de wiki. En tekst is verrassend genoeg... Ascii tekens.

Wat ik (als ik de bot zou zijn) zou doen is het volgende: Ik verzamel alle tekstjes (tweets). Ik plak ze op basis van tijd (volgorde!) aan elkaar. Dan krijg ik een lap tekst. Deze lap decodeer ik en voed ik aan mijn unziproutine. De uitkomst van deze unziproutine blijken twee bestanden te zijn, die ik vervolgens op de gewenste (zie zipinfo) positie wegschrijf. Vervolgens ga ik gewoon lekker verder met botje spelen...

Wat ik (als ik de bot zou zijn) zou doen is het volgende
Je omschrijft gewoon 1 op 1 dat wat de bot doet hoor.

en hoe denk je dat een executable eruit ziet precies gewoon text.. alles bij een computer is text based( nou ja 1 en 0)
Nee, een executable ziet er niet uit gewoon tekst en bij een computer is niet alles "text based"...

Hoe doe je zoiets ? Lijkt me behoorlijk hard om uit een regeltje text executables te halen...
Zoals in het bericht staat, met base64-codering. Dat gaat ongeveer als volgt:
- Een executable bestaat uit 1'en en 0'en, de bits. Je knipt deze in groepjes van 6 bits.
- Elk groepje van 6 bits vormt nu een getal, voor het gemak zou je het eventueel om kunnen zetten in een decimaal (tientallig) getal.
- Base64 heeft 2^6 = 64 tekens, waar allemaal een nummertje aan hangt. a = 0, b= 1, c= 2, etc Voor ieder getal dat zojuist is gevonden wordt zo'n teken toegewezen.
- Al deze tekens naast elkaar vormen een base64-encoded stuk tekst, dat op dezelfde wijze in omgekeerde volgorde weer gedecodeerd kan worden

Op wikipedia wordt het ook vrij goed uitgelegd:
http://nl.wikipedia.org/wiki/Base64

[Reactie gewijzigd door doeternietoe op vrijdag 14 augustus 2009 19:31]


Echt onopvallend is het ook weer niet :9

Als ik het zelf ff decode kom ik uit dat het bovenste bericht iig http://bit.ly/17a3tS zegt. Die link wijst weer naar http://rifers.org/paste/content/paste/9509/body?key=upd4t3 . Ik durf alleen niet die site te bezoeken, zal wel niks goeds zijn ^^

[Reactie gewijzigd door teuneboon op vrijdag 14 augustus 2009 19:12]


Heb ff gekeken. Je word doorverwezen naar http://rifers.org/paste/content/paste/9509/body?key=upd4t3 Daar krijg je weer een encoded iets te zien, waarschijnlijk die file.

edit:
Het is idd een base64 encoded file, als ik die uitpak krijg ik de gbpm.dll en gbpm.exe files.

[Reactie gewijzigd door IngmarBlonk op vrijdag 14 augustus 2009 19:16]


Jup, net toch maar even verder gekeken, ook die pagina die je krijgt is inderdaad encoded, en dat is weer een bestand met daarin die files

Waarschijnlijk de code die het botnet runt :) ... Het proberen waard om eens door een hex editor heen te gooien, om te proberen het te decompilen of onder VMware te draaien en kyken wat het doet :)

achter die link zit gewoon een soort online clipboard pagina met nog zo'n reeks willekeurig lijkende tekens(vast ook gecodeerd)


Voorop, ik ben ook geen twitter voorstander, doch dit is gewoon een willekeurige tak zoeken om erop te kunnen slaan.

Als je dat Twitter account bezoekt, is er niks aan de hand. Je moet sowieso al geïnfecteerd zijn voordat de boel op Twitter jou (extra) schade kan berokkenen. Er wordt hier alleen misbruik gemaakt van een medium om niet traceerbar toch nieuwe commando's aan de geïnfecteerde computers te kunnen geven, wat anders via een (eigen?) server moet die beter traceerbaar is.

Jouw reactie hier is dus niks anders dan een troll op Twitter, en een nog ondoordachte ook.

Leg eens uit? Gebruik je dan ook geen mail, irc, etc etc. ? Twitter is puur gebruikt om besmette computers een opdracht te geven. Dit kan ook op andere manieren maar deze keer is het twitter.

Om dat je base64 encoded messages tegen kan komen ;)?

*zucht*

Wat ik nu nooit snap is dat haten op twitter, en dan hier wel ff een kort berichtje posten zoals mensen met meer fatsoen dat op twitter doen (en tot daar beperken).

Met twitter hoef ik je niet te volgen. Hier op Tweakers is er een (of meer) moderators die het met je eens zijn, helaas.

[Reactie gewijzigd door J.J.J. Bokma op vrijdag 14 augustus 2009 19:41]


Omdat we al genoeg zooi op het internet hebben en veel mensen niet in zien wat mini berichtjes plaatsen over elk klein ding dat je doet voor nut heeft, sterker nog dat schaad de privacy van die mensen maarja ze doen het zelf, van elke twitteraar kunj wel uit zoeken waar die z'n boodschappen doet, z'n hond uit laat, hoeveel stappen die daar over doet, hoe vaak z'n hond gepoept heeft, wat voor kleur dat had, hoe z'n haar die dag zat en ga zo maar door, echt belachelijk.

Hyves vind ik tot daar aan toe wat je daar in deelt maar twitter is helaas een hype geworden en een gigantische inbreuk op privacy IMHO.

En wie bepaald dat, dat we genoeg zooi op Internet hebben? Voor een deel van de mensen is Tweakers, en zeker de loze reakties, ook zooi....

En privacy? Of nu iemand blogt over zijn hond, of dat op twitter doet, zal mij een worst wezen. Ik *hoef* het niet te lezen. Ik draai al wat langer mee, en jouw klachten heb ik gehoord over email, Usenet, IRC, Internet, websites, blogs, forums, en nu twitter. Er is altijd een groep mensen die er het nut niet van inzien. Als het daar nu bij bleef, nee, ze willen dat ook nog eens voor anderen bepalen.

Ik zit ook op twitter, en om eerlijk te zijn, het is ook iets waar ikzelf het nut niet van in zie voor mijzelf (mijn site/blog heeft ca. 10,000 dagelijkse bezoekers, en op twitter heb ik een handvol volgers :D ). Maar ik zie vrienden/vriendinnen die er plezier aan beleven. En dat is toch het belangrijkste? Als mensen er plezier aan beleven? Als het inderdaad een hype is, waait het vanzelf weer over, en heeft het dus geen zin om je er over op te winden (vind ik).

In principe breukt twitter niks in op mensen hun privacy, aangezien ze helemaal niet informatie over mensen ergens vandaanhalen (zoals Google bijvoorbeeld soms wel kan), maar mensen posten het zelf. Ik vind het eerder een omgekeerde 'uitbreuk' van privacy, er zijn miljarden mensen die helemaal niet willen weten wat miljoenen mensen precies aan het doen zijn. Twitter is TMI. Dus gebruik ik het niet.

Dat je 't effe weet: op tweakers kun je ook op deze manier bestanden plaatsen.

Iemand nog een spannend isootje nodig? Ik begin vast =D
U2hpdCwgZ2VlbiBJU08sIGdld29vbiBwbGF0dGUgdGVrc3Qu

Nu heb ik je wachtwoord :Y)

Maar echt efficiënt is het niet ;)

Shit, geen ISO, gewoon platte tekst.

En ik dacht al een link te krijgen :(

Klinkt bijna alsof dit uit de film komt :)

Welke film?

Twitter II: Electric Boogaloo.

Lord of the Tweets.

Deel 2 ;)

Twitter: Back To Base64

De allereerste link uit de screenshot in het artikel is trouwens een weblink:
http://bit.ly/17a3tS

[Reactie gewijzigd door Grrmbl op vrijdag 14 augustus 2009 22:10]


Maar er staat dat hij er per ongeluk achterkwam, hoe kom je in vredes naam daarachter en hoe kom je op het idee om het is te decoden? :')

geen leven mischien???

oftwel, een security expert die per ongelijk op dergelijke tweets botst denkt automatisch: laten we eens kijken wat het is.

Op het moment dat je (herkenbare) jibberish tegenkomt misschien?

Twitter wordt gebruikt voor korte berichtjes - op het moment dat die geen berichtjes bevatten maar herkenbaar geencodeerde data zou er wel eens een belletje kunnen gaan rinkelen...

En als je daarna verder gaat zoeken en de tekst wel heel erg veel karakteristieken van base64 tegenkomt, dan zou je wel eens kunnen gaan proberen om de boel te decoderen...

Als je daarna een PK-header in de tekst tegenkomt, dan zou het wel eens (PK)ZIP formaat kunnen zijn en wat die je met een ZIP???

Tussen de grootste uitvindingen zitten een hoop "ongelukken", deze zaken kom je dus ook per ongeluk tegen. Ik zou er niet veel naar zoeken uit te weinig interesse, voor deze meneer is het zijn beroep en waarschijnlijk ook zijn hobby.

een simpele manier om van dit soort base64 coderingen op te sporen is twitter-pagina's af te zoeken met waarin meerdere berichtjes staan die eindigen op "==".

Als je vaker met base64 in aanraking komt, en je twittert toevallig, en je herkent vaag een soort van base64 in de string... ja dan kun je er bij toeval achter komen dat het om een bestand gaat. Veel dll's beginnen trouwens met "MZ", open maar eens een dll in notepad ofzo. Zo kun je dan met toeval zien dat het weleens een deel van een dll kan zijn. Het is vreemder dat mensen op het idee kwamen om koffiebonen die uitgepoept zijn door een of andere beest genaamd luwak, en daar koffie van trekken 8)7

@Vultura, hee interessant, dat wist ik nog niet. Mja, toen konden dat soort geintjes nog ;)

[Reactie gewijzigd door Grrmbl op zondag 16 augustus 2009 14:40]

«  1  2  »

Op dit item kan niet meer gereageerd worden.

Volgende 19:42 MSI introduceert nieuwe gamenotebook
Vorige 17:25 Club3D introduceert 'groene' grafische kaarten
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011