Как операционная система распознает USB Rubber Ducky в качестве клавиатуры? Это прошивка USB Rubber Ducky, которая обманывает ОС?
В более общем смысле, распознавание устройства ОС производится прошивкой устройства или нет?
Как операционная система распознает USB Rubber Ducky в качестве клавиатуры? Это прошивка USB Rubber Ducky, которая обманывает ОС?
В более общем смысле, распознавание устройства ОС производится прошивкой устройства или нет?
Взять цитату прямо из вики:
Почти каждый компьютер, включая настольные компьютеры, ноутбуки, планшеты и смартфоны, получает информацию от людей через клавиатуру. Вот почему есть спецификация для вездесущего стандарта USB, известного как HID - или Human Interface Device. Проще говоря, любое USB-устройство, претендующее на статус HID клавиатуры, будет автоматически обнаружено и принято большинством современных операционных систем. Будь то устройство Windows, Mac, Linux или Android, клавиатура - это King.
http://usbrubberducky.com/#!index.md
Он идентифицирует себя как клавиатура для ОС. Устройство должно идентифицировать себя, чтобы ОС знала, что это такое и что с ним делать / что от него ожидать. Если устройство не идентифицирует себя, я не совсем уверен, что произойдет, но ОС, вероятно, не будет знать, что с ним делать.
Когда USB-устройство подключено, ОС запрашивает у устройства дескриптор устройства. Это включает, помимо прочего, класс устройства, подкласс, идентификатор поставщика и идентификатор продукта. Класс устройства 3 - это "устройство интерфейса человека", об этом говорится в "Резиновой утке". ОС загружает универсальный драйвер клавиатуры, и устройство может отправлять любые нажатия клавиш, которые ему нравятся - это неотличимо от реальной клавиатуры.
Для Rubber Ducky есть инструмент, который позволяет вам устанавливать его VID и PID на все, что вы захотите. Предполагается, что существует способ получить имя производителя и серийный номер устройства, но, поскольку все они предоставляются самим устройством, прошивка может просто лежать на ОС. (Даже законные устройства иногда оставляют эти поля пустыми.)
Таким образом, вы правы, ОС верит всему, что говорит устройство.
Ну, это по сути является клавиатура. Просто все нажатия клавиш (полезная нагрузка) предварительно записаны; и затем быстро (вслепую) вводится с помощью интегральной схемы точно таким же образом и в том же формате, что и обычная клавиатура в стиле USB. Другими словами, он буквально посылает сигнал для каждого нажатия клавиши по проводам, как если бы вы печатали его самостоятельно.