Wednesday, June 4, 2014

Blackshades-käyttäjän jäljitystä

Tuossa jo jokin aika sitten tuli vastaan tapaus, jossa erään ympäristön käyttäjille alettiin tuputtaa linkkiä jar-päätteiseen tiedostoon. Jar-tiedosto (Java ARchive) on siis Java-ohjelmointikielestä tuttu tiedostotyyppi, johon voidaan pakata tarvittavat resurssit ohjelman suorittamiseksi.

Epäilykset heräsivät saman tien kuultuani tiedostosta, sillä kohdeyleisö ja tiedostotyyppi eivät osuneet oikein yksi yhteen. Taas toisaalta kohdeyleisö saattoi olla sopiva tällaiselle kokeilulle. Lähdettiin oletuksesta, että jaettu tiedosto voisi olla haitallinen.

Aloin tutkailla jar-tiedostoa hieman tarkemmin. Yllätyksenä ei tullut, että sen sisältä ei löytynyt mitään kivaa. Tai no, miten sen nyt ottaa.

Puretusta jar-tiedostosta kävi ilmi, että sen tarkoitus oli ladata toinen tiedosto (exe-tiedosto) ja suorittaa se automaattisesti. Exe-tiedoston suoritus ei näy käyttäjälle. Kuvasta 1 on huomattavissa, että vain kaksi virustorjuntaohjelmistoa havaitsi jar-tiedoston haitalliseksi.


Kuva 1. Jar-tiedoston skannaus.



Syynä tähän oli se, että mm. osa merkkijonoista muodostettiin kokonaisiksi vasta jar-tiedoston suorituksen aikana (kuva 2). Haittaohjelmien tekijät luonnollisesti pyrkivät käyttämään erilaisia kikkoja, jotta virustorjuntaohjelmistot eivät tunnistaisi haitallisia tiedostoja.


Kuva 2. Merkkijonojen muodostamista.






Jar-tiedoston lataama exe-tiedosto tunnistui haitalliseksi paremmalla prosentilla (kuva 3):


Kuva 3. Exe-tiedoston skannaus.



Kun haittaohjelma oli asentunut tietokoneelle, otti se yhteyttä C&C-palvelimelle. Suurena yllätyksenä tuli, että kohde-ip-osoite oli suomalainen. On tyypillistä, että C&C-palvelin sijaitsee ulkomailla tai liikenne kierrätetään ulkomaiden kautta, jotta jälkiä saadaan häivytettyä ja C&C-palvelimen alasajo olisi vaikeampaa.

Haittaohjelman levittäjä siis mahdollisesti ajoi C&C-palvelinta kotoaan tai saastuneen, Suomessa sijaitsevan tietokoneen kautta.

Exe-tiedosto oli koodattu Visual Basic 6 –ohjelmointikielellä ja sitä tutkiessa kävi pian selväksi, että kyseessä oli Blackshades commander -haittaohjelma. Kyseessä on ns. RAT (Remote Administration Tool), joita markkinoidaan yleensä ”etäkäyttöohjelmistoina”. Tämän version kohdalla mainostettuja ominaisuuksia on mm. Bitcoin-lompakon "palautustoiminto" ja mahdollisuus haittaohjelman jakamiseen Facebookin kautta.

Haittaohjelman levittäjälle oli kuitenkin käynyt paha moka. Exe-tiedostoon oli jäänyt hänen tietokoneeltaan tietoja, joiden perusteella epäillyn henkilön jäljittäminen voisi olla mahdollista.

Muutamien hakutuloksien jälkeen, kasassa oli jo melkoinen määrä tietoa epäillystä henkilöstä. Löydetyn tiedon perusteella pystyi jo vetämään osittain johtopäätöksiä levittäjän henkilöllisyydestä.

Kuvassa 4 on Blackshades commander -haittaohjelman hallintapaneeli, jossa on esiteltynä saastuneiden koneiden satoa.


Kuva 4. Hallintapaneeli (haittaohjelman levittäjän kuvankaappaus).

