Загрузка...

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

Тема в разделе Безопасность создана пользователем Onorm 11 янв 2019. 448 просмотров

  1. Onorm
    Onorm Автор темы 11 янв 2019 Заблокирован(а) 521 21 май 2017
    Формирует правила для udev, системного демона, который следит за устройствами в системе. Правила формируются так, что добавление неизвестных ранее usb-устройств или извлечение определенных заранее вызывает некоторые действия, например выключение компьютера, затирание файлов и т.п. Простыми словами, для примера, если кто-то воткнет без вашего ведома флешку, компьютер взрывается на хуй выключается.
    Вдохновлялся usbkill, у которого есть ряд недостатков. В частности, usbkill постоянно висит в памяти, что избыточно при наличии udev. Также мое решение учитывает больше параметров для устройств, поэтому для атакующего будет недостаточно иметь например флешку той же модели, нужно будет узнать и подделать серийник.

    Написано на баше, только для линукса.

    Установка:
    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
     
  2. txhash
    txhash 17 янв 2019 463 20 фев 2016
    Ты думаешь тут кто-то на арч линуксе сидит?
     
  3. Onorm
    Onorm Автор темы 17 янв 2019 Заблокирован(а) 521 21 май 2017
    Да
     
  4. elecktro1337
    elecktro1337 25 фев 2019 Сам себе капитан. 7 19 апр 2018
    А есть ли аналоги под W7?
     
Top
Загрузка...