Найти тему
Habr.com

Автоматический перебор комбинаций в механических сейфовых замках

На конференции Ruxcon в Мельбурне двое австралийских хакеров показали самодельное устройство на Arduino, которое подбирает комбинации на механических замках в некоторых сейфах.

Пентестеры Джей Дэвис (Jay Davis) и Люк Янке (Luke Jahnke) объясняют, что оборудование для взлома таких замков стоит дорого и отсутствует в свободной продаже. Они же с помощью 3D-печати и Arduino изготовили «устройство автонабора» из совсем дешёвых деталей общей стоимостью всего $150. Устройство способно подобрать код к механическому замку стандарта UL Group 2, где комбинация состоит из трёх чисел от 0 до 99, с допустимостью ошибки ±1 в каждом числе.

В конструкции использован шаговый электродвигатель, который подключается к плате Arduino через модуль расширения.

Для начала нужно было решить три проблемы: 1) крепление шагового электродвигателя к замку; 2) как проверить точность поворота ротора; 3) как тестировать устройство.

Для решения третьей проблемы взяли простенький замок, исключительно для проверки концепции.

Первую проблему решили с помощью распечатки самодельного адаптера. Обошлись без покупки 3D-принтера и использования сложных редакторов вроде AutoCAD. В интернете нашли простенькую, но подходящую программу для 3D-дизайна Tinkercad.

-2

Переходник от шагового привода к замку готов! Его распечатали у знакомых, хотя можно воспользоваться и каким-нибудь из коммерческих сервисов, всё равно обойдётся недорого.

-3

Для управления написали код для управляемого перемещения ротора на нужный угол. Программа даже поддерживает классные функции вроде ускорения. Теперь можно указывать числовую комбинацию с Arduino, а ротор поворачивался в нужное положение.

После первоначального тестирования привода решено было купить настоящий сейфовый замок. Выбор пал на модель La Gard 3330. Для него повторили ту же процедуру с распечаткой адаптера.

-4
-5

Нужно было ещё придумать способ, как определять, что замок открыт. Для этого разработчики применили магнитные датчики, использующие эффект Холла.

Конструкцию для крепления к сейфу позаимствовали из игры Payday 2.

-6

В Tinkercad её разработать не получилось, пришлось использовать SketchUp.

-7

Вот что получилось в итоге.

-8

Дальнейшее понятно: устройство устанавливает комбинацию, проверяет, открыт ли замок, и дальше повторяет цикл. Проверка одной комбинации занимает 4 секунды, так что вряд ли вы уложитесь в одну сессию. Поэтому библиотека поддерживает загрузку комбинаций с SD-карты и работу в несколько сессий с запоминанием уже опробованных комбинаций. Можно создать заранее сгенерированный список наиболее часто используемых комбинаций, таких как даты рождения. Максимально возможное количество комбинаций составляет 100 000 (с учётом особенности спецификаций UL Group 2: запрет на использование чисел от 0 до 20 в последнем разряде), что даёт 4,6 дня чистого брутфорса.

Файлы с дизайном устройства и исходный код для управления приводом авторы скоро опубликуют в открытом доступе. По крайней мере, обещают.

Оригинал статьи на Хабре (2014 год)
К лучшим публикациям Хабра за сутки