Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch


Актуальная версия инструкции здесь: Простой способ увеличить TX Power для Wi-Fi в Kali Linux и BlackArch

В разных странах разное законодательство и технические нормативы, в том числе в отношении 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);
  • особенности драйверов, например, некоторые драйверы игнорируют системные настройки. Это не является неразрешимой проблемой – но для каждой модели нужен свой подход (обычно, требуется небольшой патч для драйвера) или (что намного проще), патч базы данных управляющего домена.

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

sudo iw list

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

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

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

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

  • BZ
  • GY
  • NZ
  • VE

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

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

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

sudo systemctl stop NetworkManager
sudo airmon-ng check kill

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

sudo iw reg get

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

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

sudo iw reg set BZ

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


sudo iw reg get

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

sudo iw list

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

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

sudo iw dev

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

sudo ip link set wlan0 down
sudo iw dev wlan0 set txpower fixed 30mBm
# sudo iw wlan0 set monitor control # если нужно, переводим в режим монитора
sudo ip link set wlan0 up

Проверяем:

sudo iw dev

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

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

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

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

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

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

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

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


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

sudo iw reg get

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

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


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

sudo apt install crda

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

sudo apt install python3-m2crypto

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

git clone git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
cd wireless-regdb/

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

gedit db.txt

В нём найдите строку country 00 и пропишите для неё что-то вроде (можете подправить под свой вкус):

	(2402 - 2482 @ 40), (30)
	(5170 - 5835 @ 80), (30)
	(57000 - 66000 @ 2160), (40)

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

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

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

sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/' *.py

Выполните команду:


make

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

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

sudo rm /lib/crda/regulatory.bin

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

sudo cp regulatory.bin /lib/crda/regulatory.bin

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

sudo rm /usr/lib/firmware/regulatory.db
sudo cp regulatory.db /usr/lib/firmware/regulatory.db

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

sudo cp $USER.key.pub.pem /lib/crda/pubkeys/
sudo cp $USER.x509.pem /usr/lib/crda/pubkeys/

Перезагрузите компьютер.

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

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

sudo iw reg get

Строки

country GB: DFS-ETSI
	(2402 - 2482 @ 40), (N/A, 30), (N/A)

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

Пробуем:

sudo ip link set wlan0 down
sudo iw dev wlan0 set txpower fixed 30mBm
# sudo iw wlan0 set monitor control # если нужно, переводим в режим монитора
sudo ip link set wlan0 up

Результат:

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

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

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

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

sudo pacman -S crda wireless-regdb

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

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

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

openssl rsa -in ~/.wireless-regdb-mial.key.priv.pem -out mial.key.pub.pem -pubout -outform PEM
writing RSA key
Generating regulatory.bin digitally signed by mial...
./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-mial.key.priv.pem
  File "./db2bin.py", line 13
    print 'Usage: %s output-file input-file [key-file]' % sys.argv[0]
                                                      ^
SyntaxError: Missing parentheses in call to 'print'
make: *** [Makefile:58: regulatory.bin] Ошибка 1

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

gedit Makefile

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

./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY)

на

python2 ./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY)

Заключение

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

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

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

sudo apt purge wireless-regdb crda
sudo apt install wireless-regdb

================================================

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

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

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

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

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

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

sudo journalctl -b | grep -i regulatory

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

дек 11 07:43:35 HackWare-Kali kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database
дек 11 07:43:35 HackWare-Kali kernel: platform regulatory.0: firmware: direct-loading firmware regulatory.db
дек 11 07:43:35 HackWare-Kali kernel: platform regulatory.0: firmware: direct-loading firmware regulatory.db.p7s
дек 11 07:43:35 HackWare-Kali kernel: cfg80211: loaded regulatory.db is malformed or signature is missing/invalid

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

P.S.

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

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


Рекомендуется Вам:

76 комментариев to Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch

  1. Денис:

    Алексей спасибо за статью,но насчет патча не совсем понял,то есть его  нужно применять в самой системе или его нужно зашить в само устройство? или на AWUS036NHA  физически невозможно увеличивать мощность?

    • Alexey:

      Судя по этой инструкции, AWUS036NHA должна вытягивать 30.0 dBm (хотя я не смог найти в спецификации её «output power»).

      По поводу патча – по ссылке патчиться драйвер беспроводной карты (модуль ядра). Но там для другой модели – привёл в качестве хорошего объяснения проблемы и примера решения.

      Ещё один пример (проблема решается для карт на драйвере ath5k) здесь.

      Кстати, в инструкции по ссылке https://dscallday96.wordpress.com/2013/08/14/maximizing-the-tx-power-of-alfa-awus036nha/ используется другой подход – редактируется база данных со спецификациями стран. По идее, это намного проще, чем искать исправление для драйвера – сейчас попробую и, если получится, дополню инструкцию.

    • Alexey:

      Получилось и для AWUS036NHA! Для неё использовался другой метод - патч БД. Дополнил эту инструкцию.

      • Денис:

        Алексей спасибо,Вы гений! )) обязательно попробую данный метод когда куплю себе эту карту,Еще раз спасибо Вам за Вашу работу.

  2. Денис:

    тестовый коммент,что то не мог написать вчера.

  3. Денис:

    Добрый день Алексей,решил я вчера попробовать данную инструкцию на своем TP-Link 722N ,сделал все по порядку как вы описали,и Вы знаете,действительно  получилось,вот посмотрите скриншот

    , но не знаю,что то я сомневаюсь что данный адаптер может работать на такой мощности,может это только визуально он так показывает 30 dBm ,Вы как думаете? 

    И еще хотел спросить насчет вот этой команды-

    sudo iw dev wlan0 set txpower fixed 30mBm

    слово fixed означает что при  каждом подключении адаптера он всегда будет работать на мощности в 30 dBm ?

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

    • Alexey:

      Комментарий попал в спам, думаю, из-за ссылки на хостинг картинок. Здесь на сайте вы можете прикрепить картинку к вашему сообщению (под кнопкой «Отправить комментарий») – лучше пользуйтесь ей, чем хостингами картинок.

      В характеристиках в интернете про TP-Link 722N я нашёл:

      Output power (before antenna): 17.8 dBm peak (т.е. на пике до 17.8)

      В другом месте:

      EIRP (Мощность беспроводного сигнала): < 20 дБм или < 100 мВт

      Т.е. получается, что действительно он не может.

      Думаю, с USB тестером можно было бы сказать более точно – у меня есть тестер, но нет TP-Link 722N.

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

      • Денис:

        у меня после этой команды даже после перезагрузки как только подключал адаптер  и в терминале набирал sudo iw dev  мощность сразу была на 30 dBm, не знаю почему так.

      • Михаил:
        misha@misha ~/wireless-regdb $ make
        Generating regulatory.bin digitally signed by misha…
        ./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-misha.key.priv.pem
        Traceback (most recent call last):
          File "./db2bin.py", line 6, in <module>
            from dbparse import DBParser
          File "/home/misha/wireless-regdb/dbparse.py", line 3, in <module>
            from builtins import bytes
        ImportError: No module named builtins
        Makefile:59: ошибка выполнения рецепта для цели «regulatory.bin»
        make: *** [regulatory.bin] Ошибка 1
        
        • Alexey:

          (Для коллективной базы знаний), какой у вас дистрибутив?

          С этой ошибкой должна справиться команда:

          sudo pip install future
          
        • Максим:

          Система жалуется на отсутствие модуля m2crypto. Есть два способа установки этого модуля, один из которых указан в статье: "apt install python3-m2crypto", но после команды "make" у меня вылезла ошибка как у вас. Второй способ: "apt install python-m2crypto", - у меня все заработало.

          • Alexey:

            Здравствуйте! Вы верно обратили внимание, поскольку при сборке там используется не Python 3, а Python 2. Поэтому вместо python3-m2crypto нужно устанавливать python-m2crypto. Инструкцию поправил, на всякий случай там теперь установка сразу для двух версий (на случай, если будет сделан переход на Python 3):

            sudo apt install python-m2crypto python3-m2crypto
            
  4. Александр:

    Спасибо! мне не помогло)))

    • Alexey:

      У вас тот случай, когда изначально показывает менее 20. Кстати, команда sudo iw reg set BZ не попала в скриншот или вы её не вводили (хотя, как уже сказал, для данной беспроводной карты это неважно)?

       

      • Александр:

        через sudo iw reg set BZ тоже самое

      • iiiopot:

        У вас тот случай, когда изначально показывает менее 20

        Алексей, добрый день.
        AWUSO36ACH - CH, насколько я понимаю версия для Китая.

        #iw dev
        phy#1
                Interface wlan1
                        ifindex 4
                        wdev 0x100000001
                        addr b6:9c:96:d4:97:d3
                        type managed
                        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
                        txpower 18.00 dBm
         

        Насколько я понимаю, у меня тоже ТОТ САМЫЙ случай, а можно по подробнее, какой ТОТ. И что с этим можно сделать?

        Заранее благодарен.

  5. Александр:

    через sudo iw reg set BZ тоже самое

  6. Алексей:

    Алексей, очень прошу вас, скажите, какую антенну взять на AWUS051NH V2, нужна направленная и оочень дальнобойная, насчет типа (параболическая т.д.) тоже не знаю, но вот нужно уложиться в 1600(пик1700) рублей

    • Alexey:

      Про антенны, которые я пробовал, написано здесь. Улучшения есть, но не надо ждать чудес.

      Я не пробовал большие антенны (типа Yagi ), которые предназначены для размещения вне помещений. ИМХО, смысл в них есть только при работе с таким же или более мощным источником сигнала как показано на этой карнтинке:

      • Алексей:

        Спасибо, Алексей.

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

        И еще, я слышал о Tube-u от Alfa, говорят, ничуть не лучше обычных альф.

        Также слышал о Bullet M2, но обзоров на него не нашел.

  7. DocenT:

    Ну что же, для Alfa AWUS036NHA всё робит как часы.

    • Michael McNamara:

      А у меня от не скомпилировася файл. Модешь дать скомпилированный файл?

      • Alexey:

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

        • Michael McNamara:

          Окей, согласен, сглупил. Нашел в чем была проблема, в моем случае:
          1) sudo apt install python-pip
          2) sudo apt-get install libssl-dev swig python3-dev gcc
          3) sudo pip install M2Crypto

          После systemctl reboot в reg gt у меня появилась страна GB: DFS-ETSI , хотя до этого было только значение country 00: DFS-UNSET. 
          Далее по продолжил по гайду. Я не знаю из за чего возникли в моем случае дополнительные телодвижения, но все хорошо что хорошо кончается. Возможно, кому то мой комментарий поможет. Осталось рещить вопрос с "code 0x03" в ривере, и будет мне свой кусочек счастья))

          • Alexey:

            Приветствую! Спасибо за полезный комментарий. Кстати, пакет M2Crypto можно установить прямо из репозиториев Kali Linux, в этом случае не нужно устанавливать другие зависимости для компиляции:

            sudo apt install python-m2crypto

            Инструкцию я поправил.

            Про проблему 0x03 в Reaver я писал в статье «Решение проблем Reaver: WARNING: Failed to associate with и WPS transaction failed (code: 0x03), re-trying last pin». С чипсетами Atheros такой проблемы нет, но она есть со всеми чипсетами Ralink. Мне помог самый последний способ — когда ассоциация с ТД делается с помощью aireplay-ng, а reaver запускается с опцией -A. Там же ссылка на WiFi-autopwner и скриншоты, где этот фикс автоматизирован. Всё вполне работает, но для нормального перебора WPS нужен быть не слишком далеко от ТД, иначе будут другие ошибки.

            И ещё рекомендую попробовать OneShot (инструкция «Как взломать Wi-Fi обычным адаптером без режима монитора»), там таких проблем как у Reaver нет (подойдёт если ТД уязвима к Pixie Dust).

  8. wimpex:

    Добрый день.

    А в wifislax как это сделать? Попробовал, не получилось.

    • Alexey:

      Это бесплатный дистрибутив? Если да, подскажите, где скачать для тестов?

      • wimpex:

        Добрый день.

        Вот здесь

        https://www.wifislax.com/

        И я не много удивлён, что Вы не знаете о нём.

        • Alexey:

          Спасибо!

          Про эту ОС я слышал и знаю, что linset первоначально именно там появился. Но, вроде, ещё упоминали про какую-то версию PRO, а закрытые/платные продукты мне не интересны.

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

          Попробую всё-таки разобраться с этой ОС, как будет возможность.

          • wimpex:

            На сколько я знаю, он абсолютно бесплатен, и русский есть. При загрузке есть выбор языка.

  9. Дима:

    По первому описанию сразу все получилось(стало 30.0 dBm), но после команды reboot все настройки упали, ввел sudo iw dev и показывает частоту 20.0 dBm. Как можно исправить, подскажите пожалуйста?

    • Alexey:

      Вы имеете в виду что после перезагрузки сбросились настройки, которые были установлены с помощью sudo iw dev wlan0 set txpower fixed 30mBm ?

      Если да, то так и должно быть — эти настройки всегда действуют до перезагрузки. Для постоянных изменений нужно редактировать базу данных, как показано в этой же статье.

  10. Доброго времени суток.

    Имею в наличии, awus036nha и кали 2019.3. Пробывал разные варианты и хоть ты тресни, 20dbm…

    Вчём может быть дело? В драйверах или мне так с альфой повезло?

    • Alexey:

      Приветствую! В этой инструкции я показываю на примере в том чилсе адаптера Alfa AWUS036NHA — то есть в принципе он поддерживает 30.0 dBm.

      Подключите Wi-Fi карту и проверьте, для какого региона она использует настройки:

      iw reg get

      Здесь в инструкции я правлю настройки не для всех регионов. Возможно, тот регион, который у вашей карты, пропущен. То есть отредактируйте базу данных для региона вашей карты по аналогии, как показано здесь, и замените базу данных по этой инструкции.

  11. Алексей:

    Alexey, добрый день!

    Буду безмерно благодарен за ссылку на оригинал Alfa AWUS036NHA. Сам мониторил ибеи и амазоны на наличие. Но ее либо нет в продаже, либо фейк, либо пониженная версия чипа atheros с префиксом L (low-cost). 

    • Alexey:

      Приветствую! Оказалось, что у меня у самого с AR9271L. Я начал читать Античат, в чём разница между Atheros AR9271 и AR9271L: здесь и следующая страница. Там один пользователь говорит, что в системе определяется как AR9271, а по факту оказалась AR9271L. Я заинтересовался, вскрыл свою карту, еле-еле с помощью увеличительного стекла рассмотрел чип и он оказался AR9271L! Это сюрприз для меня. Но карта нормальная, не жалуюсь.

       

      • Олег:

        Приветствую. А wps pixie dust, null pin карта делает? Такая же карта, вскрыл тот же чип что у вас, немного обвязки не распаяно…..

        • Alexey:

          Атаку Pixie Dust и отправлять пустой ПИН может делать любая Wi-Fi карта, которая может переходить в режим монитора и поддерживает беспроводные инъекции. Это не на уровне возможностей карты, это на уровне ПО. Если Reaver есть, значит может.

  12. Алексей:

    Таки не обойтись без грусти в этой жизни ачат читал, вю ветку. Значит, закажу такую же. Посылаю Вам лучи добра)

  13. Alex:

    Добрый вечер! Использую Kali на виртуалке vmware  и также поставил Kali на raspberry pi4. Есть на руках два адаптера LOGILINK WL0237 (чип rtl8811au) и TP-LINK ARCHER T9UH (чип rtl8814au). На raspberry использую команду iwconfig wlan0 txpower 27. Проверил на обоих адаптерах - txpower переключается на указанный в команде. Но пытаюсь эту же команду использовать на виртуалке и для обоих адаптеров выскакивает сообщение:

    Error for wireless request "Set Tx Power" (8B26) :
        SET failed on device wlan0 ; Operation not permitted.

    Могу предположить, что проблема в установленном драйвере вайфай-адаптера. Дрова на виртуалке ставил до прочтения вашей статьи, а на raspberry уже из статьи. Можете подсказать как удалить полностью установленные драйвера вайфай адаптера на виртуалке? Или может есть еще какие-то варианты решения проблемы?

    • Alexey:

      Приветствую! Ошибка Error for wireless request "Set Tx Power" (8B26) : SET failed on device wlan0 ; Operation not permitted всегда возникает, если Wi-Fi карта уже находится в режиме монитора. Поэтому то, что выделаете и что вызывает ошибку, делайте до перевода беспроводного адаптера в режим монитора, а затем можно устанавливать его в режим монитора (если нужно). Здесь, в инструкции, показана правильная последовательность команд — достаточно просто следовать инструкции.

      • Alex:

        Нашел я все-таки причину - все дело в написании команды!

        У вас указано следующее: sudo iw dev wlan0 set txpower fixed 30mBm

        Я у себя набираю: sudo iw wlan0 set txpower fixed 3000

        Эта команда у меня срабатывает и на виртуалке и на raspberry pi4. Нашел я это здесь https://github.com/aircrack-ng/rtl8812au/tree/v5.6.4.1

        Может кому-то пригодится

  14. agent69:

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

     

    • Alexey:

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

      • Аноним:

        Конечно поменял везде 30 и скомпилил. Заменил файл ругуляторный bin.  Но оно не меняется после перезагрузки и вообщк.Адаптер 036nha, и даж если он не подходит, хотя это нет файл bin же новый

        • Аноним:

          Все поменял каку  вас в  статье, у меня тоже GB.Везде выставил  как у вас. пересобрал  базу и  regulatory.bin и перезаписал его и  ключ, попосле перезагрузки  и ввода разных вех команд ничего не меняется.  Векак было по дефолту остается. обидно ибо только  альфу взял, лучше б  NHверию бпал

        • Alexey:

          В смысле «везде»? Там очень много стран, неужели вы для каждой поменяли? Командой sudo iw reg get посмотрите, для какой страны у вас адаптер. Внимательно сделайте изменения в базе данных для этой страны. И ещё раз внимательно выполните все шаги. Если AWUS036NHA, значит просто что-то не так сделали или пропустили какой-то шаг.

          • Аноним:

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

            • Alexey:

              Сейчас провере на свежей Kali Linux. Может быть что-то изменилось уже.

              • Аноним:

                Единственное отличие  - он ругается когда делаешь make на m2rypt. из репозитория  python-m2crypto для второй версии не ставится. python3-m2crypto ставится.  В файле  db2bin.py  заменил в начале #!/usr/bin/env python на #!/usr/bin/env python3. make ошибок  не дал.

                Может в  этом беда?

                 

              • Илья:

                В общем разобрался. M2Crypt для Python2 вставать не хочет ( apt install python-m2crypto ) в Kali.

                sudo apt install python-m2crypto python3-m2crypto

                // он  так ругается

                // я поставил так

                sudo pip2 install M2Crypto

                //потом уже далее по статье

                git clone git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git

                cd wireless-regdb/

                //правим базу как в вашей статье

                //а потом просто

                make

                make install

                //И ВСЕ!! Ничего руками никуда переписывать не  нужно,  само  встает как надо.

                 

    • Alexey:

      Поправил, изменений довольно много:

      - исправлена команда по установке зависимостей

      - патч файлов *.py на использование Python3

      - замена файла regulatory.db (из-за этого и не работало)

      - теперь ключ $USER.x509.pem также копируется в /usr/lib/crda/pubkeys/ (не уверен что это нужно, но здесь https://aur.archlinux.org/packages/wireless-regdb-pentest/ так делается, поэтому я тоже сделал)

      Теперь работает:

      Скриншот сегодняшний, из последней версии Kali Linux.

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

  15. Илья:

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

    global
    country 00: DFS-UNSET
    (2402 - 2472 @ 40), (6, 20), (N/A)
    (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
    (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
    (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
    (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
    (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
    (57240 - 63720 @ 2160), (N/A, 0), (N/A)

    phy#0
    country GB: DFS-ETSI
    (2402 - 2482 @ 40), (N/A, 20), (N/A)
    (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
    (5490 - 5710 @ 160), (N/A, 27), (0 ms), DFS
    (57000 - 66000 @ 2160), (N/A, 40), (N/A)

    Как такое возможно?

    • Аноним:

      На kali 2020.2 такая же ситуация

      • Alexey:

        Если бы прочитали комментарии на одну ветку вверх, то узнали бы, что эта проблема была решена, а этот комментарий без ответа по той причине, что является дублем. Всё прекрасно работает, проверено неделю назад.

  16. Аноним:

    Ну можно еще и так сделать:

    git clone https://github.com/mcepl/M2Crypto
    python setup.py build
    python setup.py install

    • Alexey:

      Скрипты из пакета wireless-regdb поддерживают в равной мере Python 3 и 2. Причём некоторое время назад при улучшении поддержки Python 3 поломали поддержку Python 2, но потом починили.

      В репозиториях Kali Linux удалили pip для Python 2 и, видимо, удалили многие или все другие пакеты для Python 2. Сейчас в Kali Linux можно вообще удалить Python 2 и это не приведёт ни к каким проблемам с зависимостями. Видимо, недалеко то время, когда Python 2 не будет предустанавливаться по умолчанию, а затем и исчезнет из репозиториев.

      Чтобы мне не приходилось исправлять инструкцию каждый месяц, в ней сделан полный переход на Python 3.

  17. Олег:

    Можете подсказать как сделать это на роутере опенврт для 036nha ? 

  18. anon:

    Alexey, добрый день, не выходит с адаптером awus036nhr-v2.
    1ый способ не меняет домен (см. скрин 1)
    2ой способ: отредактировал файл, собрал бинарник, заменил файлы бд, скопировал ключ.
    Безрезультатно.

    • Alexey:

      Если всё сделали правильно, значит, опять что-то поменялось. У меня нет сейчас времени перепроверять.

  19. Alexey:

    Инструкция верифицирована 15 сентября 2020 года на последней Kali Linux с последними обновлениями (2020.3, ядро 5.7.0) — всё прекрасно работает.

  20. Проходил мимо:

    Долго не получаось. Точно не могу сказать в чем было дело. Но последняя последовательность действий была следующей:

    юзнул из коментариев git clone https://github.com/mcepl/M2Crypto

     переименовал папку wireless-regdb(побоялся удалять), она у меня уже была - видимо кривая. накатал ее заново, следовал инструкции, перегрузил - все получилось! 

     

  21. ed:

    enerating regulatory.bin digitally signed by root…
    ./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-root.key.priv.pem
    Traceback (most recent call last):
      File "./db2bin.py", line 128, in <module>
        from M2Crypto import RSA
    ImportError: No module named
    make: *** [Makefile:60: regulatory.bin] Ошибка 1

    M2Crypto установлен в kali 2020.3

  22. Toxa:

    У меня в нотбуке 2 wifi адаптера (встроеный и внещний). про вводе команды iw reg set BZ регион меняется только для встроеного(wlan0), а для внешнего(wlan1) остается тот же. адаптер Tp-link TL-WN722N

  23. Aleksandr:

    Добрый день! Спасибо за ресурс с уникальным и ценным контеннтом!
    Шол по монуалу и сталкнулся с такой по команде make бинарный файл не собирается.

    Alfa AWUS1900 Realtek RTL8814AU
    Linux kali 5.9.0-kali4-amd64 #1 SMP Debian 5.9.11-1kali1 (2020-12-01) x86_64 GNU/Linux

    root@kali:~/wireless-regdb# make
    Generating regulatory.bin digitally signed by root…
    ./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-root.key.priv.pem
    /usr/bin/env: «python332»: Нет такого файла или каталога
    make: *** [Makefile:60: regulatory.bin] Ошибка 127

    python332 создавал эту папку, менял версию python с 3 на 2. - Выдает еще больший каскад ошибок.

    Подскажите в чем может быть причина? В каком направлении думать? Что почитать для того что бы избежать таких ошибок?

    • Alexey:

      python332 ??????? Даже не знаю, почему такой файл не найден в вашей системе…

      Если делать всё по инструкции, просто копировать и вставлять команды в терминал, то всё работает. Проверил сегодня, получилось вот так — это последняя Kali Linux с последними обновлениями:

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

    • Павел:

      Alexey: У меня такая же проблема!  вот это имя python332 получается если несколько раз  выполнять вот это
       

      1

      sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/' *.py

      После выполнения команды

      1

      make

      у меня вышла ошибка
      Generating regulatory.bin digitally signed by root…
      ./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-root.key.priv.pem
      /usr/bin/env: ‘python3’: No such file or directory
      make: *** [Makefile:60: regulatory.bin] Error 127

      после чего я опять попробовал 
       

      1

      sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/' *.py

      1

      make

      и получилась уже вот такая ошибка

      Generating regulatory.bin digitally signed by root…
      ./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-root.key.priv.pem
      /usr/bin/env: ‘python33’: No such file or directory
      make: *** [Makefile:60: regulatory.bin] Error 127

      в чем взаимосвязь - понять не могу. 
      в общем застопорился на этом месте

      • Alexey:

        Приветствую, эта команда в файлах заменяет строки «#!/usr/bin/env python» на «#!/usr/bin/env python3», замену делает простым добавлением тройки в конце строки. Да, если выполнить два раза, будет две тройки, если три — 3 тройки, если четыре, то 4 тройки.

        Просто не надо её выполнять 2 раза. А на самом деле, теперь её не надо выполнять вовсе, поскольку Python 2 из Kali Linux убран вовсе. То есть по умолчанию в любом случае будет использоваться Python 3 даже со строкой «#!/usr/bin/env python». Раньше по умолчанию использовался Python 2 поэтому был необходим этот патч.

        В общем, удалите папку и скачайте заново. И ни используйте эту команду или используйте один раз.

        При следующей проверке инструкции я уберу эту команду — убрать без проверки не могу, а на проверку прямо сейчас нет времени.

        • Alexey:

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

  24. Alexey:

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

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

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

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

    P.S.

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

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

  25. Иван:

    Добрый вечер! у меня проблема, подскажите что означает в данном случае country 99??

     

    global
    country 00: DFS-UNSET
            (2402 - 2472 @ 40), (6, 20), (N/A)
            (2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
            (2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
            (5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
            (5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
            (5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
            (5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
            (57240 - 63720 @ 2160), (N/A, 0), (N/A)

    phy#0
    country 99: DFS-UNSET
            (2402 - 2472 @ 40), (N/A, 20), (N/A)
            (2457 - 2482 @ 40), (N/A, 20), (N/A), PASSIVE-SCAN
            (2474 - 2494 @ 40), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
            (5140 - 5860 @ 80), (N/A, 30), (N/A), PASSIVE-SCAN
     

    • Alexey:

      Приветствую! Это коды с 00 по 99 не привязаны к странам. Думаю, вам будет достаточно создать секцию с кодом 99 по аналогии с «country 00».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *