Assessing the security of an iOS application typically requires a plethora of tools, each developed for a specific need and all with different modes of operation and syntax. The Android ecosystem has tools like “drozer” that have solved this problem and aim to be a ‘one stop shop’ for the majority of use cases, however iOS does not have an equivalent.
Needle is an open source modular framework which aims to streamline the entire process of conducting security assessments of iOS applications, and acts as a central point from which to do so. Given its modular approach, Needle is easily extensible and new modules can be added in the form of python scripts. Needle is intended to be useful not only for security professionals, but also for developers looking to secure their code. A few examples of testing areas covered by Needle include: data storage, inter-process communication, network communications, static code analysis, hooking and binary protections. The only requirement in order to run Needle effectively is a jailbroken device.
Needle v0.0.3
Needle has been successfully tested on both Kali and OSX .
Latest Changelog v0.3:
* Port to iOS9.
Now every module of Needle support iOS9, with the exception of the following ones:
++ binary/class_dump
++ dynamic/memory/heap_dump
Usage & Download from git:
Kali 2.0 and Rolling: gitclone https://github.com/mwrlabs/needle.git && cd needle # Unix packages sudoapt-getinstallpython2.7 python2.7-devsshpasssqlite3libimobiledevice4libimobiledevice-utilslib32ncurses5-dev # Python packages sudopipinstallreadline sudopipinstallparamiko sudopipinstallsshtunnel sudopipinstallfrida sudopipinstallmitmproxy Macintosh/OSX: # Core dependencies brewinstallpython brewinstalllibxml2 xcode-select --install # Python packages sudo -H pipinstall --upgrade --userreadline sudo -H pipinstall --upgrade --userparamiko sudo -H pipinstall --upgrade --usersshtunnel sudo -H pipinstall --upgrade --userfrida # sshpass brewinstallhttps://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb # mitmproxy wgethttps://github.com/mitmproxy/mitmproxy/releases/download/v0.17.1/mitmproxy-0.17.1-osx.tar.gz tar -xvzfmitmproxy-0.17.1-osx.tar.gz sudocpmitmproxy-0.17.1-osx/mitm* /usr/local/bin/ # libimobiledevice4 brewinstall -v --freshautomakeautoconflibtoolwgetlibimobiledevice brewinstall -v --HEAD --fresh --build-from-sourceideviceinstaller Upgrade: gitpulloriginmasterDownload : v0.0.3.zip | v0.0.3.tar.gz
Source: https://github.com/mwrlabs