• Stars
    star
    231
  • Rank 173,434 (Top 4 %)
  • Language
    C++
  • Created over 9 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Motorized, portable, 3D printed, Arduino-based combination lock cracker

C-C-C-C-Combo Breaker

Combo Breaker is a motorized, battery powered, 3D printed, Arduino-based combination lock cracking device. It is portable, open source, 3D models provided, and exploits a new technique I've discovered for cracking combination locks in 8 attempts or less, but in an even more exciting, automated fashion.

By @SamyKamkar

Follow me on Twitter or join my mailing list to hear about future projects and research.

Live demonstration and full details available in the video: KeySweeper


Point of Contact: @SamyKamkar // http://samy.pl

Video demonstration / explanation: https://youtu.be/YcpSvHpbHQ4

Released: May 14, 2015

Source code / 3D models: https://github.com/samyk/combobreaker

Unit Cost: < $100

Status: Operational, open source, open hardware, declassified.


(U) Hardware

Combo Breaker

Arduino Nano

$12: A 5V Arduino Nano microcontroller is used as the brains of the project.

Allegro A3967 / EasyDriver Stepper Driver

$20: I originally used an A3967-based EasyDriver which can drive a stepper motor up to 30V at 750mA. This is what precisely controls the dial.

or Allegro A4988

$7: Instead of the EasyDriver, I upgraded to a smaller, yet more powerful stepper driver that can go up to 1 amp (1000mA).

Stepper Motor

$30: You can use a normal stepper motor for the "simpler" version of the Combo Breaker build, however if you're working on creating the more advanced version, you'll need a double-shaft stepper motor like I liste below.

or Double Shaft Stepper Motor

$16: This double shaft stepper motor allows you to build the more advanced Combo Breaker while employing an optical rotary encoder on the back to detect the position of the stepper when the dial stops turning (which is part of the exploit employed).

HKT22 Optical Rotary Encoder

$25: For use only with the double shaft stepper motor, this optical rotary encoder lets us know what position the shaft of the stepper motor is at and allows us to employ an exploit on Master combination locks where the stepper will get locked into certain grooves within the internal combination disc of the lock.

Analog Feedback Servo

$15: This servo not only provides the torque we need to lift the shackle (90.26 oz*in), but has an additional wire providing analog feedback that we use to detect the state of the shackle and whether it has opened or not.

L7805 Voltage Regulators

$6: If you're using the analog feedback servo, you'll want to use an external voltage regulator to provide enough juice to the servo. While the Arduino is 5V and can drive the servo normally, it won't be able to pump out enough current for the servo when it starts hitting the shackle and could damage your Arduino.

500mAh 3S Lipo Battery

$20: This 500mAh 3S (3-cell, 11.1V) battery gives enough juice to the stepper motor to be very effective, and at 500mAh can last between 30-120minutes straight before having to be recharged.

Lipo Charger

$50: This lipo charger is overkill if only used for this project, but is a good one that I use at home for a wide range of batteries and cells. You don't need this one, but if you want to recharge the battery, you'll need a charger that supports 3-cell LiPos.

Arctic Alumina Thermal Adehsive

$8: Not required, but this is the thermal adhesive I use to permanently attach the heatsink to the stepper motor driver. Normal thermal paste has very little adhesion and kept falling off, so I switched from thermal paste to this thermal adhesive.

Digital Calipers

$16: If you don't already have digital calipers for precise measurements to measure the lock, for example, these are inexpensive and accurate.

Breadboard and Wires

$6: If you don't already have a breadboard and wires, they will kind of help.

Combo Breaker

Combo Breaker


(U) Software

Combo Breaker

Combo Breaker's source code can be obtained in entirety from my github: https://github.com/samyk/combobreaker

Combo Breaker 3D Print


(U) 3D Models

I've included the 3D models on my github: https://github.com/samyk/combobreaker

Combo Breaker 3D Print

Combo Breaker


(U) Contact

Point of Contact: @SamyKamkar

You can see more of my projects at http://samy.pl.

Follow me on Twitter or join my mailing list to hear about future projects and research.

Thanks!


More Repositories

1

poisontap

Exploits locked/password protected computers over USB, drops persistent WebSocket-based backdoor, exposes internal router, and siphons cookies using Raspberry Pi Zero & Node.js.
JavaScript
6,195
star
2

evercookie

Produces persistent, respawning "super" cookies in a browser, abusing over a dozen techniques. Its goal is to identify users after they've removed standard cookies and other privacy data such as Flash cookies (LSOs), HTML5 storage, SilverLight storage, and others.
JavaScript
4,320
star
3

magspoof

A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers. It can disable Chip&PIN and predict AMEX card numbers with 100% accuracy.
C
3,888
star
4

pwnat

The only tool/technique to punch holes through firewalls/NATs where multiple clients & server can be behind separate NATs without any 3rd party involvement. Pwnat is a newly developed technique, exploiting a property of NAT translation tables, with no 3rd party, port forwarding, DMZ, DNS, router admin requirements, STUN/TURN/UPnP/ICE, or spoofing.
C
2,846
star
5

slipstream

NAT Slipstreaming allows an attacker to remotely access any TCP/UDP services bound to a victim machine, bypassing the victim’s NAT/firewall, just by anyone on the victim's network visiting a website
Perl
1,887
star
6

skyjack

A drone engineered to autonomously seek out, hack, and wirelessly take full control over any other Parrot or 3DR drones within wireless or flying distance, creating an army of zombie drones under your control.
JavaScript
1,636
star
7

usbdriveby

USBdriveby exploits the trust of USB devices by emulating an HID keyboard and mouse, installing a cross-platform firewall-evading backdoor, and rerouting DNS within seconds of plugging it in.
Arduino
1,230
star
8

keysweeper

KeySweeper is a stealthy Arduino-based device, camouflaged as a functioning USB wall charger, that wirelessly and passively sniffs, decrypts, logs and reports back (over GSM) all keystrokes from any Microsoft wireless keyboard in the vicinity.
Eagle
1,084
star
9

opensesame

OpenSesame attacks wireless garages and can open most fixed-code garages and gates in seconds using a Mattel toy
C
833
star
10

samytools

Simple tools to make reverse engineering and console cowboying easier, primarily by data translation and manipulation + file handle piping. Mostly *nix tools with an emphasis on macOS.
Perl
555
star
11

webscan

Browser-based network scanner & local-IP detection
JavaScript
418
star
12

proxygambit

Anonymize and fracture network traffic/Internet access over a point-to-point wireless link or through TCP->GSM->wifi tunnel (advanced resurrection of ProxyHam)
Arduino
352
star
13

dingdong

Digital Ding Dong Ditch -- RTL-SDR + Arduino + GSM/SMS/FONA + RF + GQRX to hack a wireless doorbell from a text message
C++
229
star
14

quickjack

Quickjack is a point-and-click tool for intuitively producing advanced clickjacking and frame slicing attacks.
JavaScript
227
star
15

frisky

Instruments to assist in binary application reversing and augmentation, geared towards walled gardens like iOS and macOS
C++
198
star
16

glitchsink

Voltage glitcher to bypass instructions/bootloader protections *without* target modification
C++
115
star
17

jiagra

Javascript/Website Performance Enhancement
JavaScript
108
star
18

easel-driver

Easel driver for Linux, Mac, Windows, ARM, Raspberry Pi, Intel, FTDI, CH340, CH341, CP210x, FTDI clones, local, and remote access to GRBL-based CNC controllers
Shell
93
star
19

myo-osc

OSC bridge for the Thalmic Myo gesture control armband (cross-platform)
C++
80
star
20

BPL

The Blind Public License is a restrictive license that does not allow any person to read, view, interpret, emulate, debug, disassemble, reverse engineer, or execute ("Observing") any included code, schematics or engineering diagrams (the "Technology").
56
star
21

samyk

54
star
22

sqlpp

feature-rich, multi-database interfacing, multi-connection, colorful console-based SQL client
Perl
53
star
23

bgrid

wireless balloon LED network w/ATtiny24 + nRF24L01+ (PCB + firmware + TouchDesigner)
C++
46
star
24

buspirate

Bus Pirate (cross-platform, cleaned up for OS X)
C
42
star
25

crak

Crash Royale Attack Kit
JavaScript
39
star
26

openrTMS

Open rTMS (Transcranial Magnetic Stimulation)
C++
26
star
27

amazonshelper

TamperMonkey script (browser extension) for Amazon to add price by volume for materials and to hide useless UI elements
JavaScript
24
star
28

lcventilator

Low cost ventilator based on Dr. Jeffrey Ebin's design
C++
21
star
29

specs

Public specifications for easy accessibility
19
star
30

pinning

#PINNING is a browser extension (currently TamperMonkey script) to improve Pinterest's desktop browsing UX
JavaScript
15
star
31

glitchisnk

Voltage glitcher to bypass instructions/bootloader protections without target modification
14
star
32

microscopy

files for (ΞΌ)scope projects
11
star
33

motoaudio

Inspecting the Moto Audio application running on Motorola Android devices
9
star
34

testimg

chrome blocks downloading images from my github :(
9
star
35

openraman

Low cost, high performance open source Raman spectrometer
C++
6
star
36

mains-logs

log files for mains project
2
star
37

mains

monitoring mains line voltage
Perl
1
star