Отсутствуют файлы микропрограммы regulatory db

Обновлено: 06.07.2024

Этичный хакинг и тестирование на проникновение, информационная безопасность

В разных странах разное законодательство и технические нормативы, в том числе в отношении Wi-Fi. В некоторых странах не разрешено использовать частоты некоторых Wi-Fi каналов (например, в США нельзя использовать каналы 12, 13 и 14). В большинстве стран установлено ограничение на мощность Wi-Fi сигнала в 20.0 dBm. Но есть страны в которых стоит ограничение в 30.0 dBm. Можно воспользоваться этой лазейкой (заставить думать Wi-Fi карту, что она в стране где разрешено 30.0 dBm) и поднять её мощность (TX Power) до значения в 30.0 dBm.

Для Wi-Fi устройств есть такое понятие как управляющий домен (regulatory domain или "regdomain") – именно в этом параметре указана страна, в котором, как предполагается, работает данное устройство. Также имеется сопутствующая база данных, в которой для каждой страны прописаны разрешённые частоты и разрешённая для них мощность.

  • мы устанавливаем общесистемную настройку управляющего домена на значение той страны, где разрешена мощность в 30.0 dBm;
  • устанавливаем повышенную мощность для беспроводного адаптера.

По идее, описанный метод должен работать для многих беспроводных карт, но на практике встречаются следующие ограничения:

  • физическая неспособность карт работать на мощностях более 20.0 dBm (например, беспроводной интерфейс изначально показывает мощность 15.0 dBm при разрешённых 20.0 dBm – в таком случае никаким способом не удастся поднять мощность выше 15.0 dBm, хотя бы даже до тех же самых 20.0 dBm);
  • особенности драйверов, например, некоторые драйверы игнорируют системные настройки. Это не является неразрешимой проблемой – но для каждой модели нужен свой подход (обычно, требуется небольшой патч для драйвера) или (что намного проще), патч базы данных управляющего домена.

Посмотреть, что вам разрешено прямо сейчас и на что способен ваш беспроводной адаптер можно командой:

Например, для России разрешены следующие частоты и мощность:



Оказывается, каналы с 100 по 128 не разрешается использовать, а для каналов с 132 по 165 разрешена повышенная мощность.

Полную актуальную базу в текстовом виде можно посмотреть здесь.

Странами, в которых разрешены каналы с 1 по 13 на мощности 30.0 dBm являются (к примеру):

Обратите внимание, что для каналов на 5 ГГц у них разные значения (разный список разрешённых частот и мощностей).

Далее я покажу поднятие мощности на примере Alfa AWUS052NH в Kali Linux. В старых инструкциях указывается на необходимость установить дополнительные пакеты – в настоящее время это не нужно. Всё необходимое в Kali Linux уже имеется! Подробности для BlackArch/Arch Linux ниже.

Останавливаем службы, которые могут нам помещать (это необязательно, должно работать и с ними):

Чтобы узнать, настройки какого региона действуют в данный момент выполните команду:


Строка country 00 говорит о том, что у меня не установлено какое-либо значение и применяются стандартные настройки.

Теперь устанавливаем управляющий домен на значение BZ:

Сразу можно проверить, принялись ли настройки:


Заодно на новые возможности можно посмотреть командой:


Если на данном этапе настройки управляющего замена не применились (не установились) на системном уровне, то не получится повысить мощность Wi-Fi адаптера, пока вы не разберётесь с причиной этого.

Посмотреть имя беспроводного интерфейса и его текущее состояние можно командой:

Далее увеличиваем мощность (замените wlan0 на имя вашего беспроводного интерфейса):


Строка txpower 30.00 dBm говорит о том, что у нас всё получилось.

Усиление мощности для Alfa AWUS036NHA

Для AWUS036NHA эти же команды не имеют эффекта.

Объяснение можно найти здесь:

