ip адрес удаленного хоста

Обнаружение местоположения хоста в неуправляемой сети

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

«такой-то хост подключен к свичу, который находится здесь»

Сразу оговорю входные условия:

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

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

В чем сложность?

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

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

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

Как известно, каждый неуправляемый коммутатор имеет таблицу соответствий mac-port. Эта таблица обновляется каждым входящим фреймом по очень простому алгоритму: на какой порт пришел фрейм, к тому порту привязывается mac-адрес из поля src-mac текущего фрейма. В дальнейшем любой пришедший фрейм с dst-mac как у текущего, будет направлен строго в порт, ассоциированный с этим mac.

В процессе, таблица mac-адресов может изменяться, если фрейм с точно таким же src-mac войдет в другой порт. В этом случае старая информация «забывается». Обычно такая ситуация возникает, когда вы перекоммутируете кабели. На этой «особенности» основан алгоритм обнаружения.

Не буду затягивать с теорией и приведу его.

Итак. Мы имеем неуправляемую гирлянду свичей (суровая реальность мелких домашних сетей), выбираем одну из веток. На конце этой ветки выбираем любого абонента. Его я называю агентом. Он выполняет ключевую роль — поиск неизвестного хоста (в скриптах я называю его hacker) будет происходить на участке сервер-агент. Таким образом, в качестве агента желательно выбрать наиболее удаленного абонента.

1) Arp-запросами запрашиваются ip агента и ip хакера. Ip могут находится в разных логических подсетях, для нас это неважно. Важно то,
что arp-запросами мы «переводим» сеть в ее нормальное состояние, поскольку в дальнейшем будем немного ее дестабилизировать.

2) Берем из базы любого абонента, местоположение, которого нам известно. Я называю его user. Осуществляем ethernet-спуффинг путем посылки arp-request:

src-mac — hacker mac
src-ip — неважно (можно hacker или фейковый ip)
dst-mac — user mac
dst-ip — user ip (можно фейковый ip)

Цель данного пакета — «перепрограммировать» порты (изменить таблицу MAC-адресов) в цепочке свичей от сервера до user маком hacker-а. Если в сети на «перепрограммированном» участке кто-либо отправит пакет на MAC хакера, он будет получен нашим сервером, а не хакером.

3) На агента посылается arp-request:

src-mac — hacker mac
src-ip — неважно (можно hacker или фейковый ip, важно чтоб в подсети agent-а)
dst-mac — agent mac
dst-ip — agent ip

Данным пакетом, мы заставляем агента ответить на arp-запрос, который пришел якобы от хакера.

Необходимо отметить очень важный момент: инкапсуляцию протоколов. Дело в том, что arp-запрос имеет свои данные, но он «упаковывается» в ethernet-фрейм, который имеет свои данные. В частности src-mac при стандартном использовании arp-request, что в arp-пакете, что в ethernet-фрейме совпадают. В отличие от предыдущего пакета, нам нужно осуществить именно arp-спуффинг, но не ethernet! Т.е. в ethernet фрейме src-mac должен быть нашего сервера, а в arp пакете src-mac = hacker mac. Если это условие будет соблюдено, то коммутаторы, через которые пройдет фрейм, не изменят свои таблицы MAC-адресов.

4) На сервере переключаемся в promiscuous режим (т.е не отбрасываем пакеты, которые идут к нам, но не на наш адрес) и мониторим arp-reply.
Если:
а) получаем пакет направленный на hacker mac — значит географически hacker находится между user и сервером
б) не получаем — вероятно hacker находится за user

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

В случае, когда User находится на участке Hacker-Agent, ответ агента придет на сервер:

5) Переходим к пункту 1 и выбираем следующего user

В конце тестирования мы имеем таблицу: user — получен/не получен ответ от агента. Если выложить данные на карту (а мой скрипт так и делает), то администратор мгновенно отсеивает мелкие отклонения (обычно их нет) и получает очень точный результат: хакер находится на стыке блоков получен/не получен ответ.

Все, что я здесь описал, повторюсь, мною реализовано на практике: скрипты написаны на perl (use Net::Packet; use Net::Packet::Dump;).

Источник

Получить IP-адрес удаленного компьютера Windows от имени хоста

