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.
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.
~/Library/Application Support/iPhone Simulator/User/ Show activity on this post.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With