3. Использование сетевых инструментов Linux

#Обучение

Довольно часто Интернет-провайдеры для экономии белых IP используют NAT. В результате получается, что у многих пользователей на всех один внешний IP адрес. Пользователям особой разницы нет (особенно если им не нужен белый IP, например, для веб-сервера), но для такой программы как Router Scan by Stas'M эти пользователи становятся уже недосягаемы. 

 

Как узнать локальные IP адреса пользователей Интернет-провайдера 

Тем не менее если вы являетесь клиентом Интернет-провайдера то вполне реально найти IP других клиентов в локальной сети. Для сканеров, в том числе Router Scan, разницы нет — он прекрасно может просканировать и локальный диапазон. В локальных сетях используется несколько диапазонов IP адресов, некоторые из них довольно большие. Поэтому нужно знать, что именно сканировать — какой именно диапазон. Можно, конечно, запустить полную проверку 10.0.0.0/8 (это надолго). Но выполнив предварительное исследование сети, можно сильно сократить целевые локальные подсети и время сканирования. 

Как узнать диапазоны локальной подсети Интернет-провайдера 

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

traceroute suip.biz

 

Первая строка: 

1 _gateway (192.168.1.1) 9.314 ms 9.661 ms 9.637 ms

это мой собственный роутер. Сканировать локальную сеть 192.168.1.1/24 смысла нет. 

А вот следующие три адреса говорят нам о сети 10.0.0.0/8: 

2 10.20.48.1 (10.20.48.1) 9.886 ms 13.107 ms 16.762 ms
3 10.246.245.241 (10.246.245.241) 19.784 ms 20.412 ms 20.399 ms
4 10.185.252.29 (10.185.252.29) 20.797 ms 20.774 ms 20.728 ms

Но сеть 10.0.0.0/8 является реально большой (2563 = 16,777,216 адресов). Интернет провайдеру часто просто не нужна такая большая сеть и он использует только её части — подсети, в которых компактно собраны пользователи. 

Можно предположить, что первый IP (10.20.48.1) является шлюзом для всех пользователей, которые расположены где-нибудь в 10.20.48.1-10.20.60.255. 

Можно попробовать просканировать эти диапазоны. Но ключевую подсказку дала программа ZMap. Я запустил сканирование всей подсети в поисках хостов: 

sudo zmap -p 80 10.0.0.0/8 -o zmap.txt -r 300 

Но ждать почти сутки до завершения (через Wi-Fi сканирование происходит медленно, а я подключён именно так) мне не пришлось. Алгоритм сканирования ZMap такой, что она проверят хосты не последовательно, а в разнобой по всему указанному диапазону. И если пользователи действительно расположены компактно в определённых подсетях, то уже через короткое время (минут 15) можно понять, где именно они: 

cat zmap.txt | sort

 

Пользователи оказались сконцентрированы в довольно небольших диапазонах: 

  • 10.20.160.0-10.20.162.255 
  • 10.20.48.1-10.20.63.255 

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

Я добавил эти диапазоны в Router Scan by Stas'M и получил примерно 1200 хороших результатов: 

 

Выгрузка на 3WiFi показала, что там много новых ТД. 

Всё? 

Посмотрите внимательно на столбец WAN IP Address на скриншоте выше. 

Они расположены компактно. Но это не всё. Программа whois

whois 100.96.35.140 

рассказала мне, что принадлежат они диапазону 100.64.0.0/10 (то есть 100.64.0.0 — 100.127.255.255). И что это Shared Address Space — то есть общее пространство адресов, которое может использоваться только в сетях провайдера услуг или на оборудовании для маршрутизации, которое способно делать преобразование адресов через интерфейсы роутеров, когда адреса являются идентичными на двух различных интерфейсах. 

Эти адреса являются немаршрутизируемыми и недоступными для внешней сети, но пинг подсказал, что у меня есть к ним контакт: 

ping 100.96.35.140 

Я проанализировал адреса и запустил Router Scan на диапазоне 100.96.32.1-100.96.56.255: 

 

Набралось 200 хороших результатов и даже с учётом выгруженных предыдущих точек доступа, было больше сотни новых! 

С помощью Parallel можно очень быстро искать адреса вида 10.x.x.1, которые могут оказаться шлюзами по умолчанию: 

parallel -j250 'timeout 2 ping -c 1 10.{1}.{2}.1 >/dev/null && echo 10.{1}.{2}.1' ::: {1..255} ::: {1..255} 

Судя по всему, этот метод дал мне ещё несколько подсетей: 

 

Поискать живые хосты без сканирования портов можно и с помощью Nmap

sudo nmap -sn 10.91.111.0/24 

Но если нам не нужно во что бы то ни стало найти все живые хосты, если нас интересуют только те, на которых прослушивается 80й порт, то всё можно сделать намного быстрее с помощью ZMap

sudo zmap -p 80 10.91.111.0/24 -r 300 

Адреса из локальной подсети 10.0.0.0/8 можно найти даже когда на первый взгляд их там нет. Вот пример другого Интернет-провайдера, где никаких признаков локальной сети 10.0.0.0/8: 

 

Но обычная ping с бустом от parallel доказывают обратное: 

 

Хотя там может и не быть роутеров — какие-то технические сетевые узлы. Но при исследовании сети это всё равно важно. 

Это небольшая заметка о том, как сканировать Интернет-провайдеров изнутри. Подытожим: 

  • сканируя локальные диапазоны мы получаем доступ к устройствам, которые невозможно просканировать из глобальной сети 
  • проведя небольшой анализ можно узнать диапазон локальной сети (10.0.0.0/8, 172.16.0.0/12 или 100.64.0.0/10) и даже сильно сократить количество IP для сканирования.
  • Источник: https://hackware.ru/?p=9152
  • 0 utilizatori au considerat informaţia utilă
Răspunsul a fost util?

Articole similare

1. Инструменты kali: goofile, Recon-ng,

 Описание пакета goofile Используйте этот инструмент для поиска файла определенного типа в...

2. Еще инструменты kali: Galleta, pdgmail,Xplico и p0f

Описание пакета Galleta Galleta - это судебно-экспертный инструмент, который исследует...

4. Инструкция по использованию Router Scan

Источник: В значительной степени основывается на справке программы. Для чего нужна программа...