November 29, 2010: 8:42 pm: Forensics, Password Security

I have decided I will put together some screen cast video and supplement it with the blog post notes to show how I setup the AccessData DNA/EC2 rig.

I noticed something tonight as I am new to Amazon EC2.  You can get a maximum of 20 on demand instances.  There is a way to request your cap be raised.  So perhaps if you are law enforcement or an established forensics firm you can get upwards of 100 nodes on demand.

However there is another way.  Spot instances are based on unused Amazon capacity that you bid for.  That limit is 100 instances.  So if you bid higher than the spot pricing at that time to hold your instances you could get 100 running without special permission.  When I wrote this post the spot pricing for the medium CPU Linux was $0.059 / hour compared to $0.17 / hour for on demand guaranteed instances.

Keep in mind my test over the weekend gave us 1,330,000 passwords per second average for that one test.  If we assume that stays consistent then we are looking at the below options in an hour.  We are also talking the DNA worker running on Ubuntu under Wine.  I do not know how much, if at all, the average would increase if you did a Fedora instance with the native linux DNA Worker code.

So if you are limited to 20 2 CPU instances averaging 1,330,000 passwords per second then an hour would cost you on demand $3.40 and get you 95,760,000,000 password attempts.

If you get 100 2 CPU instances from spot pricing it could be $5.90 and 478,800,000,000 password attempts in an hour.

For some interesting reading on EC2 and PGP cracking check out the post over at electrical alchemy.

TwitterFacebookGoogle BookmarksLinkedInInstapaperGoogle ReaderPosterousStumbleUponShare
February 5, 2010: 9:27 pm: Forensics, Programming

I have finally released my crowbarPGP Cocoa application.  Included in the Install DMG you can download below is a folder called Extras.  I put several OSX Automators in it that I have found useful or mentioned in other blog posts.  You can edit them in Automator to see how they work.

I also added a new preference that lets you choose not to growl notify the found password while still getting a notification.  Soon I will add that to the other crowbar apps.  I also finally fixed the code to automatically ignore the carriage return character that comes from dictionary files originating on the Windows OS.  This too I will shortly add to the other crowbar apps and release through the auto updates mechanism.

crowbarPGP is a dictionary attack tool for cracking PGP (www.pgp.com) Whole Disk Encryption and PGD virtual PGP Disk files.  It requires 10.5 or 10.6 OSX.  One key thing. I included the PGD attack feature.  However I found a memory leak in the pgpdisk command last year.  I informed PGP of it and provided them the backup material.  Unfortunately my contact is no longer with PGP and the memory leak is still there in the recent v10.0 PGP for Mac OSX.  So I strongly suggest you do not use that feature until they patch it.  When they do I will post a blog update and likely do a small version increment to the program through the automatic updates feature.

Thanks again to Paul Figgiani for his patience in making GUI layout and improvement suggestions.

Thanks as well to the following code and frameworks:

crowbarPGP

crowbarPGP - Download

TwitterFacebookGoogle BookmarksLinkedInInstapaperGoogle ReaderPosterousStumbleUponShare
July 19, 2009: 5:46 pm: Data Security, Forensics, Password Security

While I am working on a crowbar version for PGP whole disk encryption.  I took a few minutes to modify the previous script for PGP virtual disk files to hit wde drives in case you need something right away.  Keep in mind you need to determine the drive number with something like df, diskutil etc.

When running the script you will see output like

Operation failed! (errno = -12000)
cannot recognize user record at index 1536:
reached end of user record list
ERROR, wrong passphrase.
Operation failed! (errno = -12000)
Password found!

Operation failed! (errno = -12000)
cannot recognize user record at index 1536:
reached end of user record list
ERROR, wrong passphrase.
Operation failed! (errno = -12000)
Password found!

Here is the script.  Obviously you will need to change the path to your dictionary and the number after the –disk to match the drive you are attacking.  If  you are clever the command for pgpwde is the same under windows with pgp installed.  You could build a similar script there.

#!/bin/bash

for word in $(cat /Volumes/ExternalDrive/Dictionaries/test.txt | grep -v “#”)

do

echo -n $word | pgpwde –auth-disk –passphrase $word –disk 0

if [[ $? = 0 ]]

then

echo “Password found!”

echo $word

exit 0

fi

done

echo “password not found :(“

exit 1

TwitterFacebookGoogle BookmarksLinkedInInstapaperGoogle ReaderPosterousStumbleUponShare
June 2, 2009: 9:05 pm: Forensics

I actually took a vacation to the beach a couple weeks ago.   Relaxing as I watched the ocean waves I decided to throw together a crowbar version to attack pgp virtual disk files.  So where is it?

It did not take me long to adapt my script attack to a crowbar version.  I did run into a big problem though and this is why I have not released crowbarPGP.  After running for about 10-15 minutes it will stop trying to mount the pgp virtual disc file. And in fact restarting the program won’t resume the attack. You cannot get it to start over till you reboot your mac.  My conclusion is that there must be some sort of memory leak in the pgpdisk command.  Hit that with a thousand attempts in rapid succession and it goes to hell.

I just don’t want to release a program version when I know its not going to be able to run to completion regardless of the dictionary file size.  I’ll catch the heat for what I feel is clearly a flaw in pgpdisk.

*Update June 5, 2009*  PGP contacted me, I sent them the materials and a video demo.  They actually said something about a thread not being released and it will be fixed.  Soon as that works I’ll release crowbarPGP.

TwitterFacebookGoogle BookmarksLinkedInInstapaperGoogle ReaderPosterousStumbleUponShare
February 21, 2009: 2:37 pm: Data Security, Forensics, Password Security

Today I was not up for doing any full program code.  On top of that I recorded an upcoming Typical Mac User show with Victor answering some listener questions about file encryption.  One of the things we talked about was PGP for Mac.  I got to wondering.  What are the odds that they provide a command line option for mounting PGP encrypted discs?  Can I do yet another dictionary attack script?

Here is what I have initially found.  Note we are talking about a PGP virtual disk file setup for passphase NOT key authentication.  You must have the commercial Mac PGP Whole Disk Encryption application installed.

There is a pgpdisk –mount command.  So can we toss it in a loop like we did for DMG files?  Why of course we can!  Note that you need to change to the desired dictionary path and file.   Same for the target .PGD file you want.  Note on the PGD file my example is PGPTest with the full path minus the extension in the below example.

You will notice when you run your attack that you see some text about “Error -11998 – buffer too small”  This is because normally if the passphrase you enter is wrong it will prompt you three more times.  The way we are piping in at the front of the line with the echo we cause it to error and ignore those multiple entry attempts and keep going through our dictionary file.

#!/bin/bash

for word in $(cat /Volumes/ExternalDrive/Dictionaries/test.txt | grep -v “#”)

do

echo -n $word | pgpdisk –mount /Volumes/MyBook/PGPDisks/PGPTest –passphrase $word

if [[ $? = 0 ]]

then

echo “Password found!”

echo $word

exit 0

fi

done

echo “password not found :(”

exit 1

TwitterFacebookGoogle BookmarksLinkedInInstapaperGoogle ReaderPosterousStumbleUponShare