Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS Simulator - View content of Keychain

Tags:

ios

keychain

I am storing username and password of my application in iOS keychain. I am developing the application using Appcelerator and am using the following module. Through the API, I can perform all the CRUD operations ob both device and simulator.

After reading few blogs and topics on penetration testing for keychain, I came to know the keychain information is stored on a SQL database. My objective is to find this particular database and open to read its content. I want to see that the information has been stored there (accepted that the data will be encrypted and all gibberish) but hoping that there will be an identifier which will specify the access group.

I just want to open the database, check the table and ensure that the content has been saved in that table. I will be performing this entire task on iOS 9.3 simulator as I do not have a jail-broken device.

like image 324
Soumya Avatar asked Jan 25 '17 22:01

Soumya


People also ask

How do I enable iCloud keychain on simulator?

Open the Settings app and tap your Apple ID banner at the top of the Settings menu. Tap iCloud. Scroll down the list and select Keychain. Toggle on the iCloud Keychain switch and enter your Apple ID password if prompted.

Where is iOS simulator data stored?

~/Library/Application Support/iPhone Simulator/User/ Show activity on this post.

How do you inspect iPhone simulator?

You'll need to go to Settings > Advanced and check the Show Debug Menu option. Then you'll see the option to open the web inspector for the Simulator right from that menu. With the Web Inspector open, you can debug inside the Simulator just like you could right in a desktop browser with DevTools.


1 Answers

This should not be anything too hard, especially having in mind that you are prepared to see "encrypted and gibberish" content in there.

You should simply go to ~/Library/Developer/CoreSimulator/Devices folder and find UUID of your desired simulator whose Keychain you want to access. Once you have found which UUID-named folder belongs to your Simulator, go inside that folder and go to data/Library/Keychains folder.

In there, you will see keychain-2-debug.db file which is the SQLite database file you are looking for.

After that, use a tool like http://sqlitebrowser.org/ to browse the database.

SQLite browser

I managed to find things I was writing into Keychain when I have opened the database with this tool, then going to Browse Data and picking up genp for the table. After that, check agrp column field value, because it shows who wrote that entry to Keychain database. You will find stuff you wrote with your app by spotting TEAMID.com.your.app.bundle.id value in there.

Cheers

like image 178
uerceg Avatar answered Oct 12 '22 18:10

uerceg