securitybananas.com

Security news from all over the world

Archive for the 'Bananas' Category

Iphone ringtones easy to download

Disclaimer: For educational use only, stealing is against hte law. This article is not mentioned to talk negative about Apple. (any iPad donation for further research is welcome)

As I was researching the iPAd/iPhone-security features and sniffing traffic from the apps, I discovered something that could be misused. When you visit the Itunes online store, you can listen to songs and/or ringtones. All songs and ringtones have 30 seconds preview. Ringtones don’t last 30 seconds.

To preview traffic from my iPad and iPhone I created a sniffing environment:
- Wifi gateway to the Internet
- laptop with Paros proxy running on a local ip-address port 8080
- iPad and iPhone connected to Wifi Gateway through Paros Proxy

When I select a ringtone and preview it, following reguest is made:

http://a1.phobos.apple.com/us/r1010/027/Music/9c/24/12/mzi.wrstuwb.aac.p.m4p.

Interesting… Maybe we could download the file by using ‘Wget’; In my sniffing sessions, I discovered the user-agent that is send from the iPhone e.g.: iTunes-iPhone/3.1.3 (2)

So my request will look like:

wget -U ‘Apple iPhone OS v3.1.3”http://a1.phobos.apple.com/us/r1010/027/Music/9c/24/12/mzi.wrstuwb.aac.p.m4p.’

Result:

Connecting to a1.phobos.apple.com|*.*.*.*|:80… connected.
HTTP request sent, awaiting response… 200 OK
Saving to: “mzi.wrstuwb.aac.p.m4p”

100%[=============================================================>] 462,781 256K/s in 1.9s

2010-06-17 13:12:11 (256 KB/s) – “mzi.wrstuwb.aac.p.m4p” saved

After downloading, the ringtone can be listened or added to iTUnes.

How can Apple fix this?

- Use https instead of http (takes only a little time more to solve)
- Shorten the preview for ringtones
- Add effect in preview which is removed in the download version.

No comments

New malware tactics: locking botnet agents

It will not surprise you that malware authors are using new techniques to make us researchers it hard to analyze the malware they create. In the ongoing battle they came up with a known technique used by many software vendors, but now using it for their malware.

How does it work:

- When a user got infected by the first malware dropper, it’s unraveling all of the tools and then proceeds to hide the malicious payload components. After cleaning up it finally starts up the actual botnet agent.

- Once the agent is started, it looks for an Internet connection. After this check has passed it does a quick systemcheck of the computer e.g. MAC address, CPU ID, OS etc.
The agent then connects for the first time towards the Command and Control server of the botnet. It registers the victims computer and sends through this unique gathered system data.

- The Command and Control server sends a response to the victims computer: a new custom made agent based on the unique system data. It removes the old agent and the new unique agent is ‘locked’ and installed. This agent is unique to this particular victim and will not run on any other computer.

- The ‘new’ agent connects to a new Command and Control server of the botnet and the victims computer is fully in control by the botnet crew.

Botnet and malware authors are using this technique to hide their samples from anti-virus vendors. A general signature for this kind of malware will not work and a solution will not be easy. The antivirus guys must redesign the techniques it currently relies upon for sample analysis and generation of signatures.

No comments

Competition: SPot the Celeb (2)

We have the first results:

- Adam Savage
- Victoria Koblenko
- Kat von D

No comments

Competition: spot the celeb

It is known that many of us (including myself) are using social media. A lot about security and privacy is already been written about this kind of media. Many people are posting on Twitter their moments often illustrated by pictures taken from their mobile phones. There is some nice interesting (forensic) thing about some pictures taken with an I-phone. It includes GPS-data. Let me show you an example:

Last year I was for my job in Senegal and over there I took following picture:
Senegal_market (I know it’s a blurry image, but the smell of rotten <->>>-< was far more worse)

Images taken by digital media contain 'EXIF'data; in short information about the picture like time, date, brand camera etc. For forensic examining pictures I mostly use the tool 'Exifviewer'. In this case I used it for the picture above:
exif_output

The output of the tool showed us some GPS data. When using this data in Google Maps it exactly showed the place where the picture was taken.
Noticing this following (evil) thought came up:

Many celebs are posting on Twitter and Facebook. I would like to organise a competition about spotting the celebs. So crawl and search for twits and pictures and examine them for the GPS data.

RULE 1: I respect the privacy of any celeb/person, NO!!!! GPS data will be posted and I ask you to do as well;
RULE 2: Send the name of the celeb including the picture of Google Maps to: christiaan@securitybananas.com;
RULE 3: Top 50 of Celebs will be posted on this Forum without GPS Data; fun pictures maybe ;)

This competition is for fun and learning and another try to make people aware of their digital traces

No comments

Postbank Phishing scam

Waar men in november 2009 mee startte, is weer begonnen: wederom een phishing campagne tegen gebruikers van de (voormalige) Postbank. De phishers zijn er wederom op uit om het ‘ip-adres’ te laten registreren:
ing_phishing1

Opvallend is natuurlijk de aanhef in het Engels en vervolgens de (slechte) Nederlandse tekst. We hebben hier te maken met een ‘phishing’ e-mail. Interessant is om te onderzoeken wie er achter deze campagne zitten.
Na de headers te hebben onderzocht werd er een ip-adres aangetroffen waar vandaan de e-mail werd verstuurd; dit ip-adres behoorde niet toe aan de ING cq Postbank; het ip-adres stond op een aantal black-lists vermeldt. Het ip-adres staat bekend als een adres in SPAM campagnes.
De e-mail is afkomstig van het adres ‘verification@postbank.nl’ . Het domein’postbank.nl’ is een bestaand domein dat eigendom is van de ING groep. Vermoedelijk hebben de phishers onderzoek gedaan naar dit domein en zoveel mogelijk informatie te gebruiken om de e-mail zo echt mogelijk te laten lijken. Gekoppeld aan het ipadres dat gebruikt wordt voor het domein ‘postbank.nl’ zit ook het domein ‘mijn postbank.nl’, dat eveneens genoemd wordt in de e-mail.

Gevolg van het gebruik van het postbank domein is dat inmiddels dit domein op een blacklist is geplaatst (abuse.rfc-ignorant.org). Het is voor een organisatie absoluut niet wenselijk om op een blacklist te komen. Dit kan inhouden dat klanten niet e-mail van de Postbank in dit geval ontvangen.
Vervolgens wordt in de e-mail een link vermeldt waar je geacht wordt je ip-adres te registreren. Het betreft de link:
hxxp://www.advance2go.org.uk/mode/parameters/onlineaccess/mijn.ing.htm
Kijkend naar deze URL kunnen we eigenlijk al zien dat dit niet afkomstig is van de ING of Postbank. Wat zou een domein in de U.K. nu met een inlog van de ING moeten doen?
Overzicht domein ‘advance2go.org.uk’:

ing_phising2
Het domein ‘advance2go.org.uk’ behoort toe aan een hosting bedrijf gevestigd in Sheffield, UK. Diverse sites worden door dit bedrijf gehost waaronder de website voor de stad Londen.
Bij het bezoeken van de URL werd een 404-error vermeld; de site is inmiddels al uit de lucht gehaald.
Een andere URL die ook werd waargenomen:
hxxp://www.teenreviewblog.com/_vti_dp/sitefiles/secureserver/mijn.ing.htm
Dit leverde het volgende resultaat op:

phishing_postbank
Bij het raadplegen van deze website vanuit een Sandbox omgeving alarmeert Firefox voor het feit dat het hier een vervalste site betreft. Inmiddels is deze website uit de lucht gehaald.
Overige gebruikte (vervalste) sites:
hxxp://www.mifl.co.cc/_vti_data/secure/customers/mijn.ing.htm
hxxp://www.ceshaiti.org/data/resources/onlineaccess/mijn.ing.htm
hxxp://www.intrepidearth.net/cache/private/secure/mijn.ing.htm

Inmiddels zijn alle sites bij Phistank aangemeld en afgesloten.
phishing tank

No comments

Anti-virus detection methods and how they are circumvented

In the on-going battle between virus-writers and avers, different techniques and methods are use by both parties. In this short article I will discuss some of them. Virus writers are using techniques like polymophic, epo or metamorphic to hide their code. Avers already know how to battle these.
So how would you in the first place want to detect a virus? By using Wildcards. Wildcards is one of the most famous detection techniques. Example of an AV vendor using this technique is ClamAV. ClamAV searches for pattern and includes some features to detect some polymorphic engines. You can easily defat this wildcards search by using an obfuscated polymorphic engine like Marburg.
Another trick to discover a virus is by using emulation. Emulation needs an entrypoint to begin the analysis. Most of virus writers bypass the whole emulation by a trick to avoid an entrypoint is discovered.
What other techniques use Avers? Static Analysis
Static Analysis contain two types the First is code Disassembling and the second is Static analysis for Executables. Code disassembling will not be discussed in this article.
Static analysis for Executables:
This type you can simply name it “Tracing the Registers Behavior”. This Analysis work by trace the registers and search for a register that should be in the decryptor the counter or the pointer and test if there are all the decryptor’s registers’  behavior. If there are so this code is decrypting the virus so we should emulate this code and test if the virus appeared in the memory. If not so the file is not infected.
How can this be defeated? Using Dynamic Register Swapping:

This idea was recently published on certain forums. Any playing with the register will defeat the static analysis of an executable. You could simply swap the registers in the middle of the code like this:
;ecx–>counter
xchg eax,ecx
;eax–>counter or ecx–>counter

This code will swap the registers in the middle of the decrypter code. The values will be exchanged and the eax will have the value of ecx and will act as a decryptor in the next instructions.
Another example:
;ecx–>counter
mov eax,ecx
;eax–>counter or ecx–>counter
This example will make the value of eax deleted but you will have two registers have the same value and also can any one of them act like the counter. Who will detect what you choose as a counter?  More scenarios for this trick are applicable. Avers need to keep up-to-date with the ‘latest’ tricks to modify their detection methods and algorithms.

No comments

Hacking Poken – Dutch

Tijd om eens de gadget-rage van dit moment, een Poken eens te onderzoeken. De Poken is een kleine USB-stick die gebruikt wordt als een soort digitaal visitekaartje. Wanneer je twee Pokens tegen elkaar aanhoudt gaat er een groen lichtje branden. Op dat moment wordt jou identiteit en die van de ander uitgewisseld met behulp van RFID technologie.

Een gedemonteerde poken ziet er zo uit:

poken

Links het printplaatje en USB aansluiting met aan de achterkant de RFID (zwarte stip). Voeding vindt plaats middels een 3Volt Lithium batterij.

Opstarten

Zodra de poken in de PC wordt gestoken, wordt hij herkend als een USB-stick. Op de stick staan de volgende drie bestanden:

  • Autorun.inf
  • Help.txt
  • Start_Poken.html

Het bestand ‘Start_Poken.html’ zorgt ervoor dat je onmiddellijk wordt verbonden met de website van Poken, mits je autorun nog steeds aan hebt staan. Dit bestand bevat een URL waarin de gegevens staan die jou identificeren op de Poken website.

Voorbeeld URL:

<html><head><title>faq.doyoupoken.com – Please Wait!</title>  <META http-equiv=”Refresh” content=”1;    URL=http://p.poken.ch/u/AB1234-+-+-+-+-+-+-+-+-+-+-+

Op het moment dat er een contact bij komt, zal een gedeelte van de URL waar nu nog ‘-+-+’staat een gecodeerde string bijkomen die dat contact vertegenwoordigd.

Indien men de Poken verliest heeft men een probleem: Doordat de URL jou identiteit bevat om op de website van Poken aan te melden, kan de vinder zo op het aangetroffen account inloggen.  Dit kan opgelost worden door op de website van Poken in je profiel (Settings/Autologin)  aan te geven dat je niet automatisch wilt inloggen. Default staat deze optie namelijk aan.

Netwerkverkeer

Diefstal/verlies is niet de enige manier waarop je je identiteit van Poken prijsgeeft. De URL die bezocht wordt maakt gebruik van http. Op onveilige netwerken is het dus mogelijk om deze URL te filteren en zodoende het ID te bemachtigen. Een https verbinding opzetten is (nog) niet mogelijk.

Voorbeeld van een sniff met Wireshark:

<ahref=”http://p.doyoupoken.com/r.php?p=AB1234-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+8AAAAAAAAAAAAAAAAAAAAA”>here</a>.</p><hr><address>Apache/2.2.3 (CentOS) Server at p.poken.ch Port 80</address></body></html>

Zodra je deze string copy/paste doet in een browser zit je zonder Poken in je USB-poort ingelogd op de website van Poken met de identiteit van de ander. Surfend naar de URL ‘p.poken.ch’komen we keurig op een testpagina uit van Apache 2.

Wanneer je ingelogd zit met je Poken wordt er een ‘Post request’ uitgevoerd om contacten die op je Poken staan toe te voegen aan jou account. Hiervoor wordt de database bij Poken geraadpleegd.

POST /PokenWeb/dwr/call/plaincall/FriendsDWR.getCard.dwr HTTP/1.1

Host: www.doyoupoken.com inFacebook%22%3Afalse%7D

c0-scriptName=FriendsDWR c0-methodName=getCardc0-id=0 c0-param0=number:1234567890

Opvallend in de Wireshark sessie was het feit dat de contactpersoon die ik toevoegde een link had met de social-networksites Linkedin en Twitter. In de datastream werd nadat er een Post-request werd uitgevoerd ook een tweetal DNS-requests uitgevoerd richting LinkedIN en Twitter:

Poken_sniff

URL codering /encryptie

Zoals al eerder besproken bevat de URL in het bestand ‘Start_Poken.html’ een gecodeerde reeks.

URL=http://p.poken.ch/u/AB1234

Deze ‘AB etc. ‘ reeks lijkt gecodeerd te zijn met Base64 codering. In het eerste gedeelte van de string zit je Poken_ID. Vervolgens wat byte waardes die ik niet kon identificeren. Vervolgens is de rest van de ruimte op je Poken gereserveerd voor bevriende Pokens. Iedere vriend heeft 16 bytes ruimte, tot een maximum van 64 bevriende Pokens. Zodra een 16 byte entry van een vriend begint, staat in de eerste aantal bytes zijn/haar Poken_ID , statusbyte, timestamp en wat overige bytewaarden.  In de FAQ spreekt men over het gebruik van ‘very advanced encryption’van de informatie (geen persoonlijke informatie is opgeslagen op de Poken). Zoals eerder gezegd is er maar 16 bytes ruimte voor een vriend-contact waarbij al een aantal bytes gereserveerd is voor het Poken-ID, statusbyte en timestamp. Een advanced encryptie techniek die tegenwoordig gebruikt wordt heeft op zijn minst al 16 bytes nodig. In het verhaal van de Poken is dit dus niet mogelijk. Blijft er in dit geval maar 8 bytes over voor een encryptie techniek. Dit zou een 64 bit versleuteling kunnen zijn, echter uit de praktijk is al gebleken dat 64 bits encryptie niet sterk genoeg is.

Op de website van Poken valt te lezen dat de data sterk versleuteld wordt opgeslagen, echter je Poken_ID en die van je vrienden staan dus niet versleuteld op je Poken.

Privacy

De relatie tussen Poken_ID en account wordt geregeld via de database  van Poken. Bij het bewerken van je profiel kun je dus ook Social-network sites opgeven. Hierbij wordt gevraag om je login-gegevens. Statement hierbij van Poken: ‘Your password confirms that this really is your account at the social network – we don’t store this password’. Wie bewijst dit? Zou toch een geweldige database kunnen zijn waar onderlinge relaties kunnen worden weergegeven en waarbij de wachtwoorden bekend zijn. De privacy regeling waarmee men als gebruiker moet instemmen liegt er ook niet om.

‘We may use the information collected automatically, such as your IP address and information stored via cookies, to gather statistics about the number of people who use Poken to better customize your experience. We may share this information with third parties to help us improve Poken and better serve our users. Advertisements that appear on Poken are delivered to you by our advertising partners. Poken may transfer information about your use of Poken, such as your IP address and information stored via cookies, to our advertising partners and other third parties. This information may be used to provide advertising, promotions and other products and services that may be of particular interest to you. It may also be used to provide you with a tailored choice of content and media products.’

De passage over cookies bevat een zelfde soort passage waaruit ook blijkt dat men ‘May allow authorized third parties to place or recognize a unique cookie on your browser[…..]Any information provided to third parties through such cookies will not be personally identifiable but may provide general segment information, e.g. your industry or geographic location, for greater customization of your user experience.’

Een optie binnen Firefox is om cookies te verwijderen zodra je Firefox afsluit.

Kortom

Door wat eenvoudige stappen te nemen is het mogelijk om compromitatie van je Poken te voorkomen.  De encryptie die wordt gebruikt is niet zo geavanceerd zoals men beweerd. Het blijft een leuke gadget met bijbehorend initiatief. Over de privacy, opslag en gebruik van de gegevens wordt ik niet zo blij, maar goed dat is niet uw zorg.

Comments are off for this post

SQL injection hack hits Dexia

Dexia, a top player in retail banking for Belgium & Luxembourg was hit by a SQL-injection attack. SQL-injection is one of the top attacks which hackers use to attack finincial institutes.

By performing these attacks, the attacker had insight in the schema of the database, execute commands and they managed to get user credential inclusing their passwords. The attackers used a SQL query which can be used to query a MySQL database for information about the database, colomns and schema.

Example queries for MYSQL are:

version of Mysql: UNION+ALL+SELCET+version(),2/*

User lookup: UNION+ALL+SELECT+user(),2/*

Screenshots of the attack:

Schema

etc/passwd

user credentials

Someone atDexia is having a bad Monday ;)

source:http://unu1234567.baywords.com/2009/09/01/dexia-hacked-sql-injection/

Comments are off for this post

Just a ‘normal’ day

This morning I discovered some malware on one of my honeypots. By researching it I discovered it was malware connecting to a Zeus server. Zeus is crimeware which can be used to build a botnet. By investigating more of this botnet I discovered that several Dutch websites and servers were involved by spreading this malware. I made a quick analysis and after this I started to contact the website owners. After writing a little article about it, later in the afternoon it was published on the site of Computable, a Dutch IT site.

In the afternoon I was examaning a new type of backdoor_trojan. After analysing it, an example of it was send to several av-vendors.

Later in the afternoon made some calls with a website company. I discovered a sql-injection vulnerability in their CMS. After discussing about it they immediately started to work on a solution. After half an hour they fixed it. Great work guys, realy appreciate your quick response!

At the end of the afternoon, a last check on my presentation about cybercrime for tomorow. Changed a few slides because I got some nice slides about my botnet analysis.

Comments are off for this post

Malicious ATM Catches Hackers

LAS VEGAS — There’s no honor among thieves, nor apparently among hackers.

A malicious ATM kiosk was positioned in the conference center of the Riviera Hotel Casino capturing data from an unknown number of hackers attending the DefCon hacker conference before someone noticed something suspicious about the kiosk.

An organizer for the conference said security authorities seized the device. It’s not known how long the ATM was in the hotel or whether it was placed there by a DefCon attendee to catch his fellow hackers or simply by an outside criminal group trying to target conference attendees. Nice job  ;)

Read the full story on:

http://www.wired.com/threatlevel/2009/08/malicious-atm-catches-hackers/

No comments

Next Page »