«За назначение свойств каналам отвечает regulatory domain, который зависит от страны. Данные берутся из базы данных в юзерспейсе при помощи утилиты crda. По идее сменить страну можно командой «iw reg set $КОД_СТРАНЫ», но в случае с устройствами от atheros из коробки этот метод не работает, так как у атеросов regulatory domain зашит в EEPROM и линуксовый драйвер читает именно его, игнорируя настойки системы. К счастью, у нас тут opensource и мы можем наложить несложный патч:»

Т.е. это тот самый случай, когда драйвер игнорирует системные настройки и использует значение, зашитое производителем на аппаратном уровне. Проблема, в принципе, решаема, причём несколькими различными методами.

Если у вас Alfa AWUS036NHA или любая другая, которая игнорирует системные настройки regulatory domain, то это не повод впадать в отчаянье.

Начнём с того, что проверим, для какой страны произведена ваша беспроводная карта:


В моём случае строка country GB говорит о том, что карта произведена для страны, которая в базе данных названа GB.

Мой метод отличается от других инструкций, где вручную устанавливаются пакеты wireless-regdb и crda. Эти пакеты уже должны быть установлены в вашей системе (в Kali Linux есть по умолчанию). Единственное что мы сделаем – заменим файл базы данных.

В последних версиях Kali Linux не установлен пакет crda, установим его:

Установим зависимости, необходимые для компиляции базы данных:

Клонируем исходные файлы:

Теперь нам нужно отредактировать текстовый файл базы данных:


Эти же строки впишите для country GB (у вас может быть другая страна — зависит от вашей карты, вы можете посмотреть это значение командой sudo iw reg get):


Сохраните и закройте файл.

Пропатчим файлы для использования Python3

В результате из текстового файла был создан бинарный файл БД (regulatory.bin) которым мы подменим одноимённый файл в системе.

Удаляем исходный файл базы данных:

Копируем нашу модифицированную БД:

Ещё раз для нового формата, который также используется:

Копируем необходимый публичный ключ (файл БД подписан сгенерированным специально для нашего пользователя ключом):

Теперь НЕ нужно использовать sudo iw reg set BZ.

Убедимся в этом:


говорят о возможности увеличить мощность до 30 dBm.


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

Повышение можности Wi-Fi адаптера в BlackArch / Arch Linux

В BlackArch/Arch Linux рекомендуется установить пакет wireless-regdb-pentest. Подробности в статье «Как увеличить мощность (TX-Power) Wi-Fi карты в BlackArch». Если по каким-либо причинам вы не хотите использовать wireless-regdb-pentest, то ниже описано, как это сделать другим путём (по аналогии с Kali Linux).

Все вышеприведённые команды работают и в BlackArch / Arch Linux. Но необходимо установить пару дополнительных пакетов:

В файле /etc/conf.d/wireless-regdom можно разкомментировать строку с соответствующей страной, чтобы значение устанавливалось при загрузке системы.

Также в BlackArch / Arch Linux другое имя беспроводных интерфейсов – замените их в командах на правильные.

В BlackArch / Arch Linux при генерации бинарного файла БД возникнет ошибка

Она связана с тем, что по умолчанию Arch Linux использует Python 3, а не Python 2. Для решения проблемы откройте файл Makefile:

И замените в нём строку

Заключение

Увеличение мощности Wi-Fi адаптера бесспорно полезно только при глушении Wi-Fi, а также в атаках деаутентификации. Во всех остальных атаках увеличение мощности совсем не обязательно что-то изменит, поскольку мощность влияет на то, как громко «кричит» ваш Wi-Fi адаптер, но не увеличивает его чувствительность (как хорошо он «слышит» других).

Также следует помнить о возможности разблокировать некоторые каналы, которые могут быть недоступны в вашей стране.

Если вы хотите всё вернуть в исходное состояние, то выполните следующие команды:

Обращение к тем, кто разбирается

