Простой способ увеличить TX Power для Wi-Fi в Kali Linux и BlackArch
Как увеличить txpower до 36.00 dBm
В статье «Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch» рассматривается теория и разные подходы к увеличению TX Power до 30.00 dBm и снятию ограничений на использование заблокированных Wi-Fi каналов. Статья довольно длинная и некоторые моменты уже устарели. Тем не менее, она рекомендуется для ознакомления, поскольку в ней рассматриваются такие вопросы как: 1) зачем это вообще нужно; 2) как увеличить мощность сменой региона; 3) почему txpower некоторых Wi-Fi адаптеров не поднимается выше определённого значения.
Уже давно для пользователей Arch Linux и BlackArch в AUR человек с ником muhviehstarr (Timo Sarawinski) создал пакет wireless-regdb-pentest который представляет собой Central Regulatory Domain Database с модифицированными для пентестеров значениями txpower/каналов.
Я взял рецепты из файла PKGBUILD пакета wireless-regdb-pentest и переписал их в команды Bash, подходящие для запуска в Kali Linux.
Ещё я использовал патч (https://github.com/buildroot/buildroot/tree/master/package/crda) и дописал несколько команд для совместимости с Python 3.
Как повысить TX Power для Wi-Fi в Kali Linux
Создайте файл wireless-regdb-pentest.sh:
gedit wireless-regdb-pentest.sh
И скопируйте в него следующее:
#!/bin/bash # all thanks to this awesome guy! => https://aur.archlinux.org/packages/wireless-regdb-pentest/ # thanks to them too https://github.com/buildroot/buildroot/tree/master/package/crda which pacman > /dev/null 2>&1 if [[ $? -eq '0' ]]; then sudo pacman -Sy iw libgcrypt libnl sh systemd python-attrs python-m2crypto python-pycryptodomex --needed --noconfirm else which apt > /dev/null 2>&1 if [ $? -eq '0' ]; then sudo apt update sudo apt -y install python3-m2crypto libssl-dev libnl-3-dev pkg-config libgcrypt20-dev python3-pycryptodome libnl-genl-3-dev else echo 'Man, I am really lost...' exit 1; fi fi wget 'https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot/crda-4.14.tar.gz' wget 'https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2020.04.29.tar.xz' curl 'https://aur.archlinux.org/cgit/aur.git/plain/0001-Makefile-Don-t-run-ldconfig.patch?h=wireless-regdb-pentest' > 0001-Makefile-Don-t-run-ldconfig.patch curl 'https://aur.archlinux.org/cgit/aur.git/plain/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch?h=wireless-regdb-pentest' > 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch curl 'https://aur.archlinux.org/cgit/aur.git/plain/crda.conf.d?h=wireless-regdb-pentest' > crda.conf.d curl 'https://aur.archlinux.org/cgit/aur.git/plain/db.txt?h=wireless-regdb-pentest' > db.txt curl 'https://aur.archlinux.org/cgit/aur.git/plain/set-wireless-regdom?h=wireless-regdb-pentest' > set-wireless-regdom curl https://raw.githubusercontent.com/buildroot/buildroot/master/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch > 0001-crda-support-python-3-in-utils-key2pub.py.patch tar xf wireless-regdb-2020.04.29.tar.xz tar xvzf crda-4.14.tar.gz cd crda-4.14 patch -p1 -i ../0001-Makefile-Link-libreg.so-against-the-crypto-library.patch patch -p1 -i ../0001-Makefile-Don-t-run-ldconfig.patch patch -p1 -i ../0001-crda-support-python-3-in-utils-key2pub.py.patch sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/' ./utils/key2pub.py cp ../db.txt ../wireless-regdb-2020.04.29/db.txt export CC=gcc export CXX=g++ cd ../wireless-regdb-2020.04.29/ make mrproper export REGDB_AUTHOR=root sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/' *.py make cd ../crda-4.14 cp ../wireless-regdb-2020.04.29/root.key.pub.pem pubkeys/ sed -i 's/python utils\/key2pub.py/python3 utils\/key2pub.py/' Makefile make REG_BIN=../wireless-regdb-2020.04.29/regulatory.bin sudo install -d -m755 /usr/lib sudo mkdir -p /usr/lib/crda/pubkeys sudo make DESTDIR="" UDEV_RULE_DIR=/usr/lib/udev/rules.d/ SBINDIR=/usr/bin/ install cd ../wireless-regdb-2020.04.29/ sudo install -D -m644 ../wireless-regdb-2020.04.29/root.key.pub.pem /usr/lib/crda/pubkeys/root.key.pub.pem sudo install -D -m644 ../wireless-regdb-2020.04.29/regulatory.bin /usr/lib/crda/regulatory.bin # let’s skip this bashisms # (if LD_LIBRARY_PATH=../crda-4.14 ../crda-4.14/regdbdump /usr/lib/crda/regulatory.bin > /dev/null) && (echo "Regulatory database verification was succesful.") || (echo "Regulatory database verification failed.") sudo install -d -m755 /usr/lib/firmware sudo install -D -m644 ../wireless-regdb-2020.04.29/regulatory.db /usr/lib/firmware/regulatory.db sudo install -D -m644 ../wireless-regdb-2020.04.29/regulatory.db.p7s /usr/lib/firmware/regulatory.db.p7s sudo install -D -m644 ../wireless-regdb-2020.04.29/LICENSE /usr/share/licenses/wireless-regdb/LICENSE sudo install -D -m644 ../wireless-regdb-2020.04.29/regulatory.bin.5 /usr/share/man/man5/regulatory.bin.5 sudo install -D -m644 ../crda.conf.d /etc/conf.d/wireless-regdom # sudo su # if you type the commands, you have to be root now for dom in $(grep ^country ../wireless-regdb-2020.04.29/db.txt | cut -d' ' -f2 | sed 's|:||g'); do echo "#WIRELESS_REGDOM=\"${dom}\"" >> /etc/conf.d/wireless-regdom.tmp; done sort -u /etc/conf.d/wireless-regdom.tmp >> /etc/conf.d/wireless-regdom rm /etc/conf.d/wireless-regdom.tmp # CTRL+d sudo install -D -m644 ../wireless-regdb-2020.04.29/LICENSE "/usr/share/licenses/wireless-regdb/LICENSE" # Not sure if this is necessary since the crda package is already installed above. # But without these lines, I did not find crda in the system cd ../crda-4.14 sudo make install
Запускать так:
sudo bash wireless-regdb-pentest.sh
После завершения работы скрипта перезагрузите компьютер.
Результат:
Для увеличения мощности Wi-Fi адаптеров больше не нужно вводить какие-либо команды. Но иногда мощность повышается только после второго подсоединения устройства к компьютеру.
Как повысить TX Power для Wi-Fi в BlackArch
Очевидно, что в Arch Linux и BlackArch можно установить wireless-regdb-pentest из AUR.
Но проблема в том, что в официальном репозитории Arch Linux больше нет пакета python2-m2crypto, который является зависимостью для wireless-regdb-pentest.
В BlackArch этой проблемы нет, поскольку в репозиториях BlackArch сохранён пакет python2-m2crypto.
То есть в BlackArch для увеличения мощности Wi-Fi достаточно установить pikaur, а затем выполнить команду:
pikaur -S wireless-regdb-pentest
Пользователи Arch Linux могут воспользоваться моим скриптом, который приведён выше. Версия для Arch Linux отличается только тем, что используется менеджер пакетов pacman вместо apt, в остальном команды идентичны.
После завершения работы скрипта перезагрузите компьютер.
Результат:
Работает ли вообще повышение TX Power для Wi-Fi?
Я встречал мнения в Интернете, что эти цифры ни на что не влияют. Не в том смысле не влияют, в каком я объяснял в предыдущей инструкции «Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch», а вообще не работают. Я уже писал, что TX Power это то, насколько сильно «кричит» Wi-Fi адаптер и, на самом деле, обычно мощности передачи хватает. На мой взгляд, не менее важна такая характеристика как чувствительность, то есть образно говоря насколько хорошо «слышит» Wi-Fi адаптер. И данная инструкция никак не улучшает чувствительность (но это можно сделать поставив более крупную антенну или изначально нужно выбирать Wi-Fi адаптер с хорошей чувствительностью — она зависит от чипсета).
Говоря совсем просто, повлияет ли увеличение TX Power на количество удачных атак? Может быть и нет. Я бы начал с замены антенны на побольше (если это подходит для вашего Wi-Fi адаптера).
Что касается утверждения одного из пользователей, что он с помощью USB tester’а делал замеры и не увидел никакой разницы после повышения TX Power, то я думаю, что это неправда. Я тоже делал замеры с помощью USB тестера. Так вот, потребление энергии Wi-Fi адаптером является плавающим и меняется слишком быстро, чтобы вообще что-то понять. То есть можно выполнить физические измерения и убедиться, что TX Power увеличилась, но не с помощью USB tester’а.
Причин не доверять значению txpower в выводе iw dev я не вижу.
Связанные статьи:
- Как увеличить мощность (TX Power) Wi-Fi карты в Kali Linux и BlackArch (100%)
- Как в Linux взламывать пароли видеокартой и центральным процессором (77.8%)
- Книга «Взлом Wi-Fi сетей с Kali Linux и BlackArch» (на русском языке) (62.9%)
- Брут-форс ключей для ненастроенных сетей на 5 ГГц (62.9%)
- Автоматизированный взлом Wi-FI WEP с Besside-ng и Wesside-ng (62.9%)
- Продвинутое использование Pyrit (RANDOM - 22.3%)
Здравствуйте. При запускуе скрипта,выходит ошибка (make: *** [Makefile:140: crda] Ошибка 1) Что надо исправить?
Приветствую! Какой у вас дистрибутив Linux?
Это единственная ошибка? Я имею ввиду какие строки выводятся до этой ошибки? Если будете запускать скрипт повторно, то предварительно удалите все скаченные скриптом файлы.
Такая же проблема. Дистрибутив только что установленная на виртуалку Кали со всеми обновлениями. До скрипта только установил драйвер для alfa awus036ach c github
Кажется догадываюсь… забыли выполнить sudo apt update, там перед этой ошибкой ещё сообщения что не найдены кандидаты на установку и как следствие — все зависимости не установлены.
apt update выполнил, но вот. извиняюсь, что скопировал полностью, получилось много текста, но вдруг поможет
sudo bash wireless-regdb-pentest.sh
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Уже установлен пакет libgcrypt20-dev самой новой версии (1.9.4-5).
Уже установлен пакет libnl-3-dev самой новой версии (3.4.0-1+b1).
Уже установлен пакет libssl-dev самой новой версии (1.1.1m-1).
Уже установлен пакет pkg-config самой новой версии (0.29.2-1).
Уже установлен пакет python3-m2crypto самой новой версии (0.38.0-2).
Уже установлен пакет python3-pycryptodome самой новой версии (3.11.0+dfsg1-3).
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
--2022-02-05 13:01:05-- https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot/crda-4.14.tar.gz
Распознаётся git.kernel.org (git.kernel.org)… 145.40.68.75, 2604:1380:4601:e00::1
Подключение к git.kernel.org (git.kernel.org)|145.40.68.75|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: нет данных [application/x-gzip]
Сохранение в: «crda-4.14.tar.gz»
crda-4.14.tar.gz [ <=> ] 71,05K --.-KB/s за 0,1s
2022-02-05 13:01:05 (544 KB/s) - «crda-4.14.tar.gz» сохранён [72753]
--2022-02-05 13:01:05-- https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2020.04.29.tar.xz
Распознаётся http://www.kernel.org (www.kernel.org)… 145.40.68.75, 2604:1380:4601:e00::1
Подключение к http://www.kernel.org (www.kernel.org)|145.40.68.75|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 301 Moved Permanently
Адрес: https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2020.04.29.tar.xz [переход]
--2022-02-05 13:01:06-- https://mirrors.edge.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2020.04.29.tar.xz
Распознаётся mirrors.edge.kernel.org (mirrors.edge.kernel.org)… 147.75.101.1, 2604:1380:2001:3900::1
Подключение к mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.101.1|:443… соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 24552 (24K) [application/x-xz]
Сохранение в: «wireless-regdb-2020.04.29.tar.xz»
wireless-regdb-2020.04.29.tar. 100%[==================================================>] 23,98K --.-KB/s за 0,007s
2022-02-05 13:01:06 (3,45 MB/s) - «wireless-regdb-2020.04.29.tar.xz» сохранён [24552/24552]
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 581 100 581 0 0 1556 0 --:--:-- --:--:-- --:--:-- 1587
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1466 100 1466 0 0 4971 0 --:--:-- --:--:-- --:--:-- 5020
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 48 100 48 0 0 162 0 --:--:-- --:--:-- --:--:-- 162
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 63075 100 63075 0 0 134k 0 --:--:-- --:--:-- --:--:-- 135k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 126 100 126 0 0 407 0 --:--:-- --:--:-- --:--:-- 411
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8938 100 8938 0 0 19959 0 --:--:-- --:--:-- --:--:-- 19995
crda-4.14/
crda-4.14/.gitignore
crda-4.14/CONTRIBUTING
crda-4.14/LICENSE
crda-4.14/Makefile
crda-4.14/README
crda-4.14/copyleft-next-0.3.0
crda-4.14/crda.8
crda-4.14/crda.c
crda-4.14/crda.spec
crda-4.14/db2rd.c
crda-4.14/debian-example/
crda-4.14/debian-example/changelog
crda-4.14/debian-example/compat
crda-4.14/debian-example/control
crda-4.14/debian-example/copyright
crda-4.14/debian-example/docs
crda-4.14/debian-example/rules
crda-4.14/intersect.c
crda-4.14/nl80211.h
crda-4.14/optimize.c
crda-4.14/pubkeys/
crda-4.14/pubkeys/linville.key.pub.pem
crda-4.14/pubkeys/sforshee.key.pub.pem
crda-4.14/regdb.h
crda-4.14/regdbdump.8
crda-4.14/regdbdump.c
crda-4.14/reglib.c
crda-4.14/reglib.h
crda-4.14/udev/
crda-4.14/udev/regulatory.rules
crda-4.14/utils/
crda-4.14/utils/key2pub.py
patching file Makefile
patching file Makefile
patching file Makefile
Hunk #1 succeeded at 115 (offset 3 lines).
patching file utils/key2pub.py
Removed public key, regulatory.bin, regulatory.db.5 and compressed man pages
Generating public key for root…
openssl rsa -in ~/.wireless-regdb-root.key.priv.pem -out root.key.pub.pem -pubout -outform PEM
writing RSA key
Generating certificate for root…
./gen-pubcert.sh ~/.wireless-regdb-root.key.priv.pem root.x509.pem
Generating regulatory.bin digitally signed by root…
./db2bin.py regulatory.bin db.txt ~/.wireless-regdb-root.key.priv.pem
sha1sum db.txt > sha1sum.txt
Generating regulatory.db
./db2fw.py regulatory.db db.txt
Signing regulatory.db (by root)…
GEN keys-gcrypt.c
Trusted pubkeys: pubkeys/linville.key.pub.pem pubkeys/root.key.pub.pem pubkeys/sforshee.key.pub.pem
CC libreg.so
CC crda.o
Package libnl-genl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-genl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-genl-3.0' found
LD crda
/usr/bin/ld: crda.o: в функции «nl80211_init»:
/home/vic/crda-4.14/crda.c:63: неопределённая ссылка на «genl_connect»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:69: неопределённая ссылка на «genl_ctrl_alloc_cache»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:75: неопределённая ссылка на «genl_ctrl_search_by_name»
/usr/bin/ld: crda.o: в функции «main»:
/home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genl_family_get_id»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genlmsg_put»
/usr/bin/ld: crda.o: в функции «nl80211_cleanup»:
/home/vic/crda-4.14/crda.c:93: неопределённая ссылка на «genl_family_put»
collect2: error: ld returned 1 exit status
make: *** [Makefile:140: crda] Ошибка 1
INSTALL libreg
INSTALL libreg-headers
Package libnl-genl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-genl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-genl-3.0' found
LD crda
/usr/bin/ld: crda.o: в функции «nl80211_init»:
/home/vic/crda-4.14/crda.c:63: неопределённая ссылка на «genl_connect»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:69: неопределённая ссылка на «genl_ctrl_alloc_cache»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:75: неопределённая ссылка на «genl_ctrl_search_by_name»
/usr/bin/ld: crda.o: в функции «main»:
/home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genl_family_get_id»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genlmsg_put»
/usr/bin/ld: crda.o: в функции «nl80211_cleanup»:
/home/vic/crda-4.14/crda.c:93: неопределённая ссылка на «genl_family_put»
collect2: error: ld returned 1 exit status
make: *** [Makefile:140: crda] Ошибка 1
INSTALL libreg
INSTALL libreg-headers
Package libnl-genl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-genl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-genl-3.0' found
LD crda
/usr/bin/ld: crda.o: в функции «nl80211_init»:
/home/vic/crda-4.14/crda.c:63: неопределённая ссылка на «genl_connect»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:69: неопределённая ссылка на «genl_ctrl_alloc_cache»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:75: неопределённая ссылка на «genl_ctrl_search_by_name»
/usr/bin/ld: crda.o: в функции «main»:
/home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genl_family_get_id»
/usr/bin/ld: /home/vic/crda-4.14/crda.c:218: неопределённая ссылка на «genlmsg_put»
/usr/bin/ld: crda.o: в функции «nl80211_cleanup»:
/home/vic/crda-4.14/crda.c:93: неопределённая ссылка на «genl_family_put»
collect2: error: ld returned 1 exit status
make: *** [Makefile:140: crda] Ошибка 1
Возможно не отправилось моё сообщение… sudo apt update выполнял. Могу скинуть лог операции
Приветствую! Сообщение с журналом выполнения скрипта попало в СПАМ, сейчас я его восстановил.
Ключевые строки в этом сообщении:
То есть отсутствует зависимость libnl-genl-3.0, самым похожим пакетом является libnl-genl-3-dev, попробуйте установить его и снова запустите скрипт:
Хм, работает СПАСИБО
После перезагрузки значения возвращаются к стандартным.
Kali Linux 2021.4a
как-то можно это исправить, кроме варинтов выполнят ьскрипт каждый раз?
Виртуалка на VMware, USB адаптер TP-Link TL WN 821N.
Выполнять скрипт каждый раз после перезагрузки не то что не нужно, это просто бессмысленно. Хотя бы потому, что изменения вступают в силу только после перезагрузки.
Значения не столько возвращаются к прежним, сколько являются нестабильными. То есть иногда настройки применяются, иногда они слетают, но затем опять возвращаются. Точной причины этого я не знаю.
Здравствуйте, Алексей! Я уже несколько месяцев пытаюсь увеличить мощность Wi-Fi адаптера alfa awus036ach, но всё безуспешно.( В первой версии этого адаптера, под корпусом был переключатель, которым можно было менять мощность. В новой версии(USB type C) его убрали, у меня как раз таки новая версия. Пробовал повысить мощность программно выключив девайс. Менял регион на Боливию,а потом увеличивал мощность.Включал обратно. Через вашу, данную статью - тоже не выходит . Не можете ли вы поделиться своим огромным опытом со мной ? За ранее благодарю!
Такая же фигня, уже подумал что альфа не оригинал раз без переключателя, но проверку на подлинность прошла…
Добрый день. Данный способ подойдет для Ubuntu?
Здравствуйте! После перезагрузки пк ограничения на 20дбм изменились на 36, но сама мощность адаптера так и осталась на 20дбм. Адаптер tp-link tl-wn722n v1 на AR9271. ОС Kali Linux 2022.3. Перепробовал все что было в интернете, и метод с прошлой статьи в том числе. Код региона адаптера кстати не меняется. Помогите!!!