Что такое netbios через tcp ip

Net BIOS

Введение

NetBIOS (Network Basic Input/Output System) — коммуникационный протокол для работы в локальных сетях. Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Включает в себя интерфейс сеансового уровня (NetBIOS interface). Интерфейс NetBIOS представляет собой стандартный интерфейс разработки приложений (API) для обеспечения сетевых операций ввода/вывода и управления нижележащим транспортным протоколом.

NetBIOS может использовать в качестве транспортного протоколы TCP/IP, Net BEUI а также NWLink от Novell NetWare. При этом результирующий протокол может обозначаться соотвественно :

Имена NetBIOS

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

GROUP: нормальная группа; одиночное имя может существовать со многими адресами IP.

Multihomed: имя уникально, но из-за множественных сетевых интерфейсов на одном и том же компьютере, эта конфигурация необходима чтобы разрешить регистрацию. Максимальное число адресов – 25.

Регистрация_имени (Name registration)Когда NBT-хост инициализируется, он регистрирует свое NetBIOS имя используя запрос на регистрацию имени. Регистрация может производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер.
Если регистрируемое имя уже существует, то хост или WINS сервер информируют хост, приславший запрос, о невозможности регистрации NetBIOS имени. В результате возникает ошибка инициализации имени.
Поиск_имени (Name Discovery)Поиск NetBIOS имени в локальной сети производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер.
Хост, зарегистрированный с этим именем, или WINS сервер, отвечают на запрос.
Освобождение_имени (Name Release)Освобождение имени осуществляется когда NetBIOS приложение или сервис заканчивают свою работу. После освобождения имя становится доступным для регистрации другим хостом.

Разрешение NetBIOS имен

Разрешение имен NetBIOS – это процесс определения IP адреса хоста, по известному NetBIOS имени.
Схема разрешения NetBIOS имен в Windows

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Пояснения к схеме :
1 – Имя длиной более 15 знаков или не соответствующее требованиям не является NetBIOS именем и предпринимается попытка его разрешения с помощью DNS сервера.
2 – Подробнее – на странице Тип Узла.
3 – Подробнее – на странице Файл Lmhosts.
4 – Разрешение проверки файла Lmhosts устанавливается так –

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

5 – Подробнее – на странице Файл Hosts.
6 – В настройках сетевого интерфейса должен быть указан адрес DNS сервера.
7 – Невозможно разрешить IP адрес. Компьютер с искомым именем не будет реагировать на обращение по NetBIOS имени. Обратиться к сетевым ресурсам данного компьютера возможно по его IP адресу, например – \\192.168.1.2

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

NetBIOS

NetBIOS

Communications protocol
Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip
PurposeРабота в локальных сетях на персональных ЭВМ типа IBM PC
Developer(s)Sytec Inc.
Based onВ качестве транспортных протоколов используются TCP и UDP
Port(s)137/TCP,UDP; 138/TCP,UDP; 139/TCP,UDP

NetBIOS (Network Basic Input/Output System) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM PC, разработан в виде интерфейса, который не зависит от фирмы-производителя. Он включает в себя интерфейс сеансового уровня (англ. NetBIOS interface), в качестве транспортных протоколов использует TCP и UDP. На базе интерфейса программирования NetBIOS созданы такие приложения, как Chat входящие в поставку Windows NT до сервера Notes для Windows. Microsoft Mail так же работает с NetBios для уведомления об отправке почты клиента.

Особенностью NetBIOS является возможность его работы поверх разных протоколов, самыми распространёнными/известными из которых являются NetBEUI, IPX и стек протоколов TCP/IP; причём если старые версии Windows ориентировались на более лёгкие в реализации и менее ресурсоёмкие NetBEUI и IPX, то современные Windows ориентируются на TCP/IP. При использовании NetBEUI и IPX NetBIOS сам обеспечивает надёжность доставки данных (функциональность SPX не использовалась), а при использовании TCP/IP надёжность доставки обеспечивает TCP, за что удостоился отдельного имени «NBT». [Источник 1]

