• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

usbdeath, защищаем usb порты

qqtyy776

Участник
Сообщения
44
Реакции
38
0 руб.
Telegram
Формирует правила для udev, системного демона, который следит за устройствами в системе. Правила формируются так, что добавление неизвестных ранее usb-устройств или извлечение определенных заранее вызывает некоторые действия, например выключение компьютера, затирание файлов и т.п. Простыми словами, для примера, если кто-то воткнет без вашего ведома флешку, компьютер взрывается на хуй выключается.
Вдохновлялся usbkill, у которого есть ряд недостатков. В частности, usbkill постоянно висит в памяти, что избыточно при наличии udev. Также мое решение учитывает больше параметров для устройств, поэтому для атакующего будет недостаточно иметь например флешку той же модели, нужно будет узнать и подделать серийник.
Написано на баше, только для линупса, только хардкор
mujik.png

Живет сия годнота на гитхабе, устанавливается примерно так:
wget https://raw.githubusercontent.com/trpt/usbdeath/master/usbdeath
chmod +x usbdeath
Конфиг
Скрипт
поставляется в безопасном режиме, когда просто пишется лог. Для
отключения нужно закомментировать соответствующую строку (demo='yes') в
самом скрипте, а также по желанию переопределить, что будет запускать
скрипт при срабатывании (по умолчанию это две команды sync и poweroff).
Помимо этого есть еще несколько параметров, которые можно поменять,
смотрите код.
Как пользоваться
usbdeath action
где action:
o, on - активировать usbdeath
x, off - временно деактивировать usbdeath
j, eject - добавить правило на извлечение usb устройства
g, gen - сгенерировать или обновить белый список устройств
d, del - удалить правила udev
e, edit - вручную редактировать файл правил
s, show - показать инфу о подключенных устройствах
Желательно
положить скрипт в PATH и не перемещать/переименовывать его после
активации, т.к. правила пишутся с учетом абсолютного пути до скрипта.
Это поведение можно изменить, см. код.
Примеры
Выясняем, что подключено, на всякий случай
usbdeath show
Первый запуск, генерируем белый список устройств из уже подключенных
usbdeath on
Также добавляем правило на извлечение устройства, выбираем из списка
usbdeath eject
Итак, usbdeath активирован. Но тут нам надо вставить доверенное устройство, так что временно вырубаем usbdeath
usbdeath off
И тут мы понимаем, что неплохо бы подключенное устройство добавить в белый список
usbdeath gen
После чего опять активируем usbdeath
usbdeath on
Мы же мамкины хацкеры, поэтому думаем, что можем редактировать правила udev вручную
usbdeath edit
Но тут пришла младшая сестра и все запорола, нихера не работает и т.д. Удаляем правила совсем и начинаем все с чистого листа
usbdeath del
Зависимости
bash
современный линупс дистр с udev и, вероятно, systemd
Тестировалось в Arch Linux
 
Сверху Снизу