HPR Live – The One Week Extravaganza

August 13th, 2010
Howdie guys,
I’ve dropped you guys emails because i was hoping that on your shows you could mention /shout out/ media whore the following;
I’ve had the thumbs up for an idea i had for HPR (hackerpublicradio.org). Basically i’m taking over for a week, well sort of.
I’m doing 4 shows, Monday to Thursday then i’m gonna do a live Phone-in/feedback show.
The shows i’m doing are;
SSLSniff & SSLStrip.
The why’s, the what’s and the how’s. A show about why you would want to use these tools, how to install them and how you can deploy them on your test network.
TorTunnel
The why’s, the what’s and the how’s. Tortunnel is a tool used for making tor a one hop proxy, this doesn’t do much for annonymity but it does allow you to jump out of network segments, with out the three hop over head standard tor gives you. The show will look at how to install and get it up and running.
Kismet
Forget what finux has said in the past, they’ve changed Kismet. Kismet is in the process of a massive overhaul and everything from the UI to how it is configured is changed. The show will look at what kismet is, why you would use kismet and get it up and running.
Social Engineers Toolkit (SET)
The social engineers toolkit isn’t a fake telco’s engineers uniform and a doddgy fake mustache, it is however a collection of tools that can make social engineering a breeze, very good for testing companies readiness for these sort of attacks. The show will look at what SET is and what tools you can find in there, and of course how to get it up and running.
Friday Night HPR Live
So you’ve played with the tools from the past four episodes, they all worked no problems great. What happens if they didn’t, does it go on the back burner list until you find the time to make it work? No join us live to Friday night of the week for the phone-in/feedback show. Get some support, ask some questions, get them tools working. Got a good story about one of the tools then join us and share it.
Now the dates for the week long HPR series is penciled in form the 27th September till the 1st October (The 1st would be the Live show)
For the live show we’ll be using a mix of things i would imagine, TalkShoe.com, Skype and the likes, and of course IRC chat for the geekness.

Howdie guys,

I’ve had the thumbs up for an idea i had for HPR (hackerpublicradio.org). Basically i’m taking over for a week, well sort of.

I’m doing 4 shows, Monday to Thursday then i’m gonna do a live Phone-in/feedback show.

The shows i’m doing are;

SSLSniff & SSLStrip.

The why’s, the what’s and the how’s. A show about why you would want to use these tools, how to install them and how you can deploy them on your test network.

TorTunnel

The why’s, the what’s and the how’s. Tortunnel is a tool used for making tor a one hop proxy, this doesn’t do much for annonymity but it does allow you to jump out of network segments, with out the three hop over head standard tor gives you. The show will look at how to install and get it up and running.

Kismet

Forget what finux has said in the past, they’ve changed Kismet. Kismet is in the process of a massive overhaul and everything from the UI to how it is configured is changed. The show will look at what kismet is, why you would use kismet and get it up and running.

Social Engineers Toolkit (SET)

The social engineers toolkit isn’t a fake telco’s engineers uniform and a doddgy fake mustache, it is however a collection of tools that can make social engineering a breeze, very good for testing companies readiness for these sort of attacks. The show will look at what SET is and what tools you can find in there, and of course how to get it up and running.

Friday Night HPR Live

So you’ve played with the tools from the past four episodes, they all worked no problems great. What happens if they didn’t, does it go on the back burner list until you find the time to make it work? No join us live to Friday night of the week for the phone-in/feedback show. Get some support, ask some questions, get them tools working. Got a good story about one of the tools then join us and share it.

Now the dates for the week long HPR series is penciled in form the 27th September till the 1st October (The 1st would be the Live show)

For the live show we’ll be using a mix of things i would imagine, TalkShoe.com, Skype and the likes, and of course IRC chat for the geekness.

I’d love to get people ideas, thoughts and feedback on the above.  It should be a real blast and if we can get the message out i’m sure the live show will be awesome.

Soon as its official i’ll let everyone know

TRACsec Episode 3 Show Notes

March 9th, 2010
http://www.tracsec.com/shows/tracsec-ep-03.mp3

Hosts:
Arron Finnon – http://www.finux.co.uk
Chris John Riley – http://www.c22.cc
Tom MacKenzie – http://www.tmacuk.com
Robert Ladyman – http://www.file-away.co.uk

Guest
Moxie Marlinspike – http://www.thoughtcrime.org

The show is a friendly chat with the legend that is Moxie Marlinspike.  Talking about SSL/TLS, Google Sharing, WPACracker, KnockKnock, and Moxie’s well documented troubles with payment house PayPal

——-

TRACsec News

We’re very proud to announce that TRACsec will be one of the media partners for bruCON this year, which we’re all very stoked about.  As everyone knows we’re big fans of bruCON so its a real pleasure to get the good word out and spread the news.

As part of our duties we’d like to let everyone know about the ‘Call for Papers’ for this years bruCON.

The conference will be held in Brussels (24 & 25 September 2010).

BruCON is a 2-day Security and Hacking Conference, full of interesting presentations, workshops and security challenges.

Topics of interest include, but are not limited to :

Electronic/Digital Privacy
Wireless Network and Security
Attacks on Information Systems and/or Digital Information Storage
Web Application and Web Services Security
Lockpicking & physical security
Honeypots/Honeynets
Spyware, Phishing and Botnets (Distributed attacks)
Hardware hacking, embedded systems and other electronic devices
Mobile devices exploitation, Symbian, P2K and bluetooth technologies
Electronic Voting
Free Software and Security
Legal and Social Aspect of Information Security
Software Engineering and Security
Security in Information Retrieval
Security aspects in SCADA, industrial environments and “obscure” networks
Forensics and Anti-Forensics
Mobile communications security and vulnerabilities
Information warfare and industrial espionage
Social Engineering
Virtualisation Security

Abstract submission is no later than 30th of April 2010
and notification will be in mid may 2010

http://blog.brucon.org/2010/02/brucon-2010-call-for-papers.html

——–
The News Segment -

Information security professionals survived the recession relatively unscathed, a global survey of 3,000 security professionals by IT security body (ISC)² reveals.
More than half of the information security professionals surveyed received salary increases in 2009, and less than 5% lost their jobs

http://www.computerweekly.com/Articles/2010/03/05/240518/IT-security-professionals-39recession-proof39-survey.htm

The government will not exempt universities, libraries and small businesses providing open Wi-Fi services from its Digital Economy Bill copyright crackdown, according to official advice released earlier this week

http://news.zdnet.co.uk/communications/0,1000000085,40057470,00.htm

Computer scientists say they’ve discovered a “severe vulnerability” in the world’s most widely used software encryption package that allows them to retrieve a machine’s secret cryptographic key.
The bug in the OpenSSL cryptographic library is significant because the open-source package is used to protect sensitive data in countless applications and operating systemsthroughout the world. Although the attack technique is difficult to carry out, it could eventually be applied to a wide variety of devices, particularly media players and smartphones with anti-copying mechanisms.

http://www.theregister.co.uk/2010/03/04/severe_openssl_vulnerability/

ShmooCon videos available for download at http://www.shmoocon.org/presentations.html

——-

TRACsec tech seg

This months tech segment is looking at some of the tool that Moxie has released such as SSLStrip and SSLSniff

Some of my stuff
http://www.finux.co.uk/blog/?p=74
http://www.finux.co.uk/blog/?p=43
http://www.thoughtcrime.org/software/sslstrip/
http://www.thoughtcrime.org/software/sslsniff/

tracSEC Podcast Show Note’s Episode 1

December 22nd, 2009
--------------------------------------------------------------------------------
TracSEC -  Episode One – Hackerspaces, War Robots, and (Ab)using Facebook API's
--------------------------------------------------------------------------------

Tom Mackenzie, Ryan Dewhurst, Arron Finnon, Chris John Riley

Show length 1.37:28
--------------------------------------------------------------------------------

In the first episode of the tracSEC podcast, the boys talk to Esther
Schneeweisz (aka Astera) about hackerspaces and her forth coming talk at
26C3, entitled 'A Discourse On Robotic Warfare'.

The interview starts off with speaking to Astera about the global
hackerspace scene and what a hackerspace is.  Full of information about
the dynamics and logistics of hackerspaces, and how people can get
involved and how they may go about setting their own spaces.  The
interview finishes with Astera discussing her Robotic Warefare talk.

- http://twitter.com/astera
- http://astera.soup.io/
- http://hackerspaces.org
- http://events.ccc.de/congress/2009/wiki/Welcome

In the shows technical segment, the boys look at how Facebook can be
used as a valuable resource of data when attacking an organisation.
Focusing on using Facebook's own API to retrieve data on people who are
connected to a Facebook group.

Notes can be found here http://www.finux.co.uk/blog/?p=78

Other links .:

http://www.lightbluetouchpaper.org/2009/05/20/attack-of-the-zombie-photos/
http://theharmonyguy.com/

--------------------------------------------------------------------------------

To finish off the boys talk about a couple of news stories out on the wire.

http://www.wpacracker.com/

Moxie launches cloud WPA Cracking site.  He's just a fucking legend, but
don't use paypal to pay him in dough (great write up by finux)

BruCON dates annouced:

http://blog.brucon.org/2009/12/brucon-2010-save-date-24-25-sept.html

Mark it in your calendar: BruCON 2010 will be on 24 & 25 September
2010!! Pass the word!!

Children in the UK to be compulsory taught Internet safety within
primary school:

http://news.bbc.co.uk/1/hi/technology/8398763.stm

Lessons in using the internet safely are set to become a compulsory part
of the curriculum for primary schoolchildren in England from 2011. The
lessons are one element of a new government strategy being unveiled
called "Click Clever, Click Safe".  Children will also be encouraged to
follow an online "Green Cross Code" and block and report inappropriate
content.

http://praetorianprefect.com/archives/2009/12/unu-gets-kaspersky-again/

Unu, a Romanian hacker (one who may enjoy the challenge of breaking into
other computers but does no harm) who we've talked about on the site
before has been busy with his fifth demonstrated SQL Injection
vulnerability on the web site of a well known company in the last 30
days. This time he has again targeted Kaspersky Labs, the anti-virus
vendor that he previously demonstrated web site vulnerabilities for back
on February 7th of this year. The sites affected this time around are
the Kaspersky Lab sites in Malaysia http://www.kaspersky.com.my and
Singapore http://www.kaspersky.com.sg. On both sites it is a news
section, news.php, that is vulnerable, leading to the same MySQL
database backend, and exposing customer and employee access credentials
as well as what appear to be activation keys for Kaspersky Internet
Security 2010.

http://www.theregister.co.uk/2009/12/14/microsoft_cofee_vs_decaf/

Hackers have released software they say sabotages a suite of forensics
utilities Microsoft provides for free to hundreds of law enforcement
agencies across the globe.

Decaf is a light-weight application that monitors Windows systems for
the presence of COFEE, a bundle of some 150 point-and-click tools used
by police to collect digital evidence at crime scenes. When a USB stick
containing the Microsoft software is attached to a protected PC, Decaf
automatically executes a variety of countermeasures.

** This episode was recorded prior to the self-destruct mechanism of
DECAF being activated **

Show can be downloaded from here

Facebook, hype about privacy. Its a little late

December 22nd, 2009

Facebook – Hype about privacy, its a little late

I had my interest in data held by Facebook heightened with the constant media attention that the much publicised changes to Facebook’s privacy policy brought. Which is the reason for this blog post (and @tracsec tech segment). There is no doubt in my mind that Facebook faces challenges with data that most governments do not have to consider, I suppose the only other companies that spring to mind is the giants of Google, and the makers of Windows Everest, err sorry I mean Microsoft.

Information is a truly wondrous thing, however it being held in the wrong hands can spell certain disaster. I was once asked what business Google was in, to which I answered Advertising, to my dismay I was informed I was wrong, my error was corrected. Google is a company that specialise in ways to make you give them data, they then use that data to make money. Information is power and that is no more aptly proved than how Google matches Microsoft in the brand awareness stakes, but also managing in the process to become a byword for searching the internet.

I think it fair I should mention, that I am dyslexic and 7 Windmills was my idea. All joking aside Facebook is know playing with vast quantities of personal data, and a strong unique understanding of how we interact with each other.

It seems to have worried a large section of the media, but I’m left asking really what is the difference now, to last month for a hacker. Social engineering is an emerging art, but lets face it, its a renaissance its nothing new and hacking has been as much about the person as it is about the system.

Having someone’s credentials starts to aid in targeted attacks, it seems logical to target the individuals themselves.

Impersonation isn’t easy when you know nothing about someone, taking a wild guess at someone’s date of birth, or which school they went to isn’t easy. Which is why they where for a long time important details, used to verify you you identity. Lets think here though we give these away everyday, its part of most registration processes for services, and to most people represents little or no value.

I set this scenario; A malicious attacker wishing to cause havoc, they decide that a university would be a good target. It as a target has some great reasons for it to be chosen. It has a lot of public (internet) facing resources, a lot of users, from those users there is a mix of privileges, from information to technical resources, they tend to have good bandwidth and lots of storage just to name a few reasons. They key aspect here is that there is a abundance of users, in reality playing the numbers game. It seems kind of stupid to jump straight in and randomly guess usernames.

We as individuals are social beings for most parts, and one of the key factors in Facebook success is its ability to connect us to networks, networks like where we went to school, who has employed us, and where we went to university, where we work, what our hobbies are. In some extents to actually how we’re feeling on a particular day Most universities have Facebook group, and I think it fair to suggest most people part of that group either are or have gone to that university or worked there in some capacity. It seems a good starting point, however we are all lazy people at heart and no one wants to go through every single member of a group one by one and copying the data out by hand. We could look at using screen scrapers however its not as simple to achieve as you may think, Facebook requires you to have an account, you do need to be logged in and have a session, and using tools like wget or curl require you to do this as well. However Facebook is also famous for its applications, and of course everyone loves them (or not). They can be made for lots of things and this is to do with Facebook’s API (application programming interface). In short Facebook’s API are really just a set of instructions that can be used to interact with users. Of course interacting means getting a certain amount of information between the parties involved.

A simpler process for our potential attacker is to use Facebook API to get information about their target, an example of one of their API calls is groups_getMembers(GROUPID). This requests from Facebook all those who are members of a particular group. It will give you a list users unique Facebook ID, who are members of a particular group. Another example API call is users_getInfo(FacebookID,’first_name, last_name, name, timezone, birthday, sex, locale, profile_url, proxied_email’) I think you can probably see where I’m going with this, we can start to build a very detailed list of current people who are connected to a group or organisation. Its also worth mentioning at this point, that yes you do need a Facebook account to use Facebook’s API, however the people returned back from the API calls neither installed an application or visited a site we controlled, this information was gained completely legally, this was all information that the user willingly gave to Facebook and then in turn they gave us permission to retrieve. As long as we don’t store the data for more than 24 hours.

That’s right if I follow the word of the agreement, I’ll need to delete the data with 24 hours. Bearing in mind that so far I have not interacted with anyone. I have for most part been able to get the name, an organisation they are connected to, and dependant on their exact privacy settings a wealth of personal information. The benefit of API’s is it is easy to write a applications or a scripts, and Facebook supports a number of programming languages, there is an number of languages that have unofficial support such as Python.

Its not a particular stretch for an attacker to write a script that gets all the members of a university or company group and build a list of first and last names, where possible their sex, date of birth, location, their Facebook webpage, where they are currently located and store that in a database. A little more internet searching and we may discover a companies naming convention for company emails. The attacker has very simply gained an advantage without the threat of triggering alarms and remaining mostly passive. This list then could be used with tools such as Maltego to further build a complete understanding of that person. Once a individual has been targeted to try and use to gain entry the attacker could start to make a bespoke list of words and terms they use, by downloading pages from Facebook or by simple Google hacking and pulling posts from forums, mailing lists and striping out all the HTML code and common words (such as the, and, a, it, so on and so forth). Of course the list generated gives the attacker an advantage at brute forcing passwords, its likely to have things such as children names, partners names, dates of birth specific to the target. Tools such as Cewl make the process of crawling a site and generating the list a relative simple task.

It also seems logical that other social networking sites could be attacked for lots of various other information about potential targets. It maybe possible to obtain every tweet if potential target has a Twitter account, using Twitter’s API obtaining a list of a targets Twitter history. This could be a good resources for further expanding the everyday words and terms that a potential target may use. Its fair to say that no one Twit may cause concern about privacy, however the full list of them may add to yet another great resource of information. However I believe that you would have to allow your Twitter account to be public, and this information could be obtained using tailored Google searches, however as previously stated it makes a lot more sense to take the data supplied.

A potential indicator to this sort of social inspired attack, could be to seed the group with a number of dummy user accounts. Using passwords generated out of web pages for that dummy user. We could watch the dummy user accounts for access, and all though not fool proof, if this account starts to generate unwelcome attention then someone may have tried to profile our organisation and careful vigilance should be applied.

I discussed my ideas and thoughts on this subject with Chris John Riley, Ryan Dewhurst and Tom Mackenzie on the tracSEC podcast technical segment which should be available for public release when this post hits the blog. It was an interesting chat and very enlightening for everyone involved. I learned a great deal of stuff when discussing this with them, and in this case four heads are better than one.

In closing I think to be worried about how third parties may abuse changes in Facebook’s privacy policy is warranted, I would urge you to think what a bad guy could do without the limitations of regulations of business. Some information can’t be put back into the bottle. We as a community need to accept a certain level of information about us is in the public domain, and mitigate that accordingly. However asking questions of how much data about us is being held by one commercial organisation and how other people assimilate that data is critical.

http://wiki.developers.facebook.com/index.php/How-to_Guides

http://developers.facebook.com/tools.php

http://en.wikipedia.org/wiki/Api

http://www.willmcgugan.com/2008/02/09/writing-a-facebook-application-with-python-pt-i/

http://arstechnica.com/open-source/news/2009/04/how-to-using-the-new-facebook-stream-api-in-a-desktop-app.ars

http://wiki.developers.facebook.com/index.php/User:PyFacebook_Tutorial

http://www.digininja.org/projects/cewl.php

http://www.theregister.co.uk/2009/12/14/facebook_photo_privacy_snafu/

http://voices.washingtonpost.com/securityfix/2009/12/check_your_facebook_privacy_se.html

http://www.scribd.com/doc/2458/Facebook-Threats-to-Privacy

http://tmacuk.co.uk/?p=76

http://www.spylogic.net/2009/12/new-facebook-privacy-settings-for-better-or-for-worse/

The tracSEC podcast can be downloaded from here

Null Prefix Attack Talk – Available On HPR

December 2nd, 2009

My recent talk at thelinuxsociety.org.uk on Moxie Marlinspike’s Null Prefix Attack, used in defeating SSL/TLS.  Has been released on HPR.  You can find the Notes and Slides that accompany the talk here

A .mp3 version of the talk can be found here

Finux

Note Added 10/12/09

Video (.avi) of the talk can be downloaded here

Seccubus – Frank’s baby is changing

November 21st, 2009

Well guys,

I’m very proud to announce good friend of mine and HackerPublicRadio.Org Frank Breedijk has annonuced recently that he project formally known as AutoNessus has changed its name.

“Seccubus is a mythical creature that helps security professionals analyze and report the results of, repeated, vulnerability scans. Like its distant cousins the Succubus (http://en.wikipedia.org/wiki/Succubus) and Incubus (http://en.wikipedia.org/wiki/Incubus) the Seccubus is also a creature of the night. At night, or any other scheduled time, the Seccubus draws its energy from repeatedly performing vulnerability scans  of infrastructures until the vulnerabilities become exhausted or die. The Inseccubus is the male counterpart of the Seccubus. While the Inseccubus draws his life energy from the assessor by repeatedly requiring him to (re-)analyse the same findings, the Seccubus get her energy from pleasing the assessor by reducing the number of findings by means of delta reporting.”

Now that the new name has been announced the “rebranding” will be complete before the end of the year. The website www.seccubus.com is already live but still points to the AutoNessus.com site. Also Frank’s twitter account, @autonessus, will be renamed to @seccubus soon.

Well done to Jason Mansfield, who runs the website http://www.clinicallyawasome.com, who won the contest by sending in the name Seccubus.

Frank has promissed to come on to HackerPublicRadio.Org and annonuce the news personally, i’ll keep you informed when the show comes out

Finux

Notes-From-My-Null-Prefix-Attack-Talk

November 21st, 2009

Hi Guys,

I’m just posting my notes and slides from my flash talk last night at the Linux Society, it seemed to go well.  It maybe better for me to explain what the Linux Society flash talk nights are all about.  The basic concept is that is that three to four speakers volunteer to do a small 10 minute talk on any subject they wish.  The aim is that the member’s of the Linux Society get to hear about three or four new things that they may never have heard about before.

I volunteered to talk about Moxie Marlinspike’s Null Prefix Attack, in defeating SSL/TLS.  It was a little tight to get it squeezed into 10 minutes.  I’ve posted my notes and my slides from the talk, as for those there i had to cover a lot of ground very fast.  It maybe of some interest to someone out there.  Someone was videoing the talks, and i also recorded the audio for HackerPublicRadio.Org so i’ll let you guys know.

My Notes From The Talks: – ** indicates change of slide

Moxie Marlinspike’s Null Prefix Attack – Deafening SSL/TLS

Linux Society Flash Talk

19th September 2009

By Arron Finnon

Good evening ladies and gentleman, my name is Arron Finnon and I will be talking to you this evening about Moxie Marlinspike’s Null Prefix Attack. Ever since I first heard about this attack I have been fascinated by it. I was also lucky enough to interview the security researcher who discovered this particular attack.

**

The talk should outline and you should hope to know the following by the end;

What is the Null Prefix Attack

What are SSL Implementations

What is Online Domain Validation

The process used in Certificate requests and revocations

What a Universal Wild Card Cert is

And how OCSP was defeated

**

My intro

So tonights aim is for me to give you a crash course in this particular attack, and the vulnerability it exploits its only suppose to wet your appetite. I will give you a couple of web addresses and suggestions at the end if you want to know more. This one is going to be a tight squeeze to fit it in to 10 minutes, I have a lot of ground to cover in very little time but I think I should just about do it.

**

So in short tonights talk focuses on an implementation vulnerability in the secure protocol SSL/TLS, which was left unpatched on some operating systems for well over 10 weeks. At its heart the null prefix attack had the potential ability for an attacker to intercept and decrypted secure browser traffic, reading usernames and passwords entered for sites such as paypal, gmail, facebook without them or their users knowing. SSL/TLS had been effectively broken not just in browsers, but in vast arrays of software that is dependent on SSL/TLS implementations. All though this attack has predominately been patched i’m not going to imply that there still isn’t a real world threat from this, however its more than likely that this threat will fade away over time.

In October 2009 nearly 2% of Firefox users where running a vulnerable version of Firefox, which may not sound like a big number, but when you look at Firefox having a 47% market share for that same month it starts to become a vast number. In addition most of Microsoft’s product range where vulnerable during the first half of October too. In fact Microsoft took an astonishing 10 weeks to fix the problem.

**

In laying the ground work I want to very quick touch on what TLS and its predecessor SSL is, and where it is in common use today. However it is not my aim for this to be a definitive guide, but just a reference, if you decide to find out more about SSL/TLS there is a lot of content about it available.

In short Transport Layer Security or TLS and Secure Socket Layer or SSL, are a cryptographic protocols, who’s aim is to provide security for communications over networks such as the Internet. The protocols are in widespread use in applications such as web browsers, email, instant messaging, VoIP, and some VPN’s. TLS is based on the earlier SSL specifications developed by Netscape Corporation.

TLS allows client/server programs to communicate over networks in method that makes eavesdropping, data tampering and message forgery hard to accomplish. In a typical deployment such as a web browser, TLS authentication is unilateral: which means that only the server is authenticated. The client knows the server’s identity, the client remains unauthenticated

So a simple TLS handshake where the server is authenticated by its certificate would work like so;

**

A negotiation phase would start with a client sending a ClientHello message, in that message the client will inform the server of the TLS protocol versions it supports, a random number, list of preferred cyphers and compression methods.

The server then responds with a ServerHello message, and within that message the chosen TLS protocol version, a random number, and the selected cypher suite and compression method. It may also contain a session ID to preform resumed handshakes. The server will then send a certificate message, followed by a ServerHelloDone, indicating that the negotiation phase has finished.

The client then responds with a ClientKeyExchange message, which contains a PreMasterSecret and a public key. Both the client and the server use the random numbers from the negotiation phase, and the PreMasterSecret to compute a common “master secret”. Key Data for this connection will be derived from the master secret and the random numbers generated earlier, which is passed through a pseudo-random function which has been carefully designed.

The client will then send a ChangeCipherSpec record informing the server that all communication will be authenticated. The client will then follow this up with an authenticated and encrypted Finished Message which contains the hash of the previous handshake message. The server will try and decrypt the client’s Finished message and match the Hash, if the server fails to verify the hash then the handshake will be considered failed and the connection torn down. The server will follow up by sending a ChangeSipherSpec to the client, informing the client that everything now passed to you from me will be authenticated, and a Finished Message encrypted with the hash of the previous message, the client will then attempt to decrypt and verify.

**

The certificates that are generally used in browsers is the X.509 type, and its a crucial part to how the null prefix attack is implemented. The X.509 is a standard for public key infrastructure also known as PKI, it has standard formats for public key certificates and, certificate revocation lists.

X.509 was initially issued on July the 3rd, 1988 and was in association with the X.500 standard. It assumes a strict hierarchical system of certificate authorities (CAs) for issuing the certificates. In the X.509 system, a CA issues a certificate binding a public key to a particular Distinguished Name as was before in the X.500 tradition, however it can also be to an Alternative Name such as an e-mail address or a DNS-entry. Browsers such as Internet Explorer, Netscape/Mozilla, Opera and Safari come with root certificates pre-installed, so SSL certificates from larger vendors will work instantly; in effect the browsers’ developers determine which CAs are trusted third parties for the browsers’ users. Although these root certificates can be removed or disabled, users rarely do so. X.509 as I have also mentioned includes standards for certificate revocation list (CRL) implementations. The IETF-approved way of checking a certificate’s validity is the Online Certificate Status Protocol (OCSP). Firefox 3 enables OCSP checking by default.

Defeating OCSP is also a key aspect of this attack, however I will discuss it a little later

**

If we look at the X.509 structure for a digital certificate, it is as follows;

  • Certificate

    • Version

    • Serial Number

    • Algorithm ID

    • Issuer

    • Validity

      • Not Before

      • Not After

    • Subject

    • Subject Public Key Info

      • Public Key Algorithm

      • Subject Public Key

    • Issuer Unique Identifier (Optional)

    • Subject Unique Identifier (Optional)

    • Extensions (Optional)

  • Certificate Signature Algorithm

  • Certificate Signature

**

Now for the SSL/TLS protocol it is “common name” field within the Subject field that is used to identify servers presenting certificates over the Internet. So when paypal request a certificate they will list www.paypal.com, if ebay request a certificate they will list www.ebay.com, and of course if I where requesting a certificate then I would list www.finux.co.uk.

When requesting a Certificate Signing Request to a Certificate Authority also known as a CA, the request is validated by establishing ownership of the domain. This can be as simple as checking the WHOIS database of the root domain and sending an confirmation email to the details listed. So in our example the CA would look up the root domain for www.ebay.com, which of course is ebay.com, and we would find the administration email is host...@ebay.com. Confirmation request is sent to them informing them that a request for a certificate has been made and could they please confirm the request.

Only the root domain is looked up and everything else is ignored by the CA, its an automated process. So we can register anything in the common name in the subject field and only the root domain is checked and validated, so we could request foobar.finux.co.uk, certificate.authorities.suck.finux.co.uk, even this.subdomain.is.fictional.finux.co.uk and all CA would see and validate is finux.co.uk.

It is at this point that the attack begins to take place. X509 certificates are formatted using ASN.1 notation, which supports lots of different string types. However all of them are represented in some variation of PASCAL. When in memory PASCAL strings are represented by a series of bytes, specifiying the length of the string, and then the string data. One character per byte. It is very important to pay attention to this being very different to how C reads a string, which is a series of bytes, one character per byte terminated by a single NULL character. In PASCAL NULL characters have no special meaning.

So we could be free to request www.paypal.com\0.finux.co.uk and the verification will be sent to finux.co.uk.

As we have earlier discussed with CA’s they tend to ignore everything before the root domain, and we are free to insert a NULL Character with in our request the NULL character has no special meaning in PASCAL.

However most modern SSL/TLS implementation will view the data from an X.509 certificate as an ordinary C string, using standard functions for comparisons and manipulation. One of the consequences of this is if we take our issued certificate with www.paypal.com\0.finux.co.uk in the CN field, in C the termination will happen at the Null Character, so when we go to verify that the trusted CA cert used to identify www.paypal.com it will compare only the www.paypal.com part of our CN. This enables us amongst other things to deploy a man in the middle attack, and present to the client a valid signed cert by a CA, which will compare to to the site we’re eavesdropping on.

It is here where authenticity of SSL/TLS is defeated.

However the story really doesn’t end here, as I mentioned previously we still have the issues of Online Certificate Status Protocol to worry about, it was designed to be quick and effective way of revocation to CA signed certificates. So it would be easy for the CA to check its records and find certificates that contained NULL characters.

OCSP was designed to support a light weight requests from the clients who have been presented with a certificate that they haven’t seen before, or recently. Within each CA signed certificate is an OSCP url for the issuer, which browsers like firefox will quickly check before accepting the certificate.

This could be fatal when deploying a Null Prefix Certificate in a MiTM (Man in The Middle) attack, if the CA has revoked our certificate.

However Moxie Marlinspike who discovered the Null Prefix Attack, also managed to defeat OCSP with similar easy. It is not far to say this whole protocol has been defeated by one single byte

After studying the response codes, Moxie has noticed that the code 3 which informed the browser to check the OCSP URL later did not generate any negative indicators on the browsers, and would continue. During that he discovered that ResponseByte structure had a signature from the CA which would be hard to forge, but that signature only covered ResponseData which is an optional. It however doesn’t cover the ResponseStatus.

Enumeration of the OCSPResponseStatus followed;

**

successful (0)

malformedRequest (1)

internalError (2)

tryLater (3)

sigRequired(5)

unauthorised (6)

Successful response would be hard to sign the subsequent ResponseData, however malformedRequests’s, internalError, sigRequired, unauthorised, and tryLater do not. Then OCSP requests can be watched for during our MiTM attack, and an appropriate 3 will be supplied. Meaning the browser never actually gets to check the validity of the certificate.

**

OCSP Defeated by the Number 3

**

I’m going to pick on firefox for little moment here, I must admit they react well and in a timely manner. NSS the library firefox uses was vulnerable to two other attacks that splinted off the null prefix attack.

It is possible to request a universal wild card for your domain, it costs a little extra. The idea is that a domain like google would only need to manage on cert, so they could request something like *.google.com. The way that NSS varified wildcards enabled Moxie to request from the CA’s and was issued an X509 cert for the common name;

*.\0.thoughtcrime.org

Firefox would then check this and validate any site with it. So the same certificate could be used to catch, gmail, facebook, paypal, ebay, amazon just to name a few. This was named a Universal Wild Card Certificate as you only needed one to intercept anything on Firefox.

**

Which then led to probably the most scary part of this attack as a platform. Think of a piece of software on your system, that contacts a server out on the Internet, this server will tell it to download an unsigned data blob and run it, conducted over SSL/TLS. I have described to you the process of auto-updates on firefox, which is turned on by default. The same process is also used for firefox addon-s.

We could in theroy upgrade the vulnerable firefox, to a non-vulnerable version of firefox, of course embedding our own root CA certificate. We could also bind it with a number of other nasty surprises such as boot and rootkits keyloggers, or something crazy like wubi.exe install for windows.

**

I think it important to mention here that the tools for preforming these attacks are released under the GPL Version 3, and you are free to download and examine the code. It is available from Moxie’s website www.thoughtcrime.org in the Software Section

Sslsniff has been updated to support Null Prefix Certificates, including the universal wildcard certificate, OCSP Denial, Firefox Auto-Update hijacking. I managed to get it working on Ubuntu 8.10 I haven’t tried it on anything other than 9.10. Your free to try it on any platform.

**

SCREEN SHOTS

**

So in closing tonight I hope that I have demonstrated how the Null Prefix Attack is deployed, enlightened you to potential targets for attackers with this attack, potential payloads that can be deployed, OCSP being defeated, and software that you can try at home.

Any Questions

End of Notes

Slides Available

Here – PDF

Here – PPT

Here – ODP

As i have said when the audio and video are available from the flash talk then i’ll post

Finux

Moxie Marlinspike’s Null Prefix Attack – Deafening SSL/TLS

Linux Society Flash Talk

19th September 2009

By Arron Finnon

Good evening ladies and gentleman, my name is Arron Finnon and I will be talking to you this evening about Moxie Marlinspike’s Null Prefix Attack. Ever since I first heard about this attack I have been fascinated by it. I was also lucky enough to interview the security researcher who discovered this particular attack.

**

The talk should outline and you should hope to know the following by the end;

What is the Null Prefix Attack

What are SSL Implementations

What is Online Domain Validation

The process used in Certificate requests and revocations

What a Universal Wild Card Cert is

And how OCSP was defeated

**

My intro

So tonights aim is for me to give you a crash course in this particular attack, and the vulnerability it exploits its only suppose to wet your appetite. I will give you a couple of web addresses and suggestions at the end if you want to know more. This one is going to be a tight squeeze to fit it in to 10 minutes, I have a lot of ground to cover in very little time but I think I should just about do it.

**

So in short tonights talk focuses on an implementation vulnerability in the secure protocol SSL/TLS, which was left unpatched on some operating systems for well over 10 weeks. At its heart the null prefix attack had the potential ability for an attacker to intercept and decrypted secure browser traffic, reading usernames and passwords entered for sites such as paypal, gmail, facebook without them or their users knowing. SSL/TLS had been effectively broken not just in browsers, but in vast arrays of software that is dependent on SSL/TLS implementations. All though this attack has predominately been patched i’m not going to imply that there still isn’t a real world threat from this, however its more than likely that this threat will fade away over time.

In October 2009 nearly 2% of Firefox users where running a vulnerable version of Firefox, which may not sound like a big number, but when you look at Firefox having a 47% market share for that same month it starts to become a vast number. In addition most of Microsoft’s product range where vulnerable during the first half of October too. In fact Microsoft took an astonishing 10 weeks to fix the problem.

**

In laying the ground work I want to very quick touch on what TLS and its predecessor SSL is, and where it is in common use today. However it is not my aim for this to be a definitive guide, but just a referencer, if you decide to find out more about SSL/TLS there is a lot of content about it available.

In short Transport Layer Security or TLS and Secure Socket Layer or SSL, are a cryptographic protocols, who’s aim is to provide security for communications over networks such as the Internet. The protocols are in widespread use in applications such as web browsers, email, instant messaging, VoIP, and some VPN’s. TLS is based on the earlier SSL specifications developed by Netscape Corporation.

TLS allows client/server programs to communicate over networks in method that makes eavesdropping, data tampering and message forgery hard to accomplish. In a typical deployment such as a web browser, TLS authentication is unilateral: which means that only the server is authenticated. The client knows the server’s identity, the client remains unauthenticated

So a simple TLS handshake where the server is authenticated by its certificate would work like so;

**

A negotiation phase would start with a client sending a ClientHello message, in that message the client will inform the server of the TLS protocol versions it supports, a random number, list of preferred cyphers and compression methods.

The server then responds with a ServerHello message, and within that message the chosen TLS protocol version, a random number, and the selected cypher suite and compression method. It may also contain a session ID to preform resumed handshakes. The server will then send a certificate message, followed by a ServerHelloDone, indicating that the negotiation phase has finished.

The client then responds with a ClientKeyExchange message, which contains a PreMasterSecret and a public key. Both the client and the server use the random numbers from the negotiation phase, and the PreMasterSecret to compute a common “master secret”. Key Data for this connection will be derived from the master secret and the random numbers generated earlier, which is passed through a pseudo-random function which has been carefully designed.

The client will then send a ChangeCipherSpec record informing the server that all communication will be authenticated. The client will then follow this up with an authenticated and encrypted Finished Message which contains the hash of the previous handshake message. The server will try and decrypt the client’s Finished message and match the Hash, if the server fails to verify the hash then the handshake will be considered failed and the connection torn down. The server will follow up by sending a ChangeSipherSpec to the client, informing the client that everything now passed to you from me will be authenticated, and a Finished Message encrypted with the hash of the previous message, the client will then attempt to decrypt and verify.

**

The certificates that are generally used in browsers is the X.509 type, and its a crucial part to how the null prefix attack is implemented. The X.509 is a standard for public key infrastructure also known as PKI, it has standard formats for public key certificates and, certificate revocation lists.

X.509 was initially issued on July the 3rd, 1988 and was in association with the X.500 standard. It assumes a strict hierarchical system of certificate authorities (CAs) for issuing the certificates. In the X.509 system, a CA issues a certificate binding a public key to a particular Distinguished Name as was before in the X.500 tradition, however it can also be to an Alternative Name such as an e-mail address or a DNS-entry. Browsers such as Internet Explorer, Netscape/Mozilla, Opera and Safari come with root certificates pre-installed, so SSL certificates from larger vendors will work instantly; in effect the browsers’ developers determine which CAs are trusted third parties for the browsers’ users. Although these root certificates can be removed or disabled, users rarely do so. X.509 as I have also mentioned includes standards for certificate revocation list (CRL) implementations. The IETF-approved way of checking a certificate’s validity is the Online Certificate Status Protocol (OCSP). Firefox 3 enables OCSP checking by default.

Defeating OCSP is also a key aspect of this attack, however I will discuss it a little later

**

If we look at the X.509 structure for a digital certificate, it is as follows;

  • Certificate

    • Version

    • Serial Number

    • Algorithm ID

    • Issuer

    • Validity

      • Not Before

      • Not After

    • Subject

    • Subject Public Key Info

      • Public Key Algorithm

      • Subject Public Key

    • Issuer Unique Identifier (Optional)

    • Subject Unique Identifier (Optional)

    • Extensions (Optional)

  • Certificate Signature Algorithm

  • Certificate Signature

**

Now for the SSL/TLS protocol it is “common name” field within the Subject field that is used to identify servers presenting certificates over the Internet. So when paypal request a certificate they will list www.paypal.com, if ebay request a certificate they will list www.ebay.com, and of course if I where requesting a certificate then I would list www.finux.co.uk.

When requesting a Certificate Signing Request to a Certificate Authority also known as a CA, the request is validated by establishing ownership of the domain. This can be as simple as checking the WHOIS database of the root domain and sending an confirmation email to the details listed. So in our example the CA would look up the root domain for www.ebay.com, which of course is ebay.com, and we would find the administration email is host...@ebay.com. Confirmation request is sent to them informing them that a request for a certificate has been made and could they please confirm the request.

Only the root domain is looked up and everything else is ignored by the CA, its an automated process. So we can register anything in the common name in the subject field and only the root domain is checked and validated, so we could request foobar.finux.co.uk, certificate.authorities.suck.finux.co.uk, even this.subdomain.is.fictional.finux.co.uk and all CA would see and validate is finux.co.uk.

It is at this point that the attack begins to take place. X509 certificates are formatted using ASN.1 notation, which supports lots of different string types. However all of them are represented in some variation of PASCAL. When in memory PASCAL strings are represented by a series of bytes, specifiying the length of the string, and then the string data. One character per byte. It is very important to pay attention to this being very different to how C reads a string, which is a series of bytes, one character per byte terminated by a single NULL character. In PASCAL NULL characters have no special meaning.

So we could be free to request www.paypal.com\0.finux.co.uk and the verification will be sent to finux.co.uk.

As we have earlier discussed with CA’s they tend to ignore everything before the root domain, and we are free to insert a NULL Character with in our request the NULL character has no special meaning in PASCAL.

However most modern SSL/TLS implementation will view the data from an X.509 certificate as an ordinary C string, using standard functions for comparisons and manipulation. One of the consequences of this is if we take our issued certificate with www.paypal.com\0.finux.co.uk in the CN field, in C the termination will happen at the Null Character, so when we go to verify that the trusted CA cert used to identify www.paypal.com it will compare only the www.paypal.com part of our CN. This enables us amongst other things to deploy a man in the middle attack, and present to the client a valid signed cert by a CA, which will compare to to the site we’re eavesdropping on.

It is here where authenticity of SSL/TLS is defeated.

However the story really doesn’t end here, as I mentioned previously we still have the issues of Online Certificate Status Protocol to worry about, it was designed to be quick and effective way of revocation to CA signed certificates. So it would be easy for the CA to check its records and find certificates that contained NULL characters.

OCSP was designed to support a light weight requests from the clients who have been presented with a certificate that they haven’t seen before, or recently. Within each CA signed certificate is an OSCP url for the issuer, which browsers like firefox will quickly check before accepting the certificate.

This could be fatal when deploying a Null Prefix Certificate in a MiTM (Man in The Middle) attack, if the CA has revoked our certificate.

However Moxie Marlinspike who discovered the Null Prefix Attack, also managed to defeat OCSP with similar easy. It is not far to say this whole protocol has been defeated by one single byte

After studying the response codes, Moxie has noticed that the code 3 which informed the browser to check the OCSP URL later did not generate any negative indicators on the browsers, and would continue. During that he discovered that ResponseByte structure had a signature from the CA which would be hard to forge, but that signature only covered ResponseData which is an optional. It however doesn’t cover the ResponseStatus.

Enumeration of the OCSPResponseStatus followed;

**

successful (0)

malformedRequest (1)

internalError (2)

tryLater (3)

sigRequired(5)

unauthorised (6)

Successful response would be hard to sign the subsequent ResponseData, however malformedRequests’s, internalError, sigRequired, unauthorised, and tryLater do not. Then OCSP requests can be watched for during our MiTM attack, and an appropriate 3 will be supplied. Meaning the browser never actually gets to check the validity of the certificate.

**

OCSP Defeated by the Number 3

**

I’m going to pick on firefox for little moment here, I must admit they react well and in a timely manner. NSS the library firefox uses was vulnerable to two other attacks that splinted off the null prefix attack.

It is possible to request a universal wild card for your domain, it costs a little extra. The idea is that a domain like google would only need to manage on cert, so they could request something like *.google.com. The way that NSS varified wildcards enabled Moxie to request from the CA’s and was issued an X509 cert for the common name;

*.\0.thoughtcrime.org

Firefox would then check this and validate any site with it. So the same certificate could be used to catch, gmail, facebook, paypal, ebay, amazon just to name a few. This was named a Universal Wild Card Certificate as you only needed one to intercept anything on Firefox.

**

Which then led to probably the most scary part of this attack as a platform. Think of a piece of software on your system, that contacts a server out on the Internet, this server will tell it to download an unsigned data blob and run it, conducted over SSL/TLS. I have described to you the process of auto-updates on firefox, which is turned on by default. The same process is also used for firefox addon-s.

We could in theroy upgrade the vulnerable firefox, to a non-vulnerable version of firefox, of course embedding our own root CA certificate. We could also bind it with a number of other nasty surprises such as boot and rootkits keyloggers, or something crazy like wubi.exe install for windows.

**

I think it important to mention here that the tools for preforming these attacks are released under the GPL Version 3, and you are free to download and examine the code. It is available from Moxie’s website www.thoughtcrime.org in the Software Section

Sslsniff has been updated to support Null Prefix Certificates, including the universal wildcard certificate, OCSP Denial, Firefox Auto-Update hijacking. I managed to get it working on Ubuntu 8.10 I haven’t tried it on anything other than 9.10. Your free to try it on any platform.

**

SCREEN SHOTS

**

So in closing tonight I hope that I have demonstrated how the Null Prefix Attack is deployed, enlightened you to potential targets for attackers with this attack, potential payloads that can be deployed, OCSP being defeated, and software that you can try at home.

Any Questions

TRACsec

November 9th, 2009

Well guys, its sort of news.

I’m very glad to announce that as well as my HackerPublicRadio.Org show, i have been in talks with a few people and we have a new podcast in the making.  Its still very early days, and a couple more logistics things to be sorted but TRACsec podcast was born yesterday.

Its a security show which follows a pretty much tried and tested format, however half the crew are currently studying Ethical Hacking at a British university and the the other half of the crew involved in it in a full time basis.

I’m very excited about this show, I think its going to be something a little different as the crew have all varying expertise.  So it should be nice to take ideas and stories and work it from the ground up.

You can bet your arse I’ll let you know more when i do

Finux

Andrej Hajto’s SFDDundee2009 talk out

October 23rd, 2009

Hi guys,

Well just to give you all the heads up, one of the talks from our successful Software Freedom Day Dundee 2009 even http://hackerpublicradio.org/eps.php?id=0471t

The talk was by Andrej Hajto, and he discuss VoIP and h323.  He also discuss some security issues with the protocol.  It was a very interesting talk, and i hope you all enjoy it.

Direct Download

Mp3 Version

Ogg Version

The Project Formally Known As AutoNessus

October 17th, 2009

Howdie Folks,

Well as promised trying to be proactive with my blogging, but hey I’m here and doing it so enough with the self bitching.

I have some truly awesome news for the HackerPublicRadio.Org show 467, Frank “@AutoNessus” Breedijk came on to a call with me, to discuss his project AutoNessus.

AutoNessus is a program designed to help with regular vulnerabilities scans, and it enables the user the ability to manage the reporting of discoveries.  Its original concept was designed to help Frank, with Nessus scans, and then with all great stories he opened it up and released it to the world (i believe his employers are very supportive of this).  However i think its fair to say that the program has grown beyond its original design, and now is supporting more than just Nessus.

AutoNessus is currently being re-written, and a whole new version change is coming.  With plans to support more and more scanning tools.  It looks like AutoNessus is going to be a rocking ethical hacking tool.  With these changes its time to remove the pegging of the term AutoNessus, implies.  Namely its for Nessus (now AutoNessus is in no way connected with Tenable, the owners of the Nessus program and brand.).

Frank is a true gentleman and i have grown very fond of him and his project, and i always love the chance to shoot the breeze with him, so when he asked if there was anyway that HackerPublicRadio.Org audience could help, the natural answer was lets do a show.  This is the result of it.

So Frank has asked everyone at HackerPublicRadio.Org (and the rest of the Internet world), to please have a think about what AutoNessus should be renamed to and supply him suggestions.  He during his forth coming talk at Confidence Poland in mid November will announce the new name of the project.  The winner of the best suggestion also has a bottle of champagne coming their way.

The name must be free for Frank to use, and the suggestion being made is being made knowing that the name will be used for the project, so all rights to that name will be waived by the person making the suggestion.  That the URL should be available, apart form that he’s open to ideas.

You can contact Frank in numerous ways they are listed below;

www.autonessus.com/contact-us

www.twitter.com/autonessus

or suggestions AT autonessus DOT com

and for the awesome rename movie (a little tongue in cheek) www.tinyurl.com/renamemovie

Catch Frank at www.cupfighter.net

www.autonessus.com

The show can be downloaded here

I think i’ll submit a suggestion of FiMoT (FindMoreTime)