All Projects → smealum → Butthax

smealum / Butthax

lovense hush buttplug exploit chain

Programming Languages

assembly
5116 projects

Projects that are alternatives of or similar to Butthax

Iot Vulhub
IoT 固件漏洞复现环境
Stars: ✭ 341 (+89.44%)
Mutual labels:  iot, exploit
Homebridge Dafang
Homebridge Plugin for Xiaomi Dafang / Wyze Cam IP Camera => Hey Siri, Start Video Recording
Stars: ✭ 176 (-2.22%)
Mutual labels:  iot
Iot Nodejs
Client libraries and samples for connecting to IBM Watson IoT using nodejs
Stars: ✭ 170 (-5.56%)
Mutual labels:  iot
Aquila
IPCamera, aim to support V4L2/UVC/RaspberryPi/Hisi/XXX SDK production
Stars: ✭ 173 (-3.89%)
Mutual labels:  iot
Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+6843.33%)
Mutual labels:  iot
Openwrt Node Packages
OpenWrt Project Node.js packages. v10.x LTS and v12.x LTS and v14.x LTS
Stars: ✭ 176 (-2.22%)
Mutual labels:  iot
Make
📖📖📖📖📖 写给软件工程师看的硬件编程指南
Stars: ✭ 170 (-5.56%)
Mutual labels:  iot
Xfrps
xfrps fork from frp but mainly use its server side feature and cooperate with xfrp
Stars: ✭ 179 (-0.56%)
Mutual labels:  iot
Heapinspect
🔍Heap analysis tool for CTF pwn.
Stars: ✭ 177 (-1.67%)
Mutual labels:  exploit
Polymcu
An open framework for micro-controller software
Stars: ✭ 173 (-3.89%)
Mutual labels:  iot
Coot
玩转 IFTTT 体验极客生活,互联网自动化神器【已经停止开发】
Stars: ✭ 172 (-4.44%)
Mutual labels:  iot
Tigase Server
Highly optimized, extremely modular and very flexible XMPP/Jabber server
Stars: ✭ 170 (-5.56%)
Mutual labels:  iot
Bee
A framework for IOTA nodes, clients and applications in Rust
Stars: ✭ 176 (-2.22%)
Mutual labels:  iot
Vectorsql
VectorSQL is a free analytics DBMS for IoT & Big Data, compatible with ClickHouse.
Stars: ✭ 171 (-5%)
Mutual labels:  iot
Adafruit io python
Adafruit IO Python Client Library
Stars: ✭ 176 (-2.22%)
Mutual labels:  iot
Broadlink Mqtt
MQTT client to control BroadLink devices
Stars: ✭ 169 (-6.11%)
Mutual labels:  iot
Naomi
The Naomi Project is an open source, technology agnostic platform for developing always-on, voice-controlled applications!
Stars: ✭ 171 (-5%)
Mutual labels:  iot
Esp Va Sdk
Espressif's Voice Assistant SDK: Alexa, Google Voice Assistant, Google DialogFlow
Stars: ✭ 174 (-3.33%)
Mutual labels:  iot
Vorto
Vorto Project
Stars: ✭ 179 (-0.56%)
Mutual labels:  iot
Cod Exploits
☠️ Call of Duty - Vulnerabilities and proof-of-concepts
Stars: ✭ 178 (-1.11%)
Mutual labels:  exploit

butthax

This repository contains code for an exploit chain targeting the Lovense Hush connected buttplug and associated software. This includes fully functional exploit code for a Nordic Semiconductor BLE stack vulnerability affecting all versions of SoftDevices s110, s120 and s130, as well as versions of the s132 SoftDevice 2.0 and under.

Exploit details can be found in the slides for the associated DEF CON 27 talk, Adventures in smart buttplug penetration (testing).

How to build

I don't really expect anyone to actually build this, but if for some reason you do, follow these steps:

  1. Get armips (I used version 0.10.0) and have it in your PATH
  2. Install devkitARM
  3. Get the buttplug's SoftDevice from Nordic (s132_nrf52_1.0.0-3.alpha_softdevice.hex) and place it in the inputbin directory (or dump it from your own plug)
  4. Dump your buttplug's application firmware through SWD (for example with j-link command "savebin hushfw.bin, 1f000, 4B30") and place it as hushfw.bin in the inputbin directory
  5. Run build.bat - it should generate exploitfw.zip. You can then use the Nordic Toolbox app to enable DFU mode on the target buttplug using the "DFU;" serial command and then flash the custom firmware you just built through the app's DFU functionality

NOTE: if anything goes wrong building this you could totally end up bricking your toy, or worse. So please be sure to 100% know what you're doing and don't blame me if it does mess up.

Files

  • fwmod: malicious firmware for the Hush
    • firmwaremod.s: edits the firmware to (a) install hooks into the softdevice that will allow us to intercept raw incoming/outgoing BLE packets and (b) send our own raw BLE packets
    • exploit
      • source/main.c: C implementation of the Nordic SoftDevice BLE vulnerability exploit
      • source/payload.c: binary payload to be sent to and run by the victim USB dongle
  • inputbin: input binaries that i don't want to redistribute because i didn't make them and don't want to get in trouble (BYOB)
  • js/t.js: JavaScript payload to run in the Lovense Remote app - downloads an EXE file, runs it, and then forwards the payload to everyone in the user's friend list
  • s132_1003a_mod: modifications to the 1.0.0.3alpha version of the s132 SoftDevice (which is what the Hush ships with) which allow our modded firmware to interact with the BLE stack - must be built before fwmod
  • scripts: various python scripts to help build this crap
  • shellcode: a few assembly files for tiny code snippets used around the exploit chain - doesn't need to be built as they're already embedded in other places, only provided for reference
    • flash.s: source for fwmod/exploit/source/payload.c, ie the payload that runs on the victim USB dongle - contains code to generate the HTML/JavaScript payload, flash it to the dongle for persistence, and then send it over to the app

Contact

You can follow me on twitter @smealum or email me at [email protected].

Disclaimer

don't be a dick, please don't actually try to use any of this

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].