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

JBDev : A Tool For Jailbreak And TrollStore Development

JBDev is a specialized development tool designed to streamline the creation and debugging of jailbreak…

15 hours ago

Kereva LLM Code Scanner : A Revolutionary Tool For Python Applications Using LLMs

The Kereva LLM Code Scanner is an innovative static analysis tool tailored for Python applications…

17 hours ago

Nuclei-Templates-Labs : A Hands-On Security Testing Playground

Nuclei-Templates-Labs is a dynamic and comprehensive repository designed for security researchers, learners, and organizations to…

19 hours ago

SSH-Stealer : The Stealthy Threat Of Advanced Credential Theft

SSH-Stealer and RunAs-Stealer are malicious tools designed to stealthily harvest SSH credentials, enabling attackers to…

19 hours ago

ollvm-unflattener : A Tool For Reversing Control Flow Flattening In OLLVM

Control flow flattening is a common obfuscation technique used by OLLVM (Obfuscator-LLVM) to transform executable…

19 hours ago

Cybersecurity – Tools And Their Function

Cybersecurity tools play a critical role in safeguarding digital assets, systems, and networks from malicious…

2 days ago