Методы проникновения в локальную сеть. В этой статье я опишу методы проникновения внутрь локальной сети.
Прежде всего необходимо разобраться что есть локальная сеть и что есть интернет, и как это дело связано.
Думаю не надо объяснять что такое локальная сеть, скажу лишь, что интернет это и есть объединение локальных сетей в более крупные сети, эти сети соединяют в еще более крупные и т.д.
Это краткое введение в сети, так сказать, я не рассматриваю здесь такие вещи как роутер, шлюз и пр. - это бы заняло слишком много времени.
Далее следует рассмотреть объект данной статьи - локальная сеть.
Как локальная сеть выводится в инет?
Выделяют 3 технологии вывода сетей в инет - прокси, технологии создания
виртуальных сетей (VPN) и ретранслятор сетевых адресов (NAT).
Рассмотрим каждый по отдельности:
Прокси - они бывают разные, наиболее популярны прокси, работающие на протоколах HTTP (1.0 & 1.1) и Socks (4, 5).
По протоколу HTTP рекомендую почитать следующие RFC: 1945, 2069 и 2616.
Вкратце скажу, что HTTP прокси бывают двух видов: поддерживающие метод протокола 1.1 - CONNECT и обычные прокси. Обычные прокси ретранслируют заголовок, поступивший на их порт на сервер, указанный в поле "Host" HTTP заголовка (т.е. возможна ретрансляция лишь HTTP траффика, иногда FTP), а прокси, поддерживающие метод CONNECT позволяют ретранслировать весь TCP траффик (POP3, SMTP, FTP (пассивный) и пр.).
Соксы поддерживают передачу всех TCP данных (отличие сокса 4 от 5 версии - поддержка авторизации, поддержка открытия порта на соксе (для реализации активного фтп) и передача UDP датаграмм через TCP протокол - забавно, не так ли?).
Виртуальные сети - технология достаточно сложна, но можно лишь сказать, что этот метод эффективен, когда нужно к каждому пользователю сети выделить IP адрес в другой сети (инете). В технологии VPN происходит инкапсуляция (шифрация с созданием нового заголовка) входящих IP пакетов и их последующая обработка на виртуальном сетевом интерфейсе в удаленной сети (замысловато, да? на самом деле всё очень просто если разобраться, но речь наша не об этом).
Далее идет самое интересное - ретрансляторы сетевых адресов (NAT).
Наиболее популярный вариант вывода сети в инет (популярен, т.к. позволяет экономить адресное пространство IPv4 и позволяет без особых настроек юзерам вылазить в инет).
Суть проста: имеется сервер, который ретранслирует все входящии запросы с одного сетевого интерфейса на другой с заменой адреса отправителя, а ответы на запросы переправлять в исходную сеть без замены адреса отправителя (почти что прозрачный вариант).
Обычно администраторы ставят NAT сервера из-за простоты в настройке и ложным ощущением их защиты
По-умолчанию NATы поддерживают передачу данных в две стороны - из сети и в сеть. Хорошие админы закрывают передачу в сеть, кроме передачи данных по уже открытым портам (чтобы клиент в сети мог получить ответ сервера из инета), НО как правило об этом и забывают, в результате вся сеть становится доступной для вторжения извне.
Хватит брехни, как это сделать?
Да, я тоже думаю, что я тут расписался. С первого взгляда в сеть извне не попасть (потому что нет никакой возможности вбить в "крякер инета" заветный ип адрес и распечатать на принтере все пароли%)), однако это не так.
Каждая система имеет свою таблицу маршрутов - проще это называется Forwarding table. Сетевой интерфейс, получив IP пакет, сравнивает адрес получателя с таблицой маршрутов, и если заданный адрес входит в какую-либо подсеть из таблицы маршрутов, то пакет пересылается на адрес шлюза, привязанного к этой подсети (мда, с первого взгляда вроде не поймешь%)).
Таблица маршрутов забивается автоматом при подключении (NAT или VPN), хотя стало модным кидать файлик аля route.bat с необходимыми маршрутами=)
Вообщем единственное что нам нужно для проникновения в сеть - это какой-либо адрес в сети и маска подсетки (вы уже устали, поэтому давайте побырому).
Забиваем в таблицу маршрутов такую вещь вот так:
пуск - выполнить
route add любой_ип_в_целевой_сети mask маска_подсети(если нужно получить доступ к тому ип, что вы узнали - можно забить 255.255.255.255) внешний_адрес_NAT_шлюза
пример:
route add 127.0.0.1 mask 255.255.255.0 192.12.34.56
где 127.0.0.1 - это любой ип из локальной сети
255.255.255.0 - макска подсети, которая определяет биты адреса сети (т.е. просто дает диапазон айпишников для локальной сети в пределах шлюза)
192.12.34.56 - внешний IP NAT шлюза (его можно узнать, заманив любого юзера на сайт, где запишется его IP ).
После этого, если NAT атакуемой сети позволяет работать извне с сетью (по дефолту позволяет=)), то вы имеете доступ к сети путем "прямой" работы с её айпишниками.
Примечание:
1) Это не прокатит если вы находитесь внутри локальной сети, без внешнего
айпи (ограничения системы маршрутов вам не позволят такой трюк).
2) Статья писалась для тех кто немного соображает в сетях.