В этой инструкции мы меняем базу данных, генерируем свою пару ключ-сертификат и подписываем ей БД. Раньше проверка подписи выполнялась пакетом crda и нам достаточно было просто скопировать свой сертификат, чтобы crda делала по нему проверку.

Теперь валидация сертификата выполняется на уровне ядра и crda больше не нужен. По этой причине в последних версиях crda уже не устанавливается по умолчанию. Тем не менее в репозиториях этот пакет присутствует, его можно установить. После этого за проверку подписи вновь начинает отвечать crda и мы используем проверенный способ с копированием нашего сертификата в /lib/crda/pubkeys/.

Но теперь это уже можно назвать костылём и не факт, что пакет crda вовсе не уберут из репозитория.

В связи с этим вопрос, кто знает, как добавить свой сертификат, чтобы он использовался для проверки подписи файла regulatory.db на уровне ядра, то есть без crda? Если кто-то знает, то пишите в комментариях.

В данный момент всё примерно так:

Но в выводе получаем, что загруженная БД regulatory.db неправильно сделана или подпись отсутствует/недействительна:

Пока пакет crda решает эту проблему.

Небольшой анонс, на Arch Linux пакет wireless-regdb-pentest теперь делает так:




То есть устанавливает TX power на 36.00 dBm. Тестирую, уже обнаружились нюансы, но всё вроде решаемо. Если всё получится, то адаптирую это для Kali Linux.

Как описывалось в Раздел 2.2, «Устройства, которым требуются микропрограммы», в некоторые устройства требуется загрузить микропрограмму. В большинстве случаев, устройство вообще не будет работать при отсутствии микропрограммы; иногда в устройстве всё-же работают базовые функции, а микропрограмма нужна только для предоставления дополнительных возможностей.

Если драйвер устройства запрашивает микропрограмму, а она недоступна, то debian-installer выведет окно диалога, предлагающее загрузить отсутствующую микропрограмму. Если ответить утвердительно, то debian-installer просканирует доступные устройства в поисках файлов или пакетов с нужной микропрограммой. Если файлы найдены, то микропрограмма будет скопирована в нужное место ( /lib/firmware ) и будет предпринята попытка перезагрузки модуля с драйвером.

Which devices are scanned and which file systems are supported depends on the architecture, the installation method and the stage of the installation. Especially during the early stages of the installation, loading the firmware is most likely to succeed from a FAT-formatted USB stick. On i386 and amd64 firmware can also be loaded from an MMC or SD card.

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

debian-installer запрашивает микропрограммы только к модулям ядра, которые необходимы для загрузки на время установки.Не все драйверы включены в debian-installer , в частности, отсутствует radeon, из чего следует, что возможности некоторых устройств могут не отличаться в конце установки от того, какими они были в начале. Другими словами, возможности некоторых аппаратных компонентов могут использоваться не полностью. Если вы подозреваете, что это ваш случай, или просто из любопытства,проверьте вывод команды dmesg в только что загруженной системе и поищите « микропрограмму » .

6.4.1. Подготовка носителя

Tar-архивы и файлы zip с пакетами наиболее распространённых микропрограмм доступны здесь:

Просто скачайте tar-архив или zip-файл под нужный выпуск и распакуйте его на файловую систему носителя.

Если требуемой микропрограммы нет в tar-архиве, то также вы можете скачать нужные пакеты с микропрограммами из архива (из раздела non-free). Вот список наиболее скачиваемых пакетов микропрограмм, но он может быть не полон и также может содержать пакеты без микропрограмм:

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

6.4.2. Микропрограмма в установленной системе

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

Если микропрограмма загружена из пакета, то debian-installer также установит этот пакет в устанавливаемую систему и автоматически добавит раздел non-free архива пакетов в APT-файл sources.list . Это позволит автоматически обновлять микропрограмму при появлении новой версии.

Если загрузка микропрограммы была пропущена во время установки, то соответствующее устройство, вероятно, не заработает в установленной системе пока микропрограмма (пакет) не будет установлена вручную.

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

6.4.3. Completing the Installed System

Depending on how the installation was performed, it might be that the need for some firmware was not detected during installation, that the relevant firmware was not available, or that one chose not to install some firmware at that time. In some cases, a successful installation can still end up in a black screen or a garbled display when rebooting into the installed system. When that happens, the following workarounds can be tried:

Pass the nomodeset option on the kernel command line. This might help boot into a « fallback graphics » mode.

Use the Ctrl + Alt + F2 key combination to switch to VT2, which might offer a functional login prompt..

Install the isenkram-cli package

Run the isenkram-autoinstall-firmware command as the « root » user.

Usually, rebooting is the simplest way to make sure all kernel modules are properly initialized; that's particularly important when one has booted the system with the nomodeset option as an interim measure.

Приоритет загрузки

Возникает при попытке загрузки сервера с устройства, на котором не записан образ TRASSIR OS.

Решение

Выставить правильный приоритет загрузки в BIOS.

Необходимые настройки можно найти в разделе Выбор образа для создания системного диска с TRASSIR OS в таблице с образами системы.

Выбор неправильного образа или видеопорта


Решение

Убедитесь, что был записан образ, подходящий к данному регистратору. Проверить совместимость образа и регистратора можно в статье Выбор образа для создания системного диска с TRASSIR OS. При необходимости — запишите правильный образ.

Убедитесь, что монитор подключен к видеопорту, который может использовать регистратор. Видеопорты для подключения мониторов указаны в техническом паспорте регистратора. Паспорт поставляется с вместе с регистратором. Паспорта актуальных моделей видеорегистраторов можно скачать на официальном сайте ДССЛ.

Не фатальные сбои системы

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

Не фатальные сбои системы

Не фатальные сбои системы

Решение

Выполнить восстановление образа через Integrated automatic rescue system

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

Фатальные сбои системы

Ошибки вызванные сбоем системной флэшки, при которых Factory Reset не помогает, или попытка сброса так же проходит с ошибкой.

Фатальные сбои системы

Фатальные сбои системы

Фатальные сбои системы

Решение

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

Для решения данной проблемы можно обратиться в ближайший сервисный центр или самостоятельно создать загрузочную флешку с системой TRASSIR OS воспользовавшись инструкцией на странице Выбор образа для создания системного диска с TRASSIR OS.

Приоритет загрузки

Возникает при попытке загрузки сервера с устройства, на котором не записан образ TRASSIR OS.

Решение

Выставить правильный приоритет загрузки в BIOS.

Необходимые настройки можно найти в разделе Выбор образа для создания системного диска с TRASSIR OS в таблице с образами системы.

Выбор неправильного образа или видеопорта


Решение

Убедитесь, что был записан образ, подходящий к данному регистратору. Проверить совместимость образа и регистратора можно в статье Выбор образа для создания системного диска с TRASSIR OS. При необходимости — запишите правильный образ.

Убедитесь, что монитор подключен к видеопорту, который может использовать регистратор. Видеопорты для подключения мониторов указаны в техническом паспорте регистратора. Паспорт поставляется с вместе с регистратором. Паспорта актуальных моделей видеорегистраторов можно скачать на официальном сайте ДССЛ.

Не фатальные сбои системы

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

Не фатальные сбои системы

Не фатальные сбои системы

Решение

Выполнить восстановление образа через Integrated automatic rescue system

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

Фатальные сбои системы

Ошибки вызванные сбоем системной флэшки, при которых Factory Reset не помогает, или попытка сброса так же проходит с ошибкой.

Фатальные сбои системы

Фатальные сбои системы

Фатальные сбои системы

Решение

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

Для решения данной проблемы можно обратиться в ближайший сервисный центр или самостоятельно создать загрузочную флешку с системой TRASSIR OS воспользовавшись инструкцией на странице Выбор образа для создания системного диска с TRASSIR OS.

Читайте также: