Локальный доступ к роутеру

HackWare.ru

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

Атака на устройства в локальной сети через уязвимый роутер

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

Как работает домашняя локальная сеть

В домашней локальной сети основой является роутер — довольно сложное сетевое устройство. Это устройство обеспечивает работу локальной сети. При подключении нового устройства к локальной сети роутера, он с помощью протокола DHCP присваивает новому устройству IP адрес. В качестве диапазона IP адресов в домашних сетях обычно используются 192.168.1.0/24, 192.168.0.0/24 или 192.168.100.0/24.

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

Возможно вы уже слышали про NAT и даже знаете, что эта технология позволяет Интернет-провайдеру использовать один единственный внешний (белый) IP адрес для всех или для множества его клиентов. Но NAT используется не только на уровне провайдера Интернет услуг, но и уже в вашем роутере. Рассмотрим NAT чуть подробнее.

NAT

NAT — это технология, которая позволяет множеству устройств выходить в Интернет используя один и тот же IP адрес. Кстати, в вашей локальной сети, в которой имеется роутер, уже применяется NAT — именно благодаря этому все ваши устройства могут выходить в Глобальную сеть и не нужно каждому из них иметь внешний IP.

Как вы понимаете, это часто используемая технология. Возможно, вы много лет ею пользуетесь, даже не зная про неё. Она действительно приносит очень много пользы, но у неё есть недостаток — она позволяет делать подключения «в одну сторону». То есть если ваш компьютер инициализировал подключение к Интернету, то он отправит его роутеру, роутер сделает две вещи: 1) запомнит, что запрос пришёл с определённого устройства и 2) отправить этот запрос в Интернет. Когда придёт ответ, роутер всё ещё «помнит», что этот запрос был сделан для определённого устройства в локальной сети, и отправит ответ именно этому устройству. И так происходит каждый раз.

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

Читайте также:  Windows server роль маршрутизатора

Можно ли получить доступ к компьютеру в локальной сети, если есть доступ к роутеру?

Вроде бы, ответ очевиден — технология NAT не даёт такой возможности в принципе: подключение к локальным устройствам, у которых нет белого IP, а есть только локальный IP вида 192.168.0.*, невозможен.

Но я начал с того, что роутер это весьма сложное сетевое устройство. И это устройство поддерживает множество функций по настройке сети, в частности оно поддерживает:

  • настройку статичных IP адресов для устройств в локальной сети минуя протокол DHCP
  • Forwarding портов

Forwarding портов

Forwarding, который ещё называют «переадресацией» портов, «проброской портов», «перенаправлением портов» или «Port mapping» (сопоставление портов) позволяет делать очень замечательную вещь — с его помощью устройства за NAT, то есть устройство в локальной сети, имеющее локальный IP адрес, могут стать доступными глобально. Правила могут быть настроены весьма гибко, можно сделать пересылку нескольких портов на один, или с одного на несколько, или несколько на несколько и так далее. Но для наших целей больше всего интересно следующее правило, которое словами можно выразить так:

Запрос, который пришёл на порт роутера 22 перенаправить на порт 22 устройства с IP адресом 192.168.0.5.

Номера портов необязательно должны быть одинаковыми, поэтому правило может быть таким:

Запрос, который пришёл на порт роутера 50080 перенаправить на порт 80 устройства с IP адресом 192.168.0.5.

В результате мы получим доступ к порту 80 (его обычно прослушивает веб-сервер) устройства в локальной сети 192.168.0.5.

Это означает, что мы можем получить доступ к любому открытому порту и запущенному на нём службе в локальной сети! Это может быть веб-сервер, SSH, FTP, сетевые протоколы Windows и т.д.

Просмотр устройств локальной сети. Настройка статических адресов в локальной сети

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

Рассмотрим пример. В локальной сети провайдера есть роутер с IP адресом 100.69.64.23 к которому получен административный доступ.

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

  • на странице статуса роутера
  • на странице настройки DHCP
  • на странице статуса LAN (локальной сети)

Например, на этом роутере информация собрана на странице DHCP Clients List:

Данный роутер показывает всего лишь MAC-адрес и локальный IP адрес устройств. Многие роутеры кроме этой информации также показывают, является ли это мобильным устройством или настольным компьютером. Поскольку здесь такой информации нет, то мне нужно самостоятельно догадаться о типе устройства на основе его производителя. Производителя устройства можно узнать по MAC адресу на этом сервисе: https://suip.biz/ru/?act=mac

Читайте также:  Juniper маршрутизаторы и коммутаторы

Например, для MAC 00:80:92:c4:6a:f9 найдена следующая информация:

008092 (base 16) Silex Technology, Inc. 2-3-1 Hikaridai, Kyoto 619-0237 JP

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

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

00:80:92:c4:6a:f9 192.168.1.3 a0:f9:e0:28:02:16 192.168.1.2
  • их MAC-адреса, вроде бы, не принадлежат производителям мобильных телефонов
  • их IP адреса являются самыми первыми — то есть к роутеру весьма вероятно вначале подключаются проводные устройства, а затем устройства по Wi-Fi
  • эти устройства отсутствуют в списке беспроводных клиентов:

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

Чтобы этого избежать можно привязать IP к MAC-адресу — мне ещё не встречались роутеры, которые не умеют этого делать. Настройка выполняется достаточно просто.

Настройка переадресации портов

В зависимости от модели роутера эта вкладка может называться

  • Forwarding
  • Port Forwarding
  • Port mapping
  • Переадресация портов
  • другие варианты

Например, на рассматриваемом роутере эту вкладку я нашёл по пути Application → Port Forwarding:

Всего портов 1-65535 и роутеры позволяют делать переадресацию диапазонов, то есть 65 тысяч портов не придётся настраивать по одному.

Но есть очень важное замечание — мы не можем настроить переадресацию того порта, на котором работает веб-сервер роутера. То есть если роутер открывается на 80 порту, то этот порт должен стать исключением. Иначе произойдёт следующее: ни мы, ни даже владелец роутера больше не сможем попасть в панель администрирования роутера пока не будут сброшены настройки на заводские.

Обратите внимание, что некоторые роутеры работают не на 80, а на 8080 или 443 порте.

Итак, если веб-интерфейс роутера работает на 80 порту и мы хотим получить доступ к локальным ресурсам устройства с IP 192.168.1.2, то нам нужно установить следующие три правила:

  • Переадресацию портов 1-79 на 1-79 порты адреса 192.168.1.2
  • Переадресацию портов 81-65534 на 81-65534 порты адреса 192.168.1.2
  • Переадресацию порта 65535 на 80 порт адреса 192.168.1.2

Первые два правила с диапазонами (надеюсь) очевидны. Третьим правилом мы перенаправляем запросы, пришедшие на порт 65535, на 80 порт локального компьютера, поскольку там может быть веб-сервер или что-то другое интересное.

Читайте также:  Обзор роутера xiaomi redmi ac2100

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

Эта команда покажет открытые порты на роутере:

Констатируем — нас постигла неудача. 80-й порт — это порт самого роутера, а на устройстве с IP 192.168.1.2 просканированные порты закрыты.

Не отчаиваемся — переделываю все правила на переадресацию портов на IP 192.168.1.3:

Поясню, хотя команда Nmap одна и та же, но на самом деле в предыдущий раз мы сканировали порты устройства в локальной сети с IP 192.168.1.2. А последняя команда уже сканирует порты на 192.168.1.3.

Starting Nmap 7.80 ( https://nmap.org ) at 2019-09-29 09:08 MSK Nmap scan report for 100.69.64.23 Host is up (0.017s latency). Not shown: 993 closed ports PORT STATE SERVICE 21/tcp open ftp 23/tcp open telnet 80/tcp open http 443/tcp open https 515/tcp open printer 631/tcp open ipp 9100/tcp open jetdirect Nmap done: 1 IP address (1 host up) scanned in 5.83 seconds

Напомню, что все эти порты, кроме 80, открыты на устройстве, у которого даже нет белого IP адреса, у него IP адрес 192.168.1.3.

А как проверить 80 порт на 192.168.1.3? Делаем это так:

sudo nmap -p 65535 100.69.64.23

Чтобы собрать информацию об отрытых портах, изучим их баннеры:

sudo nmap -sV --script=banner 100.69.64.23
PORT STATE SERVICE VERSION 21/tcp open ftp Brother/HP printer ftpd 1.13 | banner: 220 FTP print service:V-1.13/Use the network password for the I |_D if updating. 23/tcp open telnet Brother/HP printer telnetd |_banner: \x1B[2J\x1B[1;1f 80/tcp open http GoAhead WebServer 2.5.0 (PeerSec MatrixSSL 3.4.2) |_http-server-header: GoAhead-Webs/2.5.0 PeerSec-MatrixSSL/3.4.2-OPEN 443/tcp open ssl/http Debut embedded httpd 1.20 (Brother/HP printer http admin) 515/tcp open printer 631/tcp open ipp? 9100/tcp open jetdirect? Service Info: Device: printer

Не очень интересно — видимо, это всё функции связанные с принтером.

Чтобы подключиться к HTTPS порту, достаточно открыть ссылку в веб-браузере: https://100.69.64.23:443

А там мы видим интерфейс многофункционального устройства (принтер-копер-сканер) MFC-J5910DW:

Ещё раз для тех, кто потерялся, это устройство с IP адресом 192.168.1.3!

Также я сумел подключиться к FTP:

Заключение

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

  • подмена DNS на сервера злоумышленника и манипуляция трафиком на основе поддельных DNS ответов (подвержены все роутеры) (см. Применение фальшивого DNS)
  • перенаправление трафика с помощью VPN канала на оборудование злоумышленника (подвержены только более продвинутые модели с поддержкой VPN) (см. Применение фальшивого VPN (атака человек-посередине+обход HSTS))
  • доступ к медиа носителям, подключённым к роутеру (подвержены только модели с такой функциональностью)

Связанные статьи:

Источник

Оцените статью
Adblock
detector