Labels

dinsdag 21 augustus 2012

Source code of Management System used for Dorifel/Citadel

I stopped publicizing my findings on the Dorifel/Citadel servers because most of my goals have been achieved and because people started messing with my findings. (Logging in on people's bank accounts, spoiling their privacy etc)

But since other company's are still on the hunt I'd like to share some interesting information with them.

Here's the source code of the management system. It manages the donkey/money mules, exploits, sellers, infections and browser versions.. It gives you an insight of the database structure and file structure, which can be of great value in further investigation.



Source code can be downloaded here. 

vrijdag 10 augustus 2012

Complete details of the Dorifel servers, including its 'master' server in Austria


Below are my findings of the two servers used in the (targetted) attack mainly taking place in the Netherlands.

We have 2 server setups that are close to identical, their ip-adresses are:
184.22.103.202 (Domain: reslove-dns.com)
184.82.162.163 (Domains: 10ba.com, windows-update-server.com, wsef32asd1.org, dns-local.org)
Both are hosted within AS21788

From now on I consider both IP-adresses as one server. Or both IP-adresses as a proxy.

Both have the following ports open:
PORT      STATE    SERVICE              VERSION
22/tcp    open     ssh                  OpenSSH 5.5p1 Debian 6 (protocol 2.0)
80/tcp    open     http                 nginx 0.7.67
111/tcp   open     rpcbind (rpcbind V2) 2 (rpc #100000)
545/tcp   open     http                 Apache httpd 2.2.16
2407/tcp  open     http                 Apache httpd 2.2.3 ((CentOS))
2408/tcp  open     http                 Apache httpd 2.2.3
41666/tcp open     status (status V1)   1 (rpc #100024)

The SSH-keys are:
 | ssh-hostkey: 1024 c6:2f:e9:64:2c:ac:27:77:ed:da:60:a2:da:46:1f:fb (DSA)
 |_ 2048 e9:97:b5:d7:7d:01:f2:03:7b:9f:22:4c:a0:eb:a9:a5 (RSA)
Googling both of them brings up this page, prompting us with another IP-adres and domain name to investigate: 184.22.62.88 with the domain passget.com (date: 2011-10-26 04:22). This time SSH on port 222 is used instead of 22.

Directory listing of 184.22.103.202 and 184.82.162.163 (nginx/0.7.67 PHP/5.3.3-7+squeeze13):
/index/
/icons/
 |_/small/
/www/
 |_/images/
 |_/secure/ (Fragus login)
       |_/files/ (virus binaries)
               |_23 (Virustotal)
               |_24 (Virustotal)
               |_25 (Virustotal)
               |_26 (Virustotal)
               |_27 (Virustotal)
               |_28 (Virustotal)
               |_29 (Virustotal)
               |_30 (Virustotal)
               |_31 (Virustotal)
               |_32 (Virustotal)
       |_/templates/
               |_/english/ (Fragus login)
/web/
 |_/mak/
/doc/
/cgi-bin/
/img/
/uk/
/jump/
/ssl/
 |_ /milk/ (phpMyAdmin)
 |_/billk/
/bl/
/gl/
/ppp/ (password login)
 |_/css/
      |_/css/
      |_/ajax/
 |_/img/
 |_/data/
 |_/install/
      |_/install/
 |_/temp/
      |_/stat/
      |_/options/
      |_/temp/
      |_/config/
 |_/script/
      |_/script/
 |_/ppp/
      |_/bd/
      |_/card/
      |_/bot/
      |_/priv/
      |_/del/
      |_/c2txt2c/
      |_/virustxt/
      |_/govtxt/
      |_/xls/
      |_/searchform/
      |_/convertxtodvd/
      |_/intellitxt/
      |_/1txt1/
      |_/search_txt/
      |_/pictlogotxt110x60/
      |_/1txt2/
      |_/1txt3/
      |_/login_txt/
      |_/customnews_txt/
      |_/password_txt/
      |_/robots-txt/
/ver/
/vox/
/mak/
/server-status/

3 interesting finds here. Apparently Fragus is used for administratering the bots. Screenshot of the login:

phpMyAdmin is used with only 3 languages installed (en-US, en-UK, ru-RU), screenshot below:

And the last one is a login with only a password field, screenshot below:

A complete backup of the files can be found here: http://www.sendspace.com/file/ak8q2f
But please remember everything is full of virusses, so be carefull.

I will keep updating this blog.

Update 0:18:
Pretty fast after posting this blog both IP-adresses stopped displaying any html messages. Eventhough the servers themselves are still up. Which is an indiction of them just being proxies.

Update 2:12
Discovered that these 3 domains once pointed to this same server, google has some good cache pages:
handicaptaskprint.info (Registrated 10/7/2012) 149.154.154.47
intermediatedefragger.info (Registrated 26/7/2012) Undefined
onesizefitsallnik.info (Registrated 10/7/2012) 149.154.154.47

Here we have just one ip-adres 149.154.154.47 which once hosted the domain: lertionk13.be
This domain was registrated by: Elsakov Oleg using email adress thefirstweek@yandex.ru.
The name Elsakov Oleg points to yet another domain, bank-auth.org. Which has an A record pointing to: 158.255.211.28.
These 2 domains are connected to the "Police Trojan". More details here: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp_police_trojan.pdf

If you look closely at the files and types of malware used by this gang, you'll see everything matches. They make the same directory listing mistakes over and over, and use exactly the same files. So this can be considered their fingerprint.

The gang registrated a certificate for https://bank-auth.org on the 1-8-2012. So they are probably planning to do something valuable with the website, which is running the default installation at the time being.
Update:
Oh well, I think we pretty close to the source now.
Lets get further into investigating this bank-auth.org domain. It resolves to: 158.255.211.28.
Once we investigate this machine further this is the first thing to pop-up: Apache/2.2.16 (Debian) Server at 158.255.211.28 Port 80.
That same Apache version with Debian again. I don't know why they use this version all the time, but one thing is for sure, they don't know nothing about directory listing, so I'm mirroring their site again....
And because this time I have ALL the logs, I'll make sure the right people receive them aswell!
I will upload a mirror of the site later. The admin passwords included.


I've made an online backup of the admin panel here, with all the original data.
This could be the IP-adress of the russian owner: 188.187.144.152. Not sure though. But this 'person' is also known as Ozgur Morkan and according to it's IBAN number he's from Turkey. If we look at this page we'll see the Russian IP-adres 188.187.144.152 involved in another kind of scam, this time the owner is known as Olga: http://www.anti-scam-forum.net/showFullThread_1288628426.htm

Further investigation reveals that the https://bank-auth.org domain with its valid certificate is used for the injection of malicious code within the victims browser. Several warning messages shows the criminals are no native speaking Dutchies:

Om technische redenen, het internet bankieren dienst is tijdelijk niet beschikbaar, gelieve in te loggen in 24 uur
Since the files found on the server are all in Dutch, the Dorifel compaign can be considered a targetted campaign against The Netherlands. Its a good example of the capabilities of Citadel, which was used to spread Dorifel.

Directory listing of https://bank-auth.org:

/
/index/
/cgi-bin/
/7/
/icons/
/www/
/p/
 |_dns.php
 |_ing.php
 |_ing2.php
 |_jys.php
/ca/
 |_/admin/
/javascript/
/inc/
/abc/
 |_inc.php
 |_sig1nl
 |_sig2nl
 |_sig3
 |_waitnl
/phpmyadmin/
 |_/themes/
/ing/
 |_inc.php
 |_tan1.txt
 |_wait
 |_wait.txt
/sns/
 |_WARNING.txt
 |_inc.php
 |_sig1
 |_sig1.txt.crypt
 |_sig2
 |_sig2.txt.crypt
 |_sig3
 |_sig3.txt.crypt
 |_wait
/abn/
 |_inc.php
 |_sig1
 |_sig2
 |_sig3
 |_wait

/rabo/
 |_WARNING.txt
 |_inc.php
 |_sig1
 |_sig1.txt.crypt
 |_sig2
 |_sig2.txt.crypt
 |_sig3
 |_sig3.txt.crypt
 |_wait

index.php
7.php
www.php
inc.php
sns.php
abn.php


ps.
I've been convicted for hacking already, never tried to steel a penny though. These guys have never been convicted. For me now it's very very hard in the security industry (Banks for example, is out of the question). Yet I stay on the right side. But thats probably because I'm such a bad bad boy!


woensdag 6 juni 2012

Why I think the Linkedin password file is fake

Well first of all, there is no connection to LinkedIn other then the suspected 'hacker' saying it is from LinkedIn.

There are 6.5 Million unique passwords in the file! LinkedIn has approx 160 Million registrated members, this means approx 25 people share the same password on average. This could indeed be true.
But then it means the 'hacker' has posted the password list of -all- LinkedIn members. And still many people confirm their password is -not- on the list.
For 6.5 million unique LinkedIn password just to many people are denying their password is on the list.

What people at this stage are doing is identifying themselves with a hashed sha1 password file. But identifying yourself with a password is of no means reliable. Verifying yourself with a password is. But this means you would first have to tell your name, and afterwards a password comparison is done.

So whenever a match with your password is found on the list, this doesn't mean it's YOUR password. It just means someone or some bot ever printed out that same password. Maybe you should try googling your password. Chances are pretty big it will bring you at least one hit.

At this stage I don't know in what way the file is compiled. The only confirmation we can make at this point is that the file contains words that match a 'strong' password policy.

And let's not forget, the chances your 'strong' password is in a 6.5 Million unique password file are pretty big. And yet so many people confirm they are -not- on the list...

Please remember, you are NOT your password.

ps.
Do we really think LinkedIn uses SHA1? Haven't their security specialists heared of the HBGary and Rootkit.com hack? SHA1 + salt is even considered weak.

The passwords "WelcomeToLinkedIn" and "LeakedIn" are not on the list. Was there really nobody able to make up one of those?


/edit
Ok, seems like I'm wrong. LinkedIn just confired that at least a part of the hashes corresponds. It isn't a full confirm, but suggests one will come soon.

Those tweets confessed me:
https://twitter.com/mrkoot/status/210352495602581505
https://twitter.com/spruceNL/status/210418946770337792
https://twitter.com/mrkoot/status/210416085483266048



GemNet vergeet certificaat te revoken

Op 8 December 2011 kwam in het nieuws dat een server van GemNet gehackt is. Vervelend nieuws, vooral omdat GemNet een certificaat leverancier is. In een persbericht laat KPN het volgende weten:

Daarbij wil KPN graag gebruik maken van de kennis en expertise die hiermee geboden wordt. KPN hecht er belang aan om de dialoog aan te gaan, zodat mogelijke gevoeligheden in systemen boven tafel komen. Vooral zo kan gezamenlijk een grotere veiligheidswaarborg voor internetgebruikers worden bereikt en de dienstverlening verbeterd.

Om die reden deze blog post. Zo is mij namelijk informatie toegespeeld die doet concluderen dan KPN enkele steekjes heeft laten vallen tijdens de damage control. De server voor www.gemnet.nl is direct offline gehaald en die hebben we dan ook niet meer terug gezien. Het certificaat (hieronder de private key) voor "www.gemnet.nl" is direct revoked.


Echter is men vergeten goed naar de server configuratie te kijken. Het certificaat voor "webchat.gemnet.nl" (hieronder de private key afgebeelt) was namelijk ook op deze server aanwezig en is door in ieder geval één aanvaller buitgemaakt. KPN heeft nagelaten dit certificaat in te trekken, waardoor deze geruime tijd in de handen van tenminste één hacker is geweest. Gezien het feit dat er meerdere sporen van meerdere hackers zijn aangetroffen, is deze mogelijk zelfs in handen van meerdere hackers geweest.


Het in bezit hebben van de private key van een certificaat is niet direct een gevaar. Om een succesvolle aanval met dit certificaat uit te voeren zijn meerdere niet direct praktische omstandigheden nodig. Maar het is zeker mogelijk, en zeker de certificaten van een certificaat leverancier zijn hierbij van zéér hoge waarde.
Hieronder is in het kort gedemonstreerd hoe een mogelijke aanval plaats zou hebben kunnen vinden. Waarbij de gebruiker denkt met GemNet te communiceren, terwijl dit niet het geval is.
Er is gebruik gemaakt van het certificaat voor webchat.gemnet.nl.

Bij een aanval moet te allen tijde de DNS gemanipuleerd worden. Dit kan door een host file op een systeem aan te passen (makkelijkst), de DNS servers van GemNet te hacken (moeilijkst + meest gevaarlijk), via DNS cache poisoning (meest waarschijnlijk) of op alle andere mogelijke manieren waarbij een MitM attack kan worden uitgevoerd. In dit voorbeeld is de host file aangepast.
Het certificaat is op server 192.168.81.132 geïnstalleerd.
Bij het slachtoffer systeem is in de hostfile de volgende configuratie toegevoegd:
webchat.gemnet.nl         192.168.81.132
De gebruiker opent de pagina webchat.gemnet.nl, en het onderstaande scherm zal verschijnen:


Hieronder een Youtube filmpje van deze aanval:


Ik heb dit probleem bij het NCSC aangemeld en KPN heeft direct dezelfde dag nog dit certificaat revoked. Later is besloten hierover te berichten op de eigen website, waarvoor hulde - hulde - hulde.

woensdag 9 mei 2012

Fuck up your Samsung TV

Inspired by all the awesome apps for Samsung TV's and by Luigi Auriemma his PoC to crash one. I started looking a little bit more to my own Samsung. Well a little bit more wasn't necesary at all. I quickly found that there is no filtering of any input at all and close to every string sent to the television will crash it. Here's an easy PoC for everyone at home.


Fire up your browser, enter the ip-adres of the Samsung TV with the correct TCP port: 55000, hit <enter>. Thats -seriously- enough to crash a Samsung TV. Have fun, don't forget to check out the wireless lan's at the pubs, bring your smartphone, but please don't spoil the games. ;) Any browser works.

vrijdag 6 april 2012

17-jarige KPN Hacker mogelijk flinke CreditCard Crimineel

Ik heb inmiddels wat blogposts en columns aan onze 17-jarige KPN hacker gespendeerd, en sommige hebben dit opgevat alsof ik ervoor pleite dat we deze knaap direct een baan moesten aan bieden en nooit moesten straffen. Dat is verkeerd opgevat, deze knaap moest sowieso op zijn plek gezet worden. Echter achtte ik de kans dat deze jongen een serieus forum voor de handel in creditcards had vrij klein, om zoiets goed te runnen heb je namelijk een goede constructie nodig..
Hier bleek ik me alleen enigszins in vergist te hebben, daar waar ik dacht dat de criminelen nog iets minder waren geïnfiltreerd in de hacker community blijkt dit sneller gegaan te zijn dan ik dacht. En met het huidige klimaat kan ik hierover alleen nog maar zeggen dat er ons een zware toekomst staat te wachten...
Naar aanleiding van het nieuwsbericht dat onze 17-jarige nog eens 30 extra dagen word vast gehouden begon het toch enigszins te kriebelen bij mij, en ik ben dus maar even snel gaan speuren. En dat had ik eerder moeten doen zo bleek, want het was niet heel moeilijk om een schat aan informatie te vinden over het CreditCard forum dat door onze jongen in bedrijf werd gehouden.
Website heette bablo.cc of yunikont.com.
De server draaide in Ukraine op ip adres: 195.242.161.95
Screenshot van de login pagina:
Google cache: http://webcache.googleusercontent.com/search?q=cache:JW5oBBhGjG8J:bablo.cc/+&cd=1&hl=nl&ct=clnk&gl=nl

En sinds januari dit jaar heeft onze knaap, die overwegend in "we" praat, er een flink campagne tegen aangegooid. Duidelijk uit alle berichten is dat de persoon meerdere creditcards verkocht heeft, en duidelijk ook zelf ervaring heeft in het gebruiken van gestolen creditcards.
De site bestaat al 11 maanden, echter lijkt deze pas sinds januari echt flink actief als een carders forum. Echt lang heeft meneer er dus niet van kunnen genieten.




En hoewel de knaap vooral in we spreekt, lijkt het erg vreemd dat 'we' allemaal tegelijk op vakantie gaan:

Enige vreemde is dat het Openbaar Ministerie beweert de jongen op dinsdag 20 maart gearresteerd te hebben. Echter lijkt hij op 21 maart nog gewoon een post gedaan te hebben op dit forum. GMT vershil? Of zal deze post direct aanleiding geweest zijn binnen te vallen?

Arrest van de knaap is dus inmiddels met 30 dagen verlengt, en dat lijkt volkomen terecht. Hopelijk krijgt hij goede begeleiding wanneer meneer weer vrij komt.

//UPDATE
Enige rectificatie in het stuk aangebracht, daar nog altijd geld "Innocent until proven guilty". En zeker ook vanwege het laatste screenshot, waar reclame is gemaakt voor bablo.cc terwijl onze 17-jarige al in het gevang zat.

zaterdag 31 maart 2012

COLUMN: de 17 jarige ubercrimineel en zijn KPN hack

17 jaar is hij. En minimaal 17 dagen cel heeft hij op zijn naam staan. Dat is niet niets voor een minderjarige. Kijkende naar zijn reeds opgelegde celstraf hebben we hier te maken met een groot crimineel. Een jongen die ervoor kon zorgen dat klanten van KPN het noodnummer 112 niet meer konden bellen. Een jongen die bij de gegevens van alle KPN klanten kon. Een jongen die mogelijk de nationale veiligheid in gevaar heeft gebracht. Een jongen die verantwoordelijk was voor de hoogste alarm fase bij KPN ooit, Code Rood.Het was een jongen die van geen ophouden wist, hij ging maar dieper het netwerk in, dieper en dieper. Het begon met 1 server, maar uiteindelijk wist hij honderden servers te hacken. Op al deze servers had hij zichzelf de hoogste beheerdersrechten toegekend. Als 17-jarige controle hebben over het bedrijf KPN, controle hebben over een groot gedeelte van Nederland. Sterker nog, de levens van mensen die met spoed 112 willen bellen, liggen in jouw handen, jij kunt bepalen of ze mogen bellen of niet. Wat een machtig gevoel moet deze jongen gehad hebben, en dat op die leeftijd.

Een kind kan de hack doen
Vooropgesteld moet worden dat deze jongen de wet overtreden heeft en hij hiervoor gestraft dient te worden, zo werkt onze rechtsstaat nu eenmaal. Maar laten we niet vergeten dat als een kind dit soort systemen binnen kan dringen, je je toch wel af moet gaan vragen wat een volwassene dan wel niet kan. Om even verder te gaan, wat kan een groep hacktivisten dan wel niet, wat kan een groep ‘echte’ hackers dan wel niet, een terrorist? Een insider? Of … Iran?

Zelfs Officier van Justitie Lodewijk van Zwieten zegt in het NOS journaal dat men nog niet achter het motief van de jongen is. Na intensief verhoor van een minderjarige verdachte is men er dus nog steeds niet in geslaagd om zijn beweegredenen op tafel te krijgen. Is het misschien een idee om hem te gaan waterboarden? Bij moordzaken word je zonder motief niet eens als verdachte aangemerkt. Dit beseffende kunnen we wel stellen dat we te maken hebben met een jongen met een passie. Hij wil hacken, meer en meer. En hij doet dat goddomme nog goed ook! Het is de pen-testers blijkbaar niet gelukt deze pijnplekken op tafel te leggen. Deze 17-jarige had een paar dagen nodig om het complete netwerk naar zijn hand te zetten. Alle strikte security policies en audits van KPN ten spijt.

ns1.kpn.net op IRC
Zijn wij nu allemaal de volwassen moraalridders die onze pubertijd ontgroeid zijn en wel even van dit pubertje kunnen eisen dat hij zich ethisch gedraagt en een dergelijke hack keurig gaat melden? Kunnen we dat nou echt eisen van een jochie waarbij sinds kort allemaal hormonen door zijn aderen gieren? Wat valt er nu te winnen voor een puber om zo’n hack te melden? Het melden van een lek heeft alleen maar nadelen. Een aangifte aan je broek is niet zeldzaam, eerder aannemelijk. Je zult er geen cent mee verdienen, dat is het de bedrijven niet waard. Er is geen enkele manier om aan je vrienden te bewijzen wat je gedaan hebt, downplayen is de regel. Je bent al je servers kwijt. Kortom, je staat weer met compleet lege handen. Wat wel mooi is als puber: de ns1.kpn.net jouw favoriete IRC-kanaal te laten joinen. Wedden dat je chat matties even twee keer slikken als deze reus van een machine het chat kanaal joint? Zij zullen je nu ineens met heel andere ogen bekijken. Voor een nerd is het in ieder geval een stuk stoerder dan met je opgevoerde scooter het schoolplein op te rijden, dat vol staat met jochies waar je eigenlijk sowieso al geen klik mee had.

Nu we toch over volwassenheid zijn begonnen, in hoeverre kunnen we KPN als volwassen beschouwen? Is KPN niet een beetje de puber binnen ICT-land? Met hun software op cruciale systemen die niet geüpdate wordt. Cruciale systemen die zelfs een wettelijke verplichting hebben hun diensten te allen tijde uit te voeren. En zelfs die systemen weet men niet up to date te houden? Kunnen we dan niet gewoon spreken van een kleutertje? Iemand die het gehele IT-model niet snapt? Zouden ze wel eens van een penetratietest gehoord hebben? Intrusion detection? of misschien zelfs gewoon firewalling? Of heeft KPN dat niet nodig? Zijn zij dat volwassen bedrijf die al dit soort maatregelen niet nodig heeft?

Zorgplicht en de wet
Op wie worden we boos wanneer een arts weigert een comazuipende tiener te helpen? Artsen hebben simpelweg zorgplicht. En een arts die een patiënt aan zijn lot overlaat, zal worden vervolgd. De tiener kan niets kwalijk worden genomen, want comazuipen hoort er nu eenmaal bij. Een systeembeheerder die systemen beheert waarvoor wettelijke richtlijnen gelden, hoeft zich nergens zorgen om te maken. Immers: alles is via de wet geregeld. Waarom zou je je überhaupt druk maken over updaten op het moment dat binnen dringen sowieso strafbaar is. Sterker nog, we verhalen de schade gewoon direct op deze knaap. Hij is immers de persoon die de wet heeft overtreden, niet ik, toch?

Het bedrijfje DigiNotar kennen we allemaal nog wel. De club die ervoor gezorgd heeft dat de Iraanse overheid met al zijn burgers mee kon gluren, de club die op die manier mogelijk bloed aan zijn handen heeft. Gelukkig hebben we de cijfers niet, maar een arts die zoveel slachtoffers maakt, zal direct worden aangeklaagd voor grove nalatigheid. Daar zal niemand over twijfelen. Bij DigiNotar komt er slechts een keurig rapport waaruit blijkt dat er grove nalatigheid betreffende de beveiliging is geweest. En daar laten we het dan maar weer bij.

Tot 900.000 botnet-pc’s in Nederland
Op dit moment maakt 5 tot 10 procent van de Nederlandse pc’s deel uit van een botnet. Dat zijn 450.000 tot 900.000 pc’s. Afgelopen jaar werd er in Nederland voor 35 miljoen euro van online bankrekeningen gestolen. Onze 17-jarige knaap had een forum opgezet voor de handel in creditcards, maar denken we nou echt dat deze jongen verantwoordelijk is voor de distributie richting de money mules? Is het realistisch om te denken dat een 17-jarige weet hoe je miljoenen euro’s moet witwassen? Is er überhaupt iemand die denkt dat deze persoon ooit succesvol hierin was geworden? Een ding is in ieder geval zeker, in de cel leer je echte criminelen kennen. En eenmaal buiten de gevangenis weet men je helemaal direct te vinden. Als toefje op de taart leert onze politie je dat opscheppen niet veel goeds brengt, en dat je je truecrypt wachtwoord voortaan niet moet afgeven tenzij je je systeem met plausible deniability hebt ingericht. Gelukkig ben je bijna 18 en heb je weer snel een kans om het nu wel goed te doen.