Содержание

История создания

Интерфейс NetBIOS был разработан Sytec Inc. (сейчас Hughes LAN Systems) для Корпорации International Business Machines (IBM) в 1983.

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

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

Принципы проектирования

NETBIOS лежит в основе большого набора существующих прикладных программ. Представляется желательным работать с этими прикладными программами в сетях TCP и расширить их применение от ПЭВМ до более мощных рабочих ЭВМ. Для поддержки этих прикладных программ, NETBIOS на основе TCP должен точно соответствовать услугам, предлагаемым существующими системами NETBIOS.

NETBIOS в Сети ПЭВМ IBM (IBM PC Network) имеет некоторые специфичные для данной реализации характеристики. Настоящий стандарт не собирается жестко регламентировать эти особенности.

При использовании стандартного протокола, вносить в него изменения нельзя.

Поддерживаемые средства

Протокол, определяемый данным стандартом, позволяет разработчику обеспечить все услуги NETBIOS, описанные в «Техническом руководстве IBM по Сети ПЭВМ».

Следующие средства не входят в этот список:

Протокол NetBEUI

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

В связи с тем, что NetBEUI использует для взаимодействия с другими системами пространство имен NetBIOS, а пространство имен не имеет встроенного механизма для идентификации и адресации сетей, NetBEUI не может осуществлять адресное взаимодействие с системами в других сетях. Это единственная причина, по которой NetBEUI является немаршрутизируемым протоколом.

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

Сервисы

NetBIOS включает в себя три сервиса:

Сервис Имён

Имена NetBIOS имеют длину 16 байтов. Последний байт задействован для указания типа ресурса, который представляет имя. Первые 15 символов могут быть символами алфавита или цифрами. Пространство имен NetBIOS выполняет те же функции, что и IP-адреса, используемые стеком протоколов TCP/IP, и адреса сети и узла, присваиваемые протоколами IPX/SPX. Указанные адреса предоставляют собой уникальные идентификаторы для каждого компьютера в сети, исходя из чего, системы могут посылать однонаправленные сообщения непосредственно друг другу. По этой причине индивидуальные имена систем называются уникальными именами (uniquenames), в то время как имена NetBIOS, описывающие группы систем в целях обеспечения возможности осуществления групповой передачи, называются групповыми именами (groupnames).

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Главное отличие между пространством имен NetBIOS и адресами TCP/IP и IPX/SPX заключается в том, что пространство имен NetBIOS плоское. Нет иерархии имен, делящей сеть на отдельные подсети. 32 бита, составляющие IP-адрес, разделяются на биты адреса сети и адреса узла, адреса IPX/SPX также изначально имеют аналогичное разбиение. В противовес этому, имя NetBIOS представляет собой просто имя и не содержит идентификационной информации о сети.

Сервис NetBIOS-DGM

Датаграмма — блок информации, передаваемый протоколом без предварительного установления соединения и создания виртуального канала. Любой протокол, не устанавливающий предварительное соединение (а также обычно не контролирующий порядок приёмо-передачи и дублирование пакетов), называется датаграммным протоколом. Таковы, например, протоколы Ethernet, IP, UDP и др. Название «датаграмма» было выбрано по аналогии со словом телеграмма. [2]

Сервис NetBIOS-SSN

Масштаб

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

Internet может поддерживать множественные, не пересекающиеся масштабы NETBIOS.

Каждый масштаб NETBIOS имеет «идентификатор масштаба». Этим идентификатором является символьная строка, отвечающая требованиям системы имен доменов к именам доменов.

Каждая разработка NETBIOS на TCP должна обеспечивать механизмы для управления используемыми идентификаторами масштаба.

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

Стандарт описывает три типа оконечных узлов:

Любой адрес IP (Межсетевого протокола) может быть ассоциирован только с одним экземпляром вышеприведенных типов узлов.

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

В-узлы используют широковещательные сообщения в локальной сети для обмена данными с одним или более реципиентов (получателей). Узлы Р и М используют спецпроцессор имен NETBIOS (NBNS) и спецпроцессор распределения дейтаграмм NETBIOS (NBDD) для этой же цели.

Оконечные узлы могут быть скомбинированы по различным топологиям; в любых топологиях их функции остаются прежними.

Широковещательные узлы

Широковещательные (или В-) узлы осуществляют коммуникацию, используя комбинацию дейтаграмм UDP (как широковещательных, так и направленных) и связей TCP. В широковещательной области В-узлы могут свободно взаимодействовать друг с другом. Широковещательной областью является отдельная «В-ЛВС» со связанными мостами носителями.

Двухточечные узлы

Двухточечные (или Р-) узлы осуществляют коммуникацию, используя только направленные дейтаграммы UDP и сеансы TCP. Р-узлы не выполняют ни генерацию, ни «прослушивание» (получение) широковещательных пакетов UDP. Однако, эти узлы предлагают услуги широковещательных и групповых сообщений, используя возможности, предоставляемые Спецпроцессором имен NETBIOS и Спецпроцессором распределения дейтаграмм NETBIOS (NBNS и NBDD соответственно).

Узлы смешанного режима

Узлы смешанного режима (М-узлы) представляют собой Р-узлы, которые обладают некоторыми характеристиками В-узлов. М-узлы используют как широковещательные, так и направленные («одноцелевые») сообщения. Широковещательные сообщения используются для экономии времени ответа, основываясь на предположении, что большинство ресурсов находятся скорее на местном широковещательном носителе, чем где-либо в сети Internet.

М-узлы основываются на спецпроцессоре имен и спецпроцессоре распределения датаграмм (NBNS и NBDD). Однако, если эти спецпроцессоры временно становятся недоступными, М-узлы могут продолжать работать в ограниченном режиме. [Источник 3]

Источник

NetBIOS в руках хакера

В данной статье пойдёт краткое повествование о том, что нам может рассказать такая привычная с виду вещь как NetBIOS. Какую он может предоставить информацию для потенциального злоумышленника/пентестера.

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

Сам по себе NetBIOS используется, как правило, для получения сетевого имени. И этого будет достаточно, чтобы сделать как минимум 4 вещи.

Обнаружение хостов

Благодаря тому, что NetBIOS может использовать UDP в качестве транспорта, скорость его работы позволяет обнаруживать хосты в очень больших сетях. Так, например, инструмент nbtscan, входящий в одноимённый пакет, может всего за 2 секунды (может положить сеть) разресолвить адреса сети вида 192.168.0.0/16, тогда как традиционное TCP-сканирование займёт десятки минут. Эту особенность можно использовать как технику обнаружения хостов (host sweep) в очень больших сетях, о которых ничего не известно, перед тем как запускать nmap. Хотя результат и не гарантирует 100% обнаружения, т. к. преимущественно отвечать будут windows-хосты и то не все, он всё же позволит определить, в каких примерно диапазонах находятся живые хосты.

Идентификация хостов

Используя результаты получения имён из ip-адресов:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

можно видеть: помимо того что имя раскрывает владельца рабочей станции (хотя такое кстати бывает далеко не всегда), один из адресов явно выделяется на фоне других. Мы можем видеть, что было получено имя KALI. Такое поведение характерно, как правило, для unix-реализации SMB/NetBIOS в составе программного пакета samba или очень старых Windows 2000.

Получение имени KALI, в то время как на других хостах это свидетельствует о наличии так называемой null-session. При дефолтных настройках SMB-сервера на linux склонны к ней. Null-session лишь позволяет абсолютно анонимно (а мы ни какие пароли не вводили, как видно на скрине) получить достаточно много дополнительной информации, такой как локальная парольная политика, список локальных пользователей, групп и список расшаренных ресурсов (шар):

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Зачастую на linux SMB-серверах бывают публично доступные шары не то что на чтение, но даже на запись. Наличие и той, и другой несут в себе различные угрозы, использование которых выходит за рамки данной статьи.

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

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

в данном случае это позволяет узнать, что хост является ещё и контроллером домена ARRIVA.

Так же стоит еще дополнительно обратить внимание, что NetBIOS позволяет получить mac-адрес. При чём в отличие от arp-запросов, NetBIOS-запросы способны выйти за пределы подсети. Это может быть полезно если, например, требуется отыскать в сети какой-нибудь ноутбук или специфичное железо, зная его производителя. Так как первые три октета mac-адреса идентифицируют производителя, то можно рассылая подобные NetBIOS-запросы во все известные подсети попытаться найти нужное устройство (http://standards-oui.ieee.org/oui.txt).

Определение принадлежности к домену

Часто при перемещении по внутренним корпоративным сетям требуется атаковать именно рабочую станцию, включенную в домен (например, для поднятия привилегий до уровня доменного администратора) или наоборот. В данном случае NetBIOS опять-таки может помочь:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

В данном случае с помощью NetBIOS были получены все имена всех типов. Среди них можно увидеть, помимо имени ПК (то что уже было получено до этого), ещё и имя рабочей группы. По дефолту для windows оно как правило что-то вроде WORKGROUP или IVAN-PC, но если рабочая станция в домене, то её рабочая группа — это и есть имя домена.

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

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

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

в результате ответят все хосты, состоящие в данном домене.

Обнаружение multihomed хостов

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

Итак, суть в том, что даже если сеть изолирована из корпоративной сети, то зачастую некоторые администраторы, то ли по своей лени, то ли ещё как то, любят поднимать ещё одну сетевую карту на своих ПК для доступа в эту самую сеть. При этом всё это происходит конечно же в обход всяческих правил корпоративных сетевых экранов. Удобно, да, но не очень безопасно, в случае если вас взломают, тогда вы станете мостом в данную сеть и понесёте ответственность.
Однако для злоумышленника тут есть одна проблема — найти того самого администратора, который включился в защищённую сеть подобным нелегальным образом. Более того, это непростая проблема и для самих безопасников сети. На больших предприятиях это поистине сложная задача, словно отыскать иголку в стоге сена.

В данной ситуации очевидных варианта для злоумышленника было бы два:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

это обратный ресолв ip-адрес → сетевое имя. Если же мы теперь попытаемся сделать прямой ресолв сетевое имя → ip-адрес:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

то мы узнаем, что данный хост — это ещё и шлюз (по-видимому) в какой то другой сети. Стоит отметить, что в данном случае запрос шёл широковещательно. Иными словами, его услышат хосты только из подсети злоумышленника.

Если же целевой хост находится за пределами подсети, то можно послать таргетированный запрос:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

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

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

И через несколько секунд:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Именно выделенный хост, в данном импровизированном случае стал бы первой мишенью злоумышленника, если бы он преследовал сеть 172.16.1/24.

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Повторяющиеся имена на разных ip свидетельствуют о том, что хост имеет так же две сетевые карты, но уже в одной подсети. Тут стоит отметить, что NetBIOS не разглашает alias-ы (которые легко могут быть вычислены через arp-запросы как ip с одинаковым mac). В данном случае ip-адреса имеют разные mac.

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

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

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

Если иногда между сетевыми сегментами или прямо на рабочих станциях наблюдается фильтрация трафика на 445/tcp порт, препятствующая удалённому входу на систему (удалённому исполнению кода), то в данном случае для разрешения имён по NetBIOS используется 137/udp порт, сознательное блокирование которого почти не встречается, т. к. от этого сильно пострадает удобство работы в сети, например, может исчезнуть сетевое окружение и т.п.

Как говорится, enumeration is the key
Есть ли от этого защита? Её нет, т. к. это и не уязвимость во все. Это лишь штатный функционал того немного что есть по умолчанию у windowslinux поведение немного отличается). И если вы, вдруг несогласованно, в обход правил сетевой маршрутизации включились в закрытый сегмент, то злоумышленник вас обязательно найдет и сделает это очень быстро.

Источник

HackWare.ru

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

NetBIOS: что это, как работает и как проверить

У каждого компьютера Windows есть Имя компьютера. Если даже вы его не устанавливали, то значит там записано сгенерированное при установке операционной системы имя.

Это имя компьютера в локальной сети можно использовать как полную альтернативу локальному IP адресу:

При этом не требуется какая-либо настройка DNS или файла hosts, поскольку такое распознавание имён обеспечивается NetBIOS. Мы уже сталкивались с NetBIOS, а точнее с одной из трёх его служб — NBT-NS — в статье «Взлом сетевой аутентификации Windows». Это одна из служб, которая эксплуатировалась для выполнения атаки.

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

Естественно, в лучших в традициях HackWare.ru, в статье будет только необходимая теория и максимум практики — мы будем «щупать» протокол NetBIOS в Wireshark, встроенной утилите Windows и в специализированных инструментах для аудита безопасности. Но начнём всё-таки с теории.

Что такое NetBIOS

NetBIOS (Network Basic Input/Output System) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM/PC, разработан в виде интерфейса, который не зависит от фирмы-производителя. Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Он включает в себя интерфейс сеансового уровня (англ. NetBIOS interface), в качестве транспортных протоколов использует TCP и UDP.

Приложения могут найти через NETBIOS нужные им ресурсы, установить связь и послать или получить информацию. NETBIOS использует для службы имён порт 137, для службы дейтаграмм — порт 138, а для сессий — порт 139. Любая сессия начинается с NETBIOS-запроса, задания IP-адреса и определения TCP-порта удаленного объекта, далее следует обмен NETBIOS-сообщениями, после чего сессия закрывается. Сессия осуществляет обмен информацией между двумя NETBIOS-приложениями. Длина сообщения лежит в пределах от 0 до 131071 байт. Допустимо одновременное установление нескольких сессий между двумя объектами. При организации IP-транспорта через NETBIOS IP-дейтаграмма вкладывается в NETBIOS-пакет. Информационный обмен происходит в этом случае без установления связи между объектами. Имена NETBIOS должны содержать в себе IP-адреса. Так, часть NETBIOS-адреса может иметь вид IP.**.**.**.**, где IP указывает на тип операции (IP через Netbios), а **.**.**.** — IP-адрес. Система NETBIOS имеет собственную систему команд (call, listen, hang up, send, receive, session status, reset, cancel, adapter status, unlink, remote program load) и примитивов для работы с дейтаграммами (send datagram, send broadcast datagram, receive datagram, receive broadcast datagram). Все оконечные узлы NETBIOS делятся на три типа:

IP-адрес может ассоциироваться с одним из указанных типов. B-узлы устанавливают связь со своим партнёром посредством широковещательных запросов. P- и M-узлы для этой цели используют netbios сервер имён (NBNS) и сервер распределения дейтаграмм (NBDD).

Службы NetBIOS

NetBIOS предоставляет три разных службы:

(Примечание: SMB, верхний уровень, является службой, которая выполняется поверх службы сеансов и службы дейтаграмм, и её не следует считать необходимой и неотъемлемой частью самого NetBIOS. Теперь она может работать поверх TCP с небольшим уровнем адаптации, который добавляет длину пакета к каждому сообщению SMB; это необходимо, потому что TCP предоставляет только услугу потока байтов без понятия «границы пакета».)

Служба имён (NetBIOS-NS)

Чтобы начать сеансы или распространять дейтаграммы, приложение должно зарегистрировать своё имя NetBIOS, используя службу имён. Имена NetBIOS имеют длину 16 октетов и различаются в зависимости от конкретной реализации. Часто 16-й октет, называемый суффиксом NetBIOS, обозначает тип ресурса и может использоваться для сообщения другим приложениям, какой тип услуг предлагает система. В NBT служба имён работает на UDP-порту 137 (TCP-порт 137 также может применяться, но используется редко).

Примитивы службы имён, предлагаемые NetBIOS:

Разрешение имён NetBIOS не поддерживается Microsoft для Интернет-протокола версии 6 (IPv6).

Служба рассылки дейтаграмм (NetBIOS-DGM)

Режим датаграммы без установления соединения; Приложение отвечает за обнаружение и восстановление ошибок. В NBT служба дейтаграмм работает на UDP-порту 138.

Примитивы службы дейтаграмм, предлагаемые NetBIOS:

Служба сеанса (NetBIOS-SSN)

Режим сеанса позволяет двум компьютерам устанавливать соединение, позволяет сообщениям охватывать несколько пакетов и обеспечивает обнаружение и восстановление ошибок. В NBT служба сеанса работает через порт TCP 139.

Примитивы службы сеанса, предлагаемые NetBIOS:

В исходном протоколе, используемом для реализации сервисов NetworkBIOS в сети PC-Network, для установления сеанса инициирующий компьютер отправляет запрос Open, на который отвечает подтверждение Open. Компьютер, запустивший сеанс, затем отправит пакет запроса сеанса, который запросит либо пакет подтверждения сеанса, либо пакет отклонения сеанса.

В течение установленного сеанса на каждый передаваемый пакет отвечает либо ответ с положительным подтверждением (ACK), либо ответ с отрицательным подтверждением (NAK). NAK предложит повторную передачу данных. Сессии закрываются не инициирующим компьютером, отправляя запрос на закрытие. Компьютер, запустивший сеанс, ответит пакетом закрытия, который запрашивает окончательный пакета закрытия сеанса.

Как соотносится Имя NetBIOS с именем хоста в Интернете

Когда NetBIOS работает в сочетании с интернет-протоколами (например, NBT), каждый компьютер может иметь несколько имён: одно или несколько имён службы имен NetBIOS и одно или несколько имён хостов Интернета.

Имя NetBIOS

Имя NetBIOS состоит из 16 символов ASCII, однако Microsoft ограничивает имя хоста 15 символами и резервирует 16-й символ как суффикс NetBIOS. Этот суффикс описывает тип записи службы или имени, такой как запись узла, основная запись браузера или запись контроллера домена или другие службы. Имя хоста (или короткое имя хоста) указывается при установке/настройке сети Windows, зарегистрированные суффиксы определяются отдельными сервисами, предоставляемыми хостом. Чтобы подключиться к компьютеру под управлением TCP/IP через его имя NetBIOS, имя должно быть преобразовано в сетевой адрес. Сегодня это обычно IP-адрес (преобразование имени NetBIOS в IP-адрес часто выполняется с помощью широковещательной рассылки или сервера WINS — сервера имён NetBIOS). NetBIOS-имя компьютера часто совпадает с именем хоста этого компьютера, хотя оно усекается до 15 символов, но оно также может быть и совершенно другим.

Имена NetBIOS представляют собой последовательность буквенно-цифровых символов. Следующие символы явно недопустимы: \/:*?»<>|. Начиная с Windows 2000, имена NetBIOS также должны соответствовать ограничениям на DNS-имена: они не могут состоять исключительно из цифр и дефиса («-«), а символ точка («.») не могут отображаться в качестве первого или последнего символа. Начиная с Windows 2000, Microsoft не рекомендует включать любые символы точка («.») в имена NetBIOS, так что приложения могут использовать присутствие точки, чтобы отличить доменные имена от имён NetBIOS.

Файл Windows LMHOSTS предоставляет метод разрешения имён NetBIOS, который можно использовать в небольших сетях, в которых не используется сервер WINS. О файле LMHOSTS далее.

Интернет имя хоста

NetBIOS-имя Windows-машины не следует путать с именем хоста компьютера в Интернете (при условии, что компьютер также является хостом Интернета, а не узлом NetBIOS, что не обязательно должно иметь место). Как правило, компьютер, на котором запущены интернет-протоколы (будь то компьютер с Windows или нет), обычно имеет имя хоста (также иногда называемое именем компьютера). Первоначально эти имена хранились в файле hosts и предоставлялись им, но сегодня большинство таких имён являются частью иерархической системы доменных имен (DNS) (смотрите Введение в DNS терминологию, компоненты и концепции).

Обычно имя хоста компьютера Windows основывается на имени NetBIOS плюс первичный DNS-суффикс, которые оба задаются в диалоговом окне «Свойства системы». Также могут существовать суффиксы для конкретного соединения, которые можно просмотреть или изменить на вкладке DNS в Панели управления → Сеть → TCP / IP → Дополнительные свойства. Имена хостов используются такими приложениями, как telnet, ftp, веб-браузеры и т. д. Чтобы подключиться к компьютеру, использующему протокол TCP/IP, используя его имя, имя хоста должно быть преобразовано в IP-адрес, обычно DNS-сервером. (Также возможно работать со многими приложениями на основе TCP/IP, включая три, перечисленные выше, используя только IP-адреса, но это не норма.)

Как обнаружить NetBIOS

Можно запустить обычное сканирование TCP портов в локальной сети с помощью nmap:

И среди результатов можно обнаружить открытый TCP порт 139:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Если нас интересует только службы NetBIOS, то достаточно искать UDP порты 137 и 138 и TCP порты 137 и 139, воспользуемся Рецептами nmap и составим такую команду:

Плюс такого подхода в том, что сканирование происходит намного быстрее и дополнительно найдены открытые порты UDP.

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Благодаря последней команде мы дополнительно узнали:

Дополнительно можно воспользоваться скриптами Nmap (NSE) — я нашёл 3 скрипта, которые связаны с NetBIOS:

nbd-info

Отображает информацию о протоколах и блочных устройствах с серверов NBD.

nbstat

Пытается получить имена NetBIOS и MAC-адрес цели.

broadcast-netbios-master-browser

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

Для их использования во время сканирования команда примерно следующая:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

nbtstat

Программа nbtstat предназначена для отображения статистики протокола NetBIOS и текущих подключений TCP/IP с помощью NBT (NetBIOS через TCP/IP). Программа nbtstat предустановлена в Windows, то есть её не нужно скачивать и устанавливать, но нужно запускать в командной строке. Смотрите «Настройка рабочего окружения PowerShell в Windows и Linux».

Рассмотрим примеры использования nbtstat.

Чтобы по IP адресу узнать имя хоста используйте опцию -A:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Чтобы просмотреть имена компьютеров и их IP, сохранённые в кэше укажите опцию -c:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Чтобы узнать имя текущего компьютера используйте nbtstat с опцией -n:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Для вывода имён, определённых с помощью рассылки и WINS запустите такую команду:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Фильтры Wireshark для выделения NetBIOS трафика

Wireshark поддерживает практически все сетевые протоколы (смотрите «Фильтры Wireshark»), в том числе и протоколы NetBIOS.

Фильтр Wireshark для службы имён (NetBIOS-NS):

Широковещательный запрос, чтобы определить IP адрес по имени компьютера:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Запрос к определённому узлу для получения его имени хоста:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Фильтр Wireshark для службы рассылки дейтаграмм (NetBIOS-DGM):

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Фильтр Wireshark для службы сеанса (NetBIOS-SSN):

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Для фильтрации всего трафика NetBIOS:

Файл LMHOSTS

Файл LMHOSTS (LAN Manager Hosts) используется для разрешения (преобразования) доменных имён в Windows, когда другие методы, такие как WINS, не работают. Используется совместно с рабочими группами и доменами. Если вы ищете простой, общий механизм для локальной спецификации IP-адресов для определённых имён хостов (имён серверов), используйте файл HOSTS, а не файл LMHOSTS.

Файл, если он существует, читается как файл настроек LMHOSTS. Пример файла (lmhosts.sam) предоставляется. Он содержит документацию для ручной настройки файла.

В Windows NT 4.0, Windows 2000, Windows XP, Vista, 7, 8, 10, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016+ файл находится в %windir%\system32\drivers\etc\, и там же размещён пример файла (lmhosts.sam). Обратите внимание, что %windir% является переменной окружения, указывающей на папку, куда установлена Windows, обычно это C:\Windows.

Синтаксис файла LMHOSTS такой же, как и у HOSTS, то есть:

Эксплуатация NetBIOS

Программа для аудита безопасности NetBIOS можно разделить на 2 группы:

Программы для сканирования NetBIOS в большей части заброшены, поскольку практически всю информацию (имя, IP, MAC адрес) можно узнать либо стандартной утилитой Windows, либо сканером Nmap.

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

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

Invoke-Inveigh

Inveigh — это спуфер PowerShell ADIDNS/LLMNR/NBNS/mDNS/DNS и инструмент для атаки «человек посередине», предназначенный для помощи тестировщикам на проникновения/красным тимерам, которые ограничены системой Windows.

Для этой программы готовится перевод документации и статьи на HackWare.ru.

Пример запуска наблюдения без атаки:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Responder

Responder это инструмент для выполнения атаки человек-посередине в отношении методов аутентификации в Windows. Эта программа включает в себя травитель LLMNR, NBT-NS и MDNS благодаря которому перенаправляется трафик с запросами и хешами аутентификации. Также в программу встроены жульнические серверы аутентификации HTTP/SMB/MSSQL/FTP/LDAP, которые поддерживают такие методы аутентификации как NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP и базовую HTTP аутентификацию, для которых Responder выполняет роль ретранслятора.

Подробная инструкция по использованию Responder «Взлом сетевой аутентификации Windows».

nmbscan

nmbscan сканирует сетевые папки SMB/NetBIOS, используя протоколы NMB/SMB/NetBIOS. Это полезно для получения информации о локальной сети для таких целей, как аудит безопасности.

Он может получать такую информацию, как имя хоста NMB/SMB/NetBIOS/Windows, IP-адрес, имя хоста IP, MAC-адрес Ethernet, имя пользователя Windows, имя домена NMB/SMB/NetBIOS/Windows и главный браузер.

Он может обнаружить все узлы NMB/SMB/NetBIOS/Windows в локальной сети, используя списки узлов, поддерживаемые основными браузерами.

Домашняя страница: http://archive.fo/uN8WJ (оригинальный сайт больше недоступен)

Имеется в репозиториях BlackArch:

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

Для сканирования подсети (очень медленно):

netbios-share-scanner

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

Что такое netbios через tcp ip. Смотреть фото Что такое netbios через tcp ip. Смотреть картинку Что такое netbios через tcp ip. Картинка про Что такое netbios через tcp ip. Фото Что такое netbios через tcp ip

fakenetbios

Семейство инструментов, предназначенное для симуляции хостов Windows (NetBIOS) в LAN (локальной сети).

nbnspoof

Спуфер имён служб NetBIOS.

nbtenum

Утилита для Windows, которая может использоваться для перечисления информации NetBIOS с одного хоста или диапазона хостов. Для запуска на Windows.

nbtool

Несколько инструментов для изучения, атак и связи с NetBIOS и DNS.

nbname

Декодирует и отображает все имена NetBIOS пакетов, полученные на UDP порту 137 и другое! Для запуска на Windows.

nbtscan

Последние две программы у меня не заработали.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *