This post details the step-by-step method required to extract a plist/OAuth token from a standard (non encrypted) iTunes backup of any iOS device (iPod Touch, iPhone and iPad) and then copy this onto another device to automatically log in using those creditials.
NOTE: The process outlined below will not work if you have iTunes set to encrypt your iOS backups. This method was confirmed as working as of 10th April 2012 using the latest iOS xxx and current Facebook (v.4110.0), Dropbox (v1.4.6) and LinkedIn (v35) iOS apps. You do not need to have a jailbroken iPhone or iPad for this to work. I do not condone using the methods below to gain access to anybody’s accounts without their prior permission, I hold no responsibility if using the information in this post lands you in trouble with your ex partner, current partner, your boss, the police, your kids, etc.
In case you weren’t aware a security flaw was found by Gareth Wright earlier this week that allows your Facebook login key to be copied form one iOS device to another and essentially allow a 3rd party access to your account without needing to know your account email address or password. The same vulnerability has also been found in Dropbox, LinkedIn, Tumblr, Vimeo and 1Password. At the time of writing this post, Dropbox have said they are going to address the problem and 1Password have gone one step further and rewritten the way the user details are stored so this exploit cannot be used anymore and have submitted the update to Apple for approval before it’s released. Facebook appear to dismiss the security vulnerability saying it is only really an issue if your device is jailbroken or you use a 3rd party app to access the files on your iOS device. WRONG! If you have ever connected your iOS device to iTunes via USB and iTunes has taken a backup of your device then you are at risk (unless you tick the box to encrypt your backups, in which case rest easy and don’t worry about anything written below). The plist file that is the centre of this whole security flaw is copied to your computer via iTunes backup, no third party app here extracting files as Facebook suggests. Granted you need a third party app to access the file and place it onto another iOS device but crucially, the insecure file is copied to your computer during a normal iTunes backup.
What does this mean to most end users then? Probably not a lot to be honest. If you only ever connect your iPhone or iPad to your own personal computer then there’s nothing to worry about since the insecure file, locked away in the backup of your device, resides on your personal machine and nobody else can get to it easily. But in today’s modern and social society, the likelihood is that you have a computer you share with your wife, girlfriend, housemates, family or you have been at a friends house with a low battery and connected your iPhone to give it a little extra juice. This is where things become a little more vulnerable, if the computer you connected your device to made a backup of your device (remember a backup is always made when you are updating the iOS via iTunes) then the crucial plist file with your OAuth key in for apps such as Facebook, Dropbox, LinkedIn and more now reside on that computer in that backup.
So if you currently share a computer with your partner and want to log into Facebook as them, you can if you follow the steps below. Likewise, if your ex-partner used to connect their iPhone or iPad to your computer but left you several months ago for somebody hotter, then you too can dip into their old backup on your computer and log into Facebook and other apps as them. [Again I re-iterate the moral/legal implications of such actions]
Step by Step Guide
Ok so how can you hack into somebody else’s Facebook using a file from their iOS backup? You’ll need two pieces of sofware:
1 – to read the backup files an extract the plist file
2 – to allow you to drag and drop plist files onto your current iOS device
Let us pretend you want to gain access to your ex-girlfriend’s Facebook account and you know that she used to connect her iPhone or iPad to your computer. The first thing to do is open up iTunes and go to Preferences and select the Devices icon along the top which lists all device names that are backed up on your machine along with date of the backup.
Hopefully your ex-girlfriend changed the name of her device to make identification in the list easier, but if you just have several just named iPhone 4 or iPad then you may have to try with all of them one at a time. In my case I’ll be demonstrating it with my girlfriend’s backup (she’s not an ex and I have her permission), her name is Kim and you can see a backup of her iPhone and iPad from April 2012 but these could be considerably older depending on when the device was last connected.
Right so now you know you’ve got a backup from your exes phone what next? You need to install an app to be able to extract files from inside the backup files created by iTunes, there’s a lot of software around that can do this but the ones listed below are not only FREE they are easy to use:
- If you are on Windows you will need to download iPhone Backup Browser – http://code.google.com/p/iphonebackupbrowser/
- If you are on Apple OS X you will need to download iPhone Backup Extractor – http://supercrazyawesome.com/
C:\Documents and Settings\user\Application Data\Apple Computer\MobileSync\Backup
Windows Vista& Windows 7
Select the backup you want to extract files from, in this case Kim iPhone and then hit choose.
Now you will see a list of applications that were present on that device at the time the backup took place. Look for the one that belongs to the app you want to “hack”, in this case lets try Kim’s FaceBook app so I scroll down until I see com.facebook.Facebook and hot Extract.
You will now be prompted for somewhere to extract the data to. I just created a temporary folder called Test in my Documents and pointed it at that.
This then extracts the com.facebook.Facebook plist file to your local computer. Now go and open the folder where you just extract the com.facebook.Facebook file to.
If you look in com.facebook.Facebook/Library/Preferences you should hopefully see a com.facebook.Facebook.plist. This is the file that has the key to get into their Facebook profile on any iOS device.
You are now done with the iPhone Backup Explorer/Extractor application and can close it.
Important step: You need to completely exit Facebook app on your iOS device before proceeding, logging out of Facebook via the app is not enough. You actually need to properly quit the app. Simple way? Restart your iOS device. Method two, press the home button to show the home screen. Now double tap the home button to launch the recent apps bar and tap and hold on the Facebook icon in the bottom bar until they all wobble, click the delete icon on the top left to quit Facebook background app.
The next step is to copy the extracted plist file onto your current device. The following steps are the same whether you are using Windows or OS X.
Once you have downloaded iExplorer connect your current iPhone/iPad to your computer via USB and quit iTunes if it automatically pops up and launch iExplorer. Your iPhone/iPad should show up in iExplorer and allow you to browse the contents of your device.
Navigate to the same folder on your device that you just extracted the plist file from. In the case of Facebook this is Apps/Facebook/Library/Preferences and you should see your plist file in there. For good measure you want to take a backup of your plist just so you can replace it when you are done. I copied my plist to my downloads folder temporarily.
Next open up the folder where you saved the extracted plist from (Documents/Test in my example) and drag and drop the plist file onto the iExplorer window so it drops into the Preferences folder right on top of your existing com.facebook.Facebook.plist.
You should be prompted to replace an existing file. Click OK.
That’s it, done! Now go to your iPhone or iPad and relaunch Facebook and basque in your evilness as you are automatically logged in as your ex girlfriend, wife, brother, sister, boss etc to do as you please.
Disclaimer: This post is purely for informational purposes for those who want to see how the process works and how vulnerable apps such as Facebook are due to sloppy programming. If you want to protect yourself from having this happen to you then make sure you tick the option in iTunes to encrypt your iOS backups and avoid connecting your iOS device to any computers other than your own until the app developers re-write their apps to use keychain stores.
- You might be able to remove the access token via Facebook web page but the easiest way to ensure that your account cannot be accessed using this method is to simply change your facebook password. This will instantly render all old plist files useless.
Normally when you install Facebook iOS app and log in for the first time from a new device you get sent an email saying somebody has accessed your account which would obviously alert the person who you are logging in as to your actions, however, this alert is not sent when you access an account using a copied plist file so nothing to worry about there then. Here is an email I get if I log into my Facebook account on a new iOS device I’ve not logged in from before
- Once again note that the unsuspecting person who’s plist file you are extracting from the backup knew nothing about this. They did not have a jailbroken iOS device nor did they use a 3rd party app they simply connected their iOS devices to a computer and iTunes made a backup of that device.