
KeySweeper — это скрытное устройство на базе Arduino, замаскированное под работающее USB-зарядное устройство для розетки, которое беспроводным и пассивным способом перехватывает, расшифровывает, записывает и передаёт (через GSM) все нажатия клавиш с любой беспроводной клавиатуры Microsoft поблизости.
KEYSWEEPER // SIGINT // SAMY.PL // REL ДЛЯ ВСЕХ // ПРИКЛАДНОЙ ХАКИНГ
KeySweeper — это скрытое устройство на базе Arduino, замаскированное под работающее USB-зарядное устройство для розетки, которое беспроводно и пассивно перехватывает, расшифровывает, регистрирует и передаёт (через GSM) все нажатия клавиш с любой беспроводной клавиатуры Microsoft поблизости.
Все нажатия клавиш регистрируются онлайн и локально. SMS-оповещения отправляются при вводе триггерных слов, имён пользователей или URL-адресов, раскрывая пароли. Если KeySweeper отключить от сети, он продолжает работать от внутренней батареи и автоматически заряжается при повторном включении питания. Веб-инструмент позволяет вести мониторинг нажатий клавиш в реальном времени.
Живая демонстрация и полные подробности — в видео:
Контактное лицо: @SamyKamkar // [email protected] // http://samy.pl
Выпущено: 12 января 2015 г.
Исходный код / схема: https://github.com/samyk/keysweeper
Стоимость устройства: $10–80 в зависимости от варианта исполнения
Статус: Работает, открытый исходный код, открытое аппаратное обеспечение, рассекречено.
KeySweeper — это скрытое устройство на базе Arduino, замаскированное под работающее USB-зарядное устройство для розетки, которое беспроводно и пассивно перехватывает, расшифровывает, регистрирует и передаёт обратно все нажатия клавиш с любых беспроводных клавиатур Microsoft (использующих проприетарный 2,4-ГГц радиочастотный протокол) в зоне действия.
Нажатия клавиш передаются оператору KeySweeper через Интернет с помощью опционального GSM-чипа либо могут храниться на flash-чипе и доставляться по беспроводной связи, когда вторичное устройство KeySweeper оказывается в зоне беспроводной связи целевого KeySweeper. Веб-инструмент позволяет вести мониторинг нажатий клавиш в реальном времени.
KeySweeper умеет отправлять SMS-оповещения при вводе определённых нажатий клавиш, например «www.bank.com». Если KeySweeper отключить от сети переменного тока, он выглядит выключенным, однако продолжает скрытно работать от внутренней батареи, которая автоматически заряжается при повторном подключении к сети переменного тока.
KeySweeper развивает работу Трэвиса Гудспида над проектом goodfet.nrf и работу Торстена Шрёдера и Макса Мозера над проектом KeyKeriki v2.0.
$3 - 30: Можно использовать микроконтроллер Arduino или Teensy. В своей сборке я использую 3,3-вольтовый Arduino Pro Mini из-за его очень тонкого профиля.
$1: Я использую RF-чип nRF24L01+ за $1, который обменивается данными по GFSK на 2,4 ГГц. Подробности ниже; эти чипы можно купить всего за $1 на eBay. Эти чипы могут общаться только по проприетарным протоколам и не предназначены для перехвата, однако, как мы увидим ниже, их можно хитроумно заставить пассивно перехватывать пакеты.
$6: Я использую недорогое сетевое USB-зарядное устройство (выпрямитель), которое преобразует переменный ток в 5 В постоянного тока; то, на которое я даю ссылку, имеет винт, благодаря которому его легко вскрыть (я разломал несколько других в процессе вскрытия). Для GSM-версии KeySweeper я беру два USB-зарядника — внутренности маленького зарядника (похожего на зарядник от iPhone) и внешний корпус от более крупного USB-зарядника.
ОПЦИОНАЛЬНО ($2): Опциональный SPI-чип флэш-памяти можно использовать для хранения нажатий клавиш. Если вы используете плату FONA GSM, описанную ниже, это не обязательно, так как нажатия можно передавать в интернет в реальном времени. Однако, если вы хотите более дешёвый вариант, можно сохранять нажатия на этом чипе внутри KeySweeper, а затем получать их позже, подойдя к устройству в зону 2,4-ГГц беспроводной связи с вторичным устройством, которое выкачает эти нажатия.
У большинства микроконтроллеров очень ограниченная память или EEPROM для хранения данных, поэтому преимущество наличия flash-чипа для хранения этих нажатий очевидно.
ОПЦИОНАЛЬНО ($45): Компания Adafruit создала плату под названием FONA, которая позволяет использовать 2G-SIM-карту для отправки/получения SMS, телефонных звонков и выхода в Интернет прямо с устройства.
С ней flash-чип не нужен, поскольку нажатия клавиш немедленно отправляются на бэкенд-сервер для сбора данных. Кроме того, если на целевых клавиатурах будут введены определённые ключевые слова, SMS-сообщение будет отправлено на указанный номер, чтобы оповестить оперативника об этом факте.
ОПЦИОНАЛЬНО ($3, только при использовании FONA): FONA требует мини-SIM-карту (не микро-SIM). Я использую предоплаченную SIM-карту T-Mobile. Рекомендую T-Mobile, так как они поддерживают 2G, тогда как большинство других операторов уже убрали или выводят из эксплуатации свои 2G-сети, а FONA для Интернета поддерживает только 2G. Убедитесь, что вы взяли SIM-карту нужного размера — подробнее о требованиях FONA к SIM-карте здесь.
ОПЦИОНАЛЬНО ($5 и выше, только при использовании FONA): FONA обеспечивает встроенную зарядку LiPo/LiOn аккумулятора, и пока KeySweeper подключён к сети переменного тока, аккумулятор будет оставаться заряженным, однако он всё равно обязателен. Кроме того, KeySweeper продолжает скрытно работать от аккумулятора, когда его отключают от сети переменного тока, и начинает заряжаться при повторном подключении к сети.
Исходный код KeySweeper полностью доступен в моём github: https://github.com/samyk/keysweeper