Henkilö harrasti myös kaupankäyntiä. Tarjolla olisi ollut parilla kympillä useampia botteja eli valmiiksi saastuneita tietokoneita. Erikoisuutena kaupassa oli se, että saastuneiden tietokoneiden käyttäjät olivat kaikki naispuolisia, suomalaisia henkilöitä ja osalla heistä oli myös web-kamera (kuva 5).


Kuva 5. Myyntikohteita (haittaohjelman levittäjän kuvankaappaus).

Tarjonta ei loppunut tähän. Pelitilejä oli myynnissä kymmenittäin eri alustoille hyvin edullisesti. Pelitilien myyminen taitaa yleensäkin olevan käyttöehtojen vastaista esim. Steamissa ja suuri volyymi sekä todella halvat hinnat eivät anna kovin rehellistä kuvaa kaupanteosta. Myyjä mainitsi itsekin, että ei ota vastuuta siitä, mitä hänen myymilleen pelitileille tapahtuu kaupanteon jälkeen.

Ilmeisesti myös palvelunestohyökkäykset olivat välillä tarpeen. Henkilöllä oli jäsenyys ns. ”stresser”-sivustolle, josta pystyi maksua vastaan tilaamaan palvelunestohyökkäyksen haluamalleen sivustolle. Mitä enemmän jäsenyydestä maksat, sitä pidemmän ja tehokkaamman palvelunestohyökkäyksen saat tilattua. Kuvassa 6 on esitelty erään stresser-palvelun tarjontaa. Kyseinen sivusto ei liity tapaukseen.


Kuva 6. Stresser-palvelun tarjontaa.

Stresser-sivustolta saaduista tiedoista kävi ilmi henkilön aikaisemmin käytössä ollut IP-osoite. Kyseinen IP-osoite antoi viitteen samaan maantieteelliseen sijaintiin kuin haittaohjelman käyttämä C&C-palvelimen IP-osoite ja henkilön asuinpaikkakunta.

Henkilö oli käyttänyt samaa sähköpostiosoitetta useassa paikassa, jonka perusteella asiaan saatiin lisävarmistusta. Myös muita todentavia yksityiskohtia löytyi, joiden perusteella henkilöllisyys varmistui.

Kyseinen henkilö ei näytä olleen kohteena viimeaikaisessa Blackshades-ratsiassa.

Sunday, March 2, 2014

Nokia Bug Bounty - Hacking Internet Radio Stations

Nokia Internet Radio software was released years ago for Symbian platform of Nokia mobile phones. If you’d Symbian smartphone, you might be familiar with this software. Or at least you’ve probably seen it on the menu because it was pre-installed on some models.

The software is used to listen different radio stations which are provided by broadcasters. The radio stations can be browsed by genre, language and country. To make it possible for the broadcasters to edit their stations, there is a website located in irbcast.nokia.com for that purpose.


Source

After a quick look into the website, I noticed I’m able to remove any station from the service just by changing the id of the radio station in the request. This kind of vulnerability where authorization of the user to the requested object isn’t ensured is resulting in ”Insecure Direct Object Reference” flaw and by that to privilege escalation.




Also it was possible to change details like description and genre of any radio station. At this point it was quite clear that there is probably no authorization check implemented on the edit functions at all.

I was interested in to see if an account could be captured by using this flaw. This means that the id of the broadcaster (victim) is needed, so we can make changes to the right account. The search function on the site was very helpful. After finding the target with the search function and opening source code of the search result, the needed id was found to proceed.




Next victim’s technical email address was changed to our own one by changing the victim's id to the request and ”forgot password” function was used for the victim’s account. The password reset link was received to our own email address and the password was reseted. On the login screen I realized I haven’t got the username of the victim and it isn’t mentioned anywhere on the site. So the only way would be to guess it (like the name of the radio station as an example). Meh.

Even though a full account capture wasn’t possible, technically I had very wide access to the victim’s account. And well, deleting all of the radio stations from the whole service wouldn’t had been a big task.

Exploiting insecure direct object references is very easy and the results can be very bad.


Timeline:
1.7.2013 – The issue was reported to Nokia security
1.7.2013 – I got a human response in a one minute that the report is being forwarded
1-2.7.2013 – Edit functions were disabled on the website
9.7.2013 – Comrade Sintsov from Here dropped a message that the issue has been fixed and I’ll get Lumia 820 as a reward.