Exploitation Tools

Adding An Exploit – How To Integrate And Manage New Exploits In BlueToolkit

To add an exploit one has to go through a similar process as with the hardware profile, but in the case of the exploits, there are more options to provide and set.

If a new exploit needs a new hardware support then you first need to add a hardware profile, otherwise, you should use the default hardware profile.

To add an actual exploit profile you need to go through the following process:

  1. Create an exploit {name}.yaml file and name it as you wish. For example, exploit1337.yaml should be stored in the exploits directory
  2. Then you need to add the description of the exploit in YAML to the file which should have the following structure, see example 1:
name: "internalblue_CVE_2018_5383_Invalid"
author: "Internalblue team"
type: "PoC"
mass_testing: true
bt_version_min: 2.0
bt_version_max: 5.2
hardware: "nexus5"
command: "./internalblue_CVE_2018_5383_Invalid.sh"
parameters:
  - name: "target"
 name_required: false
 type: "str"
 help: "Target MAC address"
 required: true
 is_target_param: true
 parameter_connector: " "
  - name: "directory"
 name_required: false
 type: "str"
 help: "Directory to save output"
 required: true
 is_target_param: false
 parameter_connector: " "
log_pull:
  in_command: true
  pull_parameter: "directory"
directory:
  change: true
  directory: "modules/tools/custom_exploits"

3. With that you added an exploit, and you can verify that with the following command

sudo -E env PATH=$PATH bluekit -l
  1. If your exploit is not a DoS proof of concept, then we would ask you to add the following wrapper
    1. Call report_vulnerable function from the bluekit package when the exploit worked and a target device is vulnerable. Add data you want to save in the toolkit logs.
from bluekit.report import report_not_vulnerable, report_vulnerable, report_error

report_vulnerable("STRING YOU WANT TO APPEAR IN THE LOGS")
  • Call report_not_vulnerable function from bluekit package when the device is not vulnerable. Add the data you want to save in the toolkit logs.
from bluekit.report import report_not_vulnerable, report_vulnerable, report_error

report_not_vulnerable("STRING YOU WANT TO APPEAR IN THE LOGS")
  • For other codes please consult the documentation
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Install phpMyAdmin on Ubuntu 18.04 with Apache: Setup Guide

phpMyAdmin is a free, open-source PHP application that provides a browser-based interface for managing MySQL and…

2 days ago

Install Zabbix on Ubuntu 18.04: Server Setup with MySQL Backend

Zabbix is a mature open-source infrastructure monitoring platform that collects metrics from network devices, servers, virtual…

2 days ago

Install Gradle on Ubuntu 18.04: Set Up OpenJDK and Environment

Gradle is a powerful open-source build automation tool used primarily for Java, Kotlin, Groovy, and Android…

2 days ago

Install TeamViewer on Ubuntu 18.04: Download the .deb and Set Up

TeamViewer is a proprietary cross-platform remote access application for remote control, desktop sharing, file transfer, and online meetings. It is one of the most widely used remote support tools in the world, available for Windows, macOS, Linux, iOS, and Android. TeamViewer is not included in the Ubuntu repositories because it is proprietary software. This guide covers how to install TeamViewer on Ubuntu 18.04 using the official .deb package. The same steps apply to Ubuntu 16.04, Debian, Linux Mint, and Elementary OS. <strong>Prerequisite:</strong>&nbsp;You&nbsp;need&nbsp;sudo&nbsp;access. Install TeamViewer on Ubuntu: Download the .deb Package Download the official TeamViewer .deb package. The _amd64.deb suffix indicates this package is for 64-bit x86-64 systems. For ARM-based machines, download the appropriate package from the TeamViewer Linux downloads page: bashwget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb Install the package using apt. The ./ prefix tells apt this is a local file path, not a package name from the repositories:…

2 days ago

Install Nagios Core on Ubuntu 18.04: Build from Source Guide

Nagios is one of the most widely used open-source infrastructure monitoring systems in the world. It…

2 days ago

Install Laravel on Ubuntu 18.04 with Composer: Setup Guide

Laravel is an open-source PHP web application framework built around an expressive, developer-friendly syntax. It is…

3 days ago