{"id":2929,"date":"2016-12-14T12:43:05","date_gmt":"2016-12-14T12:43:05","guid":{"rendered":"http:\/\/www.pir8geek.com\/?p=2929"},"modified":"2016-12-14T12:43:05","modified_gmt":"2016-12-14T12:43:05","slug":"idb-ios-app-security-assessment-tool","status":"publish","type":"post","link":"https:\/\/www.jameseduard.com\/?p=2929","title":{"rendered":"idb &#8211; iOS App Security Assessment Tool"},"content":{"rendered":"<p><strong>idb<\/strong> is a tool to simplify some common tasks for iOS app security assessments and research. Please see the <a href=\"http:\/\/www.idbtool.com\/documentation\/\">Documentation<\/a>for a more detailed summary of each function.<br \/>\n<center><\/center><br \/>\n<b>Features<\/b><\/p>\n<ul>\n<li>Assessment Setup\n<ul>\n<li>SSH port forwarding<\/li>\n<li>Installation of helper utilities<\/li>\n<\/ul>\n<\/li>\n<li>App Information\n<ul>\n<li>Bundle information<\/li>\n<li>Registered URL Schemes<\/li>\n<li>Platform and SDK Versions<\/li>\n<li>Data folder location<\/li>\n<li>Entitlements<\/li>\n<\/ul>\n<\/li>\n<li>Data Storage\n<ul>\n<li>List plist files and data protection class<\/li>\n<li>List sqlite files and data protection class<\/li>\n<li>List Cache.db files and data protection class<\/li>\n<li>Full app file system browser\n<ul>\n<li>Browse files<\/li>\n<li>Download\/view files<\/li>\n<li>Check data protection<\/li>\n<li>Rsync folders and keep git revisions<\/li>\n<\/ul>\n<\/li>\n<li>Dump iOS keychain<\/li>\n<\/ul>\n<\/li>\n<li>Binary Analysis\n<ul>\n<li>Check for encryption<\/li>\n<li>Check for protections (ASLR\/PIE, DEP, ARC)<\/li>\n<li>List shared libraries<\/li>\n<li>Extract strings in app binary<\/li>\n<li>Dump class and method signatures<\/li>\n<\/ul>\n<\/li>\n<li>IPC\n<ul>\n<li>List URL handlers<\/li>\n<li>Invoke and fuzz URL handlers<\/li>\n<li>Monitor the iOS pasteboardA<\/li>\n<\/ul>\n<\/li>\n<li>Other Tools\n<ul>\n<li>Check for iOS backgrounding screenshot<\/li>\n<li>Install certificates<\/li>\n<li>Edit <code>\/etc\/hosts<\/code> file<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<br \/>\n<strong>Installation:<\/strong><br \/>\n<strong>Prerequisites:<\/strong><br \/>\n<strong>1. Ruby Environment<\/strong><br \/>\nidb requires a valid ruby 1.9.3 or 2.1 installation and it is recommended to install the used ruby using RVM. Ruby 2.0 does not work properly due to issues with qtbindings.<br \/>\n&nbsp;<br \/>\n<strong>Important Note:<\/strong> Shared library support is required! This is the default for many system rubies, but if you install a ruby via rvm or similar, you need to do one of the following:<br \/>\nUnder rvm use rvm install 2.1 &#8211;enable-shared when installing ruby.<br \/>\nUnder ruby-install\/chruby use &#8212; &#8211;enable-shared when installing ruby.<br \/>\nUnder ruby-build\/rbenv with ruby-build use CONFIGURE_OPTS=&#8211;enable-shared [command] when installing Ruby.<br \/>\n<strong>2. Install Other Prerequisites:<\/strong><br \/>\nFor OS X:<\/p>\n<pre>brew install qt cmake usbmuxd libimobiledevice<\/pre>\n<pre>apt-get install cmake libqt4-dev git-core libimobiledevice-utils libplist-utils usbmuxd libxml2-dev libsqlite3-dev -y\n<\/pre>\n<p><strong>3. Installing idb<\/strong><br \/>\nProduction Use:<\/p>\n<pre>Install idb: gem install idb\nRun idb: idb\nHooray!\n<\/pre>\n<p><strong>3. Development<\/strong><\/p>\n<pre>Clone the repository: git clone https:\/\/github.com\/dmayer\/idb\ncd idb\nbundle install (using the right ruby version)\n<\/pre>\n<p>As for every ruby gem, the application code lives in the lib folder<br \/>\nRun idb by calling bundle exec idb<br \/>\nNote: Running bin\/idb directly won\u2019t work since it will not find the idb gem (or use the installed gem and not the checked out source code). Instead, the bundle exec command runs idb in the current bundler environment where bundler supplies the gem from source.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/github.com\/dmayer\/idb\" target=\"_blank\" rel=\"noopener noreferrer\">Download idb at Github<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>idb is a tool to simplify some common tasks for iOS app security assessments and research. Please see the Documentationfor a more detailed summary of each function. Features Assessment Setup SSH port forwarding Installation of helper utilities App Information Bundle information Registered URL Schemes Platform and SDK Versions Data folder location Entitlements Data Storage List<\/p>\n","protected":false},"author":1,"featured_media":2930,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[726,431],"tags":[724,725],"class_list":["post-2929","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security-assessment-tool","category-vulnerability-analysis","tag-ios","tag-security-assessment-tool"],"_links":{"self":[{"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=\/wp\/v2\/posts\/2929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2929"}],"version-history":[{"count":0,"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=\/wp\/v2\/posts\/2929\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jameseduard.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}