Я предполагаю, что проблема в вашем скрипте заключается в том, что вы пытаетесь встроить имена переменных непосредственно в текстовую строку, чтобы за ними следуют другие символы, которые могут быть частью имени переменной. Они не только включают буквенно-цифровые символы, но и подчеркивание.

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

1 ответ

Предполагая, что компьютер с Windows по-прежнему доступен по сети, вы можете использовать программу сканирования портов для поиска VNC-сервера, на котором он работает. Если обнаружение имени хоста не работает, часто быстрее и проще просканировать вашу сеть на наличие работающего сервера, чем устранить его.

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

Предположим для примера:

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

Затем вы можете использовать Nmap для сканирования вашей локальной сети на наличие VNC-сервера Windows, выполнив:

Затем откройте Zenmap и выполните сканирование оттуда.

Как вы, вероятно, можете видеть на скриншоте выше, запуск Zenmap все еще включает в себя создание Nmap ] command и, таким образом, подобна командной строке. Но выходные данные отображаются графически, и часть вашей команды может быть создана автоматически с помощью предоставленного интерфейса.

Источник

Как узнать локальный IP адрес хоста, после трансляции адреса NAT?

Собственно как узнать локальный адрес компьютера, если провайдер использует NAT?

P.S. Раньше думал что это не возможно, но сервис 2ip.ru доказал обратное.

Мой ноутбук подключен через Wi-Fi роутер, разве на нем не используется NAT?

Еще получил такой ответ, от админа сайта:
«Пользователь 2ip.com.ua оставил официальный ответ к отзыву «Как вы определяете локальный IP, если я нахожусь за NAT?» проекта «Обратная связь для сайта 2ip.com.ua».

Читайте также:  расчет высоты крыши калькулятор

К сожаление рассказать подробности получения этой информации я вам не могу, так как этот сервис является нашим конкурентным преимуществом перед остальными аналогичными сайтами. Насколько я понимаю, то подобный функционал на других сайтах Вы не встречали. Единственное что могу сказать так это то, что мы можем определять не только IP находящееся за nat, но и полученные в результате подключения через VPN клиенты. Тогда наш сервис покажет информацию в подобном виде: 172.101.0.135 / 10.10.0.10″

А я могу рассказать, поскольку некоторых пользователей которые здесь отписались конкурентами не считаю(нашли в чём конкурировать).
Скрипт определения локального адреса доступен по ссылке https://blog.ivru.net/?id=157
Работает на JavaScript + HTML5 + RTCPeerConnection применим для браузеров Firefox Chrome Opera версий, которые были актуальны на момент написания этого ответа(Firefox например 70-й).
В Edge не определяется. Safari не пробовал, но в интернете пишут что Safari тоже не определяется.

Так же могу добавить что локальный адрес подключения в VPN так же определяется.

Источник

7 сетевых Linux-команд, о которых стоит знать системным администраторам

Существуют Linux-команды, которые всегда должны быть под рукой у системного администратора. Эта статья посвящена 7 утилитам, предназначенным для работы с сетью.

Этот материал — первый в серии статей, построенных на рекомендациях, собранных от множества знатоков Linux. А именно, я спросил у наших основных разработчиков об их любимых Linux-командах, после чего меня буквально завалили ценными сведениями. А именно, речь идёт о 46 командах, некоторые из которых отличает тот факт, что о них рассказало несколько человек.

В данной серии статей будут представлены все эти команды, разбитые по категориям. Первые 7 команд, которым и посвящена эта статья, направлены на работу с сетью.

Команда ip

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

Синтаксис этой команды выглядит так:

Самое важное тут — это (подкоманда). Здесь можно использовать, помимо некоторых других, следующие ключевые слова:

Вывод IP-адресов, назначенных интерфейсу на сервере:

Назначение IP-адреса интерфейсу, например — enps03 :

Удаление IP-адреса из интерфейса:

Изменение статуса интерфейса, в данном случае — включение eth0 :

Изменение статуса интерфейса, в данном случае — выключение eth0 :

Изменение статуса интерфейса, в данном случае — изменение MTU eth0 :

Изменение статуса интерфейса, в данном случае — перевод eth0 в режим приёма всех сетевых пакетов:

Добавление маршрута, используемого по умолчанию (для всех адресов), через локальный шлюз 192.168.1.254, который доступен на устройстве eth0 :

Добавление маршрута к 192.168.1.0/24 через шлюз на 192.168.1.254:

Добавление маршрута к 192.168.1.0/24, который доступен на устройстве eth0 :

Удаление маршрута для 192.168.1.0/24, для доступа к которому используется шлюз 192.168.1.254:

Вывод маршрута к IP 10.10.1.4:

Команда ifconfig

Команда mtr

Синтаксис команды выглядит так:

Если вызвать эту команду, указав лишь имя или адрес хоста — она выведет сведения о каждом шаге маршрутизации. В частности — имена хостов, сведения о времени их ответа и о потерянных пакетах:

А следующий вариант команды позволяет выводить и имена, и IP-адреса хостов:

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

А так можно получить отчёт, содержащий результаты работы mtr :

Вот — ещё один вариант получения такого отчёта:

Для того чтобы принудительно использовать TCP вместо ICMP — надо поступить так:

А вот так можно использовать UDP вместо ICMP:

Вот — вариант команды, где задаётся максимальное количество шагов маршрутизации:

Так можно настроить размер пакета:

Для вывода результатов работы mtr в формате CSV используется такая команда:

Вот — команда для вывода результатов работы mtr в формате XML:

Команда tcpdump

Утилита tcpdump предназначена для захвата и анализа пакетов.

Установить её можно так:

Прежде чем приступить к захвату пакетов, нужно узнать о том, какой интерфейс может использовать эта команда. В данном случае нужно будет применить команду sudo или иметь root-доступ к системе.

Если нужно захватить трафик с интерфейса eth0 — этот процесс можно запустить такой командой:

▍ Захват трафика, идущего к некоему хосту и от него

Можно отфильтровать трафик и захватить лишь тот, который приходит от определённого хоста. Например, чтобы захватить пакеты, идущие от системы с адресом 8.8.8.8 и уходящие к этой же системе, можно воспользоваться такой командой:

Для захвата трафика, идущего с хоста 8.8.8.8, используется такая команда:

Для захвата трафика, уходящего на хост 8.8.8.8, применяется такая команда:

▍ Захват трафика, идущего в некую сеть и из неё

Трафик можно захватывать и ориентируясь на конкретную сеть. Делается это так:

Ещё можно поступить так:

Можно, кроме того, фильтровать трафик на основе его источника или места, в которое он идёт.

Вот — пример захвата трафика, отфильтрованного по его источнику (то есть — по той сети, откуда он приходит):

Вот — захват трафика с фильтрацией по сети, в которую он направляется:

▍ Захват трафика, поступающего на некий порт и выходящего из некоего порта

Вот пример захвата трафика только для DNS-порта по умолчанию (53):

Захват трафика для заданного порта:

Захват только HTTPS-трафика:

Захват трафика для всех портов кроме 80 и 25:

Команда netstat

Если в вашей системе netstat отсутствует, установить эту программу можно так:

Ей, в основном, пользуются, вызывая без параметров:

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

Можно вызывать netstat и с несколькими параметрами, перечислив их друг за другом:

Для вывода сведений обо всех портах и соединениях, вне зависимости от их состояния и от используемого протокола, применяется такая конструкция:

Для вывода сведений обо всех TCP-портах применяется такой вариант команды:

Если нужны данные по UDP-портам — утилиту вызывают так:

Список портов любых протоколов, ожидающих соединений, можно вывести так:

Список TCP-портов, ожидающих соединений, выводится так:

Так выводят список UDP-портов, ожидающих соединений:

А так — список UNIX-портов, ожидающих соединений:

Вот — команда для вывода статистических сведений по всем портам вне зависимости от протокола:

Так выводятся статистические сведения по TCP-портам:

Для просмотра списка TCP-соединений с указанием PID/имён программ используется такая команда:

Для того чтобы найти процесс, который использует порт с заданным номером, можно поступить так:

Команда nslookup

Команда nslookup используется для интерактивного «общения» с серверами доменных имён, находящимися в интернете. Она применяется для выполнения DNS-запросов и получения сведений о доменных именах или IP-адресах, а так же — для получения любых других специальных DNS-записей.

Рассмотрим распространённые примеры использования этой команды.

Получение A-записи домена:

Просмотр NS-записей домена:

Выяснение сведений о MX-записях, в которых указаны имена серверов, ответственных за работу с электронной почтой:

Обнаружение всех доступных DNS-записей домена:

Читайте также:  обои природа в комнату

Проверка использования конкретного DNS-сервера (в данном случае запрос производится к серверу имён ns1.nsexample.com ):

Проверка A-записи для выяснения IP-адресов домена — это распространённая практика, но иногда нужно проверить то, имеет ли IP-адрес отношение к некоему домену. Для этого нужно выполнить обратный просмотр DNS:

Команда ping

Команда ping — это инструмент, с помощью которого проверяют, на уровне IP, возможность связи одной TCP/IP-системы с другой. Делается это с использованием эхо-запросов протокола ICMP (Internet Control Message Protocol Echo Request). Программа фиксирует получение ответов на такие запросы и выводит сведения о них вместе с данными о времени их приёма-передачи. Ping — это основная команда, используемая в TCP/IP-сетях и применяемая для решения сетевых проблем, связанных с целостностью сети, с возможностью установления связи, с разрешением имён.

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

Обычно, если запустить команду ping в её простом виде, не передавая ей дополнительные параметры, Linux будет пинговать интересующий пользователя хост без ограничений по времени. Если нужно изначально ограничить количество ICMP-запросов, например — до 10, команду ping надо запустить так:

Или можно указать адрес интерфейса. В данном случае речь идёт об IP-адресе 10.233.201.45:

Применяя эту команду, можно указать и то, какую версию протокола IP использовать — v4 или v6:

В процессе работы с утилитой ping вы столкнётесь с различными результатами. В частности, это могут быть сообщения о нештатных ситуациях. Рассмотрим три таких ситуации.

▍ Destination Host Unreachable

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

▍ Request timed out

Если результат работы ping выглядит именно так — это значит, что локальная система не получила, в заданное время, эхо-ответов от целевой системы. По умолчанию используется время ожидания ответа в 1 секунду, но этот параметр можно настроить. Подобное может произойти по разным причинам. Чаще всего это — перегруженность сети, сбой ARP-запроса, отбрасывание пакетов фильтром или файрволом и прочее подобное.

▍ Unknown host/Ping Request Could Not Find Host

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

О хорошем качестве связи между исследуемыми системами говорит уровень потери пакетов в 0%, а так же — низкое значение времени получения ответа. При этом в каждом конкретном случае время получения ответа варьируется, так как оно зависит от разных параметров сети. В частности — от того, какая среда передачи данных используется в конкретной сети (витая пара, оптоволокно, радиоволны).

Итоги

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

Источник

Как вычислить операционку на удаленном хосте

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

Возможно, вы знакомы с термином TCP/IP stack fingerprinting, который обозначает, как работают такие инструменты.
Давайте рассмотрим наиболее подходящие утилиты, для этой цели, и попробуем оценить их возможности и особенности.

Небольшой экскурс в теорию

Очевидно также то обстоятельство, что удаленная система представляется нам «чёрным ящиком» на начальном периоде разведывательной деятельности, и мы знаем только IP- адрес. Необходимо выяснить все возможные порты на исследуемом хосте, какую операционную систему он имеет на борту, какое программное обеспечение там установлено и способен взаимодействовать с сетью. А если вы уже имеете определенную информацию, то можете приступать к поиску уязвимостей и думать о том, как их применять.

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

В большинстве случаев, все методы пассивного анализа трафика основаны на изучении стека TCP / IP удаленного компьютера. При этом в заголовках пакетов содержатся поля, относящиеся к операционной системе. В частности, время жизни пакета TTL(Time To Live), равное 64, наиболее часто встречается в Linux и freeBSD. При отсутствии флага фрагментации (Don’t Fragment) это означает, что это OpenBSD. Еще один косвенный символ – это размер окна, максимальный размер сегмента(MSS), значение масштабирования оконного сегмента и состояние флага sackOK. Метод исключения позволяет определить ОС, которая используется на интересующем нас хосте. Для облегчения этого дела будут использованы утилиты из этой статьи.

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

Отчет о сканировании сайта утилитой Nmap

Диагноз об установленной на хосте операционной системе утилита выдает весьма приблизительный, но вероятность того или иного варианта может достигать 90% и даже больше. В принципе, этого вполне достаточно, чтобы понять, в каком направлении копать дальше.

Кроме этого, программа любезно показывает сведения о версии работающего там сервера, об открытых портах, информацию, полученную в результате обработки DNS-запросов, IP- и IPv6-адреса, данные Classless inter-domain routing (CIDR). Софтина может выполнить обратный просмотр DNS (reverse DNS lookup), а также выводит большой объем другой полезной инфы. В Nmap предусмотрено несколько сценариев сканирования, выбор которых зависит от целей исследователя.

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

NetworkMiner.

NetworkMiner — это анализатор трафика, который сами разработчики относят к категории Network Forensic Analysis Tool (NFAT). Тулза использует пассивный метод анализа удаленной системы, а значит, не оставляет никаких следов и позволяет исследователю действовать незаметно.

Утилиту можно скачать с сайта http://sourceforge.net/projects/networkminer, а на страничке разработчиков доступен исходный код.

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

С помощью NetworkMiner можно исследовать и отдельные фреймы. Для этого служит вкладка Frames — здесь представлены данные о размере фрейма, IP-адресах и портах отправителя и получателя, а также прочие полезные сведения. Кроме этого, есть возможность анализировать баннеры демонов. Вся эта информация позволяет воссоздать структуру сети, где выполняется перехват пакетов: особенно это полезно для беспроводных сетей, внутренняя кухня которых тебе незнакома.

Читайте также:  монтирование шары windows в linux

Есть у этой тулзы еще одна шикарная функция: она умеет вытаскивать файлы из трафика, транслируемого по протоколам FTP, TFTP, HTTP, HTTP/2, SMB, SMB2, SMTP, POP3 и IMAP. То есть с ее помощью можно перехватывать файло, передаваемое по электропочте, FTP, по локалке или попросту в браузере пользователя. Из шифрованного трафика NetworkMiner может выдергивать сертификаты X.509. Красота, да и только!

В общем, перед нами вполне себе мощный сниффер, способный творить волшебство в умелых руках. Ну а фингерпринтинг и определение ОС — лишь одна из его широчайших возможностей.

p0f v3.

Это не просто довольно известный сниффер, а программа, объединяющая целый комплекс механизмов для анализа перехваченных пакетов и фингерпринтинга. При этом определение типа ОС на удаленном узле (даже в случаях, когда Nmap с этой задачей не справился, например из-за использования в сети брандмауэра) заявляется разработчиками в качестве одной из основных функций.

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

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

Версия p0f v3 была переписана разработчиками с нуля, поэтому «база отпечатков» там не самая полная. Если верить официальному сайту, программе не хватает данных о старых версиях операционных систем вроде Windows 9x, IRIS и им подобных. Но пользователи могут помочь проекту, добавив в базы результаты собственных экспериментов с программой.

NetScanTools.

Бесплатная утилита NetScanTools Basic появилась еще в 2009 году и с тех пор претерпела лишь незначительные изменения. Умеет она немного: с ее помощью можно получить данные Whois (а без нее, наверное, никак), выполнить traceroute (для тех, кто не умеет пользоваться командной строкой), отправить DNS-запросы и попинговать удаленные хосты и так, и сяк, и вприсядку, то есть управляя параметрами пинга. Негусто.

А вот коммерческая версия Pro может похвастаться более широкими возможностями. Она умеет работать с различными протоколами, включая ARP и SNMP, перехватывать и анализировать пакеты, получать DNS-записи для заданных IP-адресов, искать открытые TCP- и UDP-порты на удаленном хосте, определять поддерживаемые им версии SMB, искать устройства в сети, в том числе SMTP-серверы с открытыми релеями. В сети Active Directory NetScanTools может найти все расшаренные папки, даже скрытые. В составе софтины есть генератор пакетов TCP, UDP, ICMP, CDP, RAW, в котором можно менять различные параметры, благодаря чему NetScanTools легко и непринужденно превращается во флудер.

В целом можно сказать, что NetScanTools Pro довольно интересный проект, включающий инструментарий для активного и пассивного исследования сети. Только вот прайс в 249 долларов немного кусач, особенно если учесть, что вполне себе бесплатные NetworkMiner и Nmap обладают практически тем же набором базовых функций. Впрочем, с сайта разработчиков можно скачать 30-дневную триальную версию, которая поможет тебе решить, стоит ли искать кряк пачку баксов, или лучше воспользоваться фриварным софтом.

X probe.

Это линуксовая утилита, использующая активные методы фингерпринтинга на основе тех же методик и сценариев, что применяются в Nmap. Одна из наиболее интересных особенностей X probe — умение обнаруживать ханипоты (серверы-приманки, специально созданные для ловли доверчивых хакеров) и подозрительные узлы с измененными настройками стека TCP/IP.

С использованием заложенных в софтину алгоритмов нечеткой логики X probe позволяет обнаруживать сервисы, скрытые брандмауэром. Помимо определения ОС на удаленном хосте с использованием ICMP-запросов, в возможности программы входит сканирование TCP- и UDP-портов. К сожалению, последняя версия утилиты датирована 2014 годом и, похоже, с тех пор проект практически не развивается.

Ettercap.

Ettercap — это широко известный в узких кругах сниффер, часто используемый для атак типа MiTM. Работает он практически во всех линуксах, кроме OpenSuSe, а также на платформах UNIX/BSD, кроме Solaris. Говорят, особо могучие шаманы запускали Ettercap даже на macOS, но документального подтверждения этим слухам нет, ибо те, кому это удалось, погибли, лопнув от гордости.

Как и другие снифферы, этот умеет работать с протоколами Telnet, FTP, IMAP, SMB, LDAP и несколькими другими, но с Ettercap можно потрошить и шифрованный трафик, передаваемый по HTTPS и SSH. Несмотря на то что тулза создавалась с прицелом под MiTM, с ее помощью вполне можно идентифицировать удаленные операционные системы методом фингерпринтинга, наряду с такими рутинными процедурами, как определение IP, открытых портов, запущенных на исследуемом узле служб, типа адаптера и MAC-адреса сетевого интерфейса.

После установки и запуска Ettercap начинает сниффить трафик в сети и собирать результат в создаваемых программой профайлах, откуда его можно извлечь для анализа. Этот анализ позволяет установить, в частности, такие данные, как IP-адрес, имя и тип хоста, предположительная версия работающей там ОС, открытые поры и запущенные сервисы. Вполне достаточный стартовый набор для любого исследователя.

THC-Archive.

На гитхабе по адресу https://github.com/vanhauser-thc/THC-Archive/ лежит богатый архив утилит и сплоитов, которые могут стать отличным подспорьем для пентестера. Весь софт долго и кропотливо собирала команда единомышленников под названием The Hacker’s Choice, основанная аж в 1995 году и, судя по активности в Twitter, неплохо чувствующая себя по сей день.

Чуваки предлагают множество интересных проектов, но нас интересуют в основном тулзы из раздела https://github.com/vanhauser-thc/THC-Archive/tree/master/Tools. Тут, в частности, можно найти сканер Amap, позволяющий отследить сервисы, работающие на нестандартных портах.

Некоторые наивные сисадмины искренне надеются, что смогут защитить себя от атаки, если поднимут, например, FTP-сервер, SSH или Telnet на каком-нибудь нестандартном порте вместо привычного. Вот с такими админами и призван бороться Amap.

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

Чтобы облегчить себе жизнь, можно использовать Amap совместно с любым другим сканером. Сканер определяет список открытых портов на интересующем нас хосте, а Amap потом прощупывает этот диапазон и выясняет, какие именно службы юзают эти порты и что полезного из этого может извлечь исследователь. На страничке The Hacker’s Choice можно скачать Amap как под винду, так и под Linux, представлены все версии утилиты, начиная с самых ранних.

Заключение

При проведении теста на проникновение важно знать о том, что сейчас за ОС стоит на компьютере жертвы. А если известно наличие дыр в защите компьютера, то задача по взлому упрощается до минимума.

Источник

Образовательный портал