
needle v1.1.0 – The iOS Security Testing Framework.
Changelog needle v1.1.0 – 2017-05-05:
* Added
– [CORE] Issue Auto-Detection: modules will now automatically detect and keep track of issues in the target app. All the issues are going to be stored in the issues.db SQLite database, contained in the chosen output directory. Every issue will hold the following attributes: app, module, name, content, confidence level (‘HIGH’, ‘MEDIUM’, ‘INVESTIGATE’, ‘INFORMATIONAL’), outfile
– [CORE] New commands: issues (list all the issues identified), add_issue (manually add an issue to the collection)
– [CORE] Frida Attach or Spawn: added option in Frida modules to either attach to or spawn a process
– [CORE] New global option: skip_output_folder_check. It allows to skip the check that ensures the output folder does not already contain other files
– [MODULE] Created the device category
– [MODULE] Dependency Installer (device/dependency_installer)
– [MODULE] MDM Effective User Settings (mdm/effective_user_settings) [from @osimonnet]
* Fixed
– [CORE] Moved installation of dependencies to its own module (device/dependency_installer)
– [CORE] Frida support for 32bit devices
– [CORE] Automatic reconnection if SSH/Agent connection drops (Retry decorator)
– [CORE] Re-introduce support for ipainstaller (iOS<10)
– [MODULE] Compatibility of modules requiring app decryption (iOS 10)
* Removed
– [CORE] SETUP_DEVICE global option, in favour of device/dependency_installer
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 has been successfully tested on both Kali and OSX.
Usage & Download from git:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
git clone https://github.com/mwrlabs/needle.git && cd needle cd needle Kali 2.0 and Rolling: # Unix packages sudo apt-get install python2.7 python2.7-dev sshpass sqlite3 libimobiledevice4 libimobiledevice-utils lib32ncurses5-dev # Python packages sudo pip install readline sudo pip install paramiko sudo pip install sshtunnel sudo pip install frida sudo pip install mitmproxy sudo pip install biplist Macintosh/OSX: # Core dependencies brew install python brew install libxml2 xcode-select --install # Python packages sudo -H pip install --upgrade --user readline sudo -H pip install --upgrade --user paramiko sudo -H pip install --upgrade --user sshtunnel sudo -H pip install --upgrade --user frida sudo -H pip install --upgrade --user biplist # sshpass brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb # mitmproxy wget https://github.com/mitmproxy/mitmproxy/releases/download/v0.17.1/mitmproxy-0.17.1-osx.tar.gz tar -xvzf mitmproxy-0.17.1-osx.tar.gz sudo cp mitmproxy-0.17.1-osx/mitm* /usr/local/bin/ # libimobiledevice4 brew install -v --fresh automake autoconf libtool wget libimobiledevice brew install -v --HEAD --fresh --build-from-source ideviceinstaller Upgrade: git pull origin master |
Download: v1.1.0.zip | v1.1.0.tar.gz
Source: https://github.com/mwrlabs | Our Post Before