Categories: Kali Linux

IDB – Tool To Simplify Some Common Tasks For iOS Pentesting & Research

IDB is a tool to simplify some common tasks for iOS pentesting and research. Originally there was a command line version of the tool, but it is no longer under development so you should get the GUI version.

It has some prerequisites. As it turns out, things like ruby and Qt are difficult to bundle into a stand-alone installer. While it itself can easily be installed via Ruby Gems, you need to have some additional software first.

Also Read PCILeech – Direct Memory Access (DMA) Attack Software

Prerequisites

Ruby Environment

It requires a valid ruby 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.

Important Note: 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:

  • Under rvm use rvm install 2.4.1 --enable-shared when installing ruby.
  • Under ruby-install/chruby use-- --enable-shared when installing ruby.
  • Under ruby-build/rbenv with ruby-build use CONFIGURE_OPTS=--enable-shared [command] when installing Ruby.

Install Other Prerequisites

For OS X:

Homebrew removed Qt4 from the main repositories and only provides Qt5 libraries. Unfortunately, there are no Qt5 bindings for ruby available as of yet. The following will add a repository containing Qt4 libraries. Thanks to moloch- for posting the instructions on Github.

1
2
3
brew tap cartr/qt4
brew tap-pin cartr/qt4
brew install cartr/qt4/qt@4

Install the remaining dependencies

1
brew install cmake usbmuxd libimobiledevice

Building nokogiri will likely require a working XCode installation:

1
xcode-select --install

If you run into problems compiling nokogiri upon installation of idb.

For Ubuntu:
1
apt-get install cmake libqt4-dev git-core libimobiledevice-utils libplist-utils usbmuxd libxml2-dev libsqlite3-dev -y

Installing IDB

Production Use

  • Install idb: gem install idb
  • Run idb: idb
  • Hooray!

Development

  • Clone the repository: git clone https://github.com/dmayer/idb
  • cd idb
  • bundle install (using the right ruby version)
  • As for every ruby gem, the application code lives in the lib folder
  • Run idb by calling bundle exec idb
    • Note: Running bin/idb directly won’t 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 in the current bundler environment where bundler supplies the gem from source.

R K

Recent Posts

Bomber : Navigating Security Vulnerabilities In SBOMs

bomber is an application that scans SBOMs for security vulnerabilities. So you've asked a vendor…

13 hours ago

EmbedPayloadInPng : A Guide To Embedding And Extracting Encrypted Payloads In PNG Files

Embed a payload within a PNG file by splitting the payload across multiple IDAT sections.…

13 hours ago

Exploit Street – Navigating The New Terrain Of Windows LPEs

Exploit-Street, where we dive into the ever-evolving world of cybersecurity with a focus on Local…

3 days ago

ShadowDumper – Advanced Techniques For LSASS Memory Extraction

Shadow Dumper is a powerful tool used to dump LSASS (Local Security Authority Subsystem Service)…

4 days ago

Shadow-rs : Harnessing Rust’s Power For Kernel-Level Security Research

shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…

2 weeks ago

ExecutePeFromPngViaLNK – Advanced Execution Of Embedded PE Files via PNG And LNK

Extract and execute a PE embedded within a PNG file using an LNK file. The…

3 weeks ago