🥽 Перечислите общие ресурсы NetBIOS с помощью NBTScan и Nmap Scripting Engine |

🥽 Перечислите общие ресурсы NetBIOS с помощью NBTScan и Nmap Scripting Engine

Мануал

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

Это старая технология, но она до сих пор используется в некоторых средах.

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

Сканирование на NetBIOS совместно с NBTScan и Nmap Scripting Engine – хороший способ начать сбор данных.

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

Мы будем атаковать ее с помощью Kali Linux, дистрибутива для хакеров и пентестеров.

Обзор NetBIOS

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

Однако NetBIOS – это не сетевой протокол, а API.

Он работает по TCP / IP по протоколу NBT, что позволяет ему работать в современных сетях.

NetBIOS предоставляет два основных метода связи.

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

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

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

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

Сканирование с помощью NBTScan

NetBScanner — Сетевой сканер NetBIOS

NBTScan – это инструмент командной строки, используемый для сканирования сетей для получения общих ресурсов NetBIOS и информации об именах.

Он может работать как в Unix, так и в Windows и поставляется с Kali Linux по умолчанию.

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

Просто введите nbtscan в командной строке.

nbtscan
NBTscan version 1.5.1. Copyright (C) 1999-2003 Alla Bezroutchko.
This is a free software and it comes with absolutely no warranty.
You can use, distribute and modify it under terms of GNU GPL.

Usage:
nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q] [-s separator] [-m retransmits] (-f filename)|(<scan_range>)
	-v		verbose output. Print all names received
			from each host
	-d		dump packets. Print whole packet contents.
	-e		Format output in /etc/hosts format.
	-l		Format output in lmhosts format.
			Cannot be used with -v, -s or -h options.
	-t timeout	wait timeout milliseconds for response.
			Default 1000.
	-b bandwidth	Output throttling. Slow down output
			so that it uses no more that bandwidth bps.
			Useful on slow links, so that ougoing queries
			don't get dropped.
	-r		use local port 137 for scans. Win95 boxes
			respond to this only.
			You need to be root to use this option on Unix.
	-q		Suppress banners and error messages,
	-s separator	Script-friendly output. Don't print
			column and record headers, separate fields with separator.
	-h		Print human-readable names for services.
			Can only be used with -v option.
	-m retransmits	Number of retransmits. Default 0.
	-f filename	Take IP addresses to scan from file filename.
			-f - makes nbtscan take IP addresses from stdin.
	<scan_range>	what to scan. Can either be single IP
			like 192.168.1.1 or
			range of addresses in one of two forms:
			xxx.xxx.xxx.xxx/xx or xxx.xxx.xxx.xxx-xxx.
Examples:
	nbtscan -r 192.168.1.0/24
		Scans the whole C-class network.
	nbtscan 192.168.1.25-137
		Scans a range from 192.168.1.25 to 192.168.1.137
	nbtscan -v -s : 192.168.1.0/24
		Scans C-class network. Prints results in script-friendly
		format using colon as field separator.
		Produces output like that:
		192.168.0.1:NT_SERVER:00U
		192.168.0.1:MY_DOMAIN:00G
		192.168.0.1:ADMINISTRATOR:03U
		192.168.0.2:OTHER_BOX:00U
		...
	nbtscan -f iplist
		Scans IP addresses specified in file iplist.

Основным способом запуска этого инструмента является предоставление ему диапазона IP-адресов.

В этом случае в сети есть только один компьютер, поэтому в качестве примера я приведу его IP-адрес.

nbtscan 172.16.1.102
Doing NBT name scan for addresses from 172.16.1.102

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
172.16.1.102     METASPLOITABLE   <server>  METASPLOITABLE   00:00:00:00:00:00

Здесь мы видим IP-адрес, отображаемое имя NetBIOS, сервер, если это применимо, пользователя и MAC-адрес целевого компьютера.

Обратите внимание, что машины с Samba иногда возвращают все нули в качестве MAC-адреса в ответ на запрос.

Мы можем получить немного больше информации, установив подробный вывод с флагом -v.

nbtscan 172.16.1.102 -v
Doing NBT name scan for addresses from 172.16.1.102

NetBIOS Name Table for Host 172.16.1.102:

Incomplete packet, 335 bytes long.
Name             Service          Type
----------------------------------------
METASPLOITABLE   <00>             UNIQUE
METASPLOITABLE   <03>             UNIQUE
METASPLOITABLE   <20>             UNIQUE
METASPLOITABLE   <00>             UNIQUE
METASPLOITABLE   <03>             UNIQUE
METASPLOITABLE   <20>             UNIQUE
__MSBROWSE__  <01>              GROUP
WORKGROUP        <00>              GROUP
WORKGROUP        <1d>             UNIQUE
WORKGROUP        <1e>              GROUP
WORKGROUP        <00>              GROUP
WORKGROUP        <1d>             UNIQUE
WORKGROUP        <1e>              GROUP

Adapter address: 00:00:00:00:00:00

Мы можем увидеть некоторые службы и их виды.

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

Используйте флаг -h вместе с опцией -v.

nbtscan 172.16.1.102 -vh
Doing NBT name scan for addresses from 172.16.1.102

NetBIOS Name Table for Host 172.16.1.102:

Incomplete packet, 335 bytes long.
Name             Service          Type
----------------------------------------
METASPLOITABLE   Workstation Service
METASPLOITABLE   Messenger Service
METASPLOITABLE   File Server Service
METASPLOITABLE   Workstation Service
METASPLOITABLE   Messenger Service
METASPLOITABLE   File Server Service
__MSBROWSE__  Master Browser
WORKGROUP        Domain Name
WORKGROUP        Master Browser
WORKGROUP        Browser Service Elections
WORKGROUP        Domain Name
WORKGROUP        Master Browser
WORKGROUP        Browser Service Elections

Adapter address: 00:00:00:00:00:00
----------------------------------------

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

Мы также можем установить флаг -d для выгрузки содержимого всего пакета.

nbtscan 172.16.1.102 -d
Doing NBT name scan for addresses from 172.16.1.102

Packet dump for Host 172.16.1.102:

Incomplete packet, 335 bytes long.
Transaction ID: 0x00a0 (160)
Flags: 0x8400 (33792)
Question count: 0x0000 (0)
Answer count: 0x0001 (1)
Name service count: 0x0000 (0)
Additional record count: 0x0000 (0)
Question name:  CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Question type: 0x0021 (33)
Question class: 0x0001 (1)
Time to live: 0x00000000 (0)
Rdata length: 0x0119 (281)
Number of names: 0x0d (13)
Names received:
METASPLOITABLE    Service: 0x00 Flags: 0x0004
METASPLOITABLE    Service: 0x03 Flags: 0x0004
METASPLOITABLE    Service: 0x20 Flags: 0x0004
METASPLOITABLE    Service: 0x00 Flags: 0x0004
METASPLOITABLE    Service: 0x03 Flags: 0x0004
METASPLOITABLE    Service: 0x20 Flags: 0x0004
__MSBROWSE__   Service: 0x01 Flags: 0x0084
WORKGROUP         Service: 0x00 Flags: 0x0084
WORKGROUP         Service: 0x1d Flags: 0x0004
WORKGROUP         Service: 0x1e Flags: 0x0084
WORKGROUP         Service: 0x00 Flags: 0x0084
WORKGROUP         Service: 0x1d Flags: 0x0004
WORKGROUP         Service: 0x1e Flags: 0x0084

...

Это обеспечивает пакетные данные, используемые в запросе. Обратите внимание, что это нельзя использовать с опциями -v или -h.

Если у вас есть список IP-адресов, которые вы хотите сканировать, которые хранятся в файле, можно использовать флаг -f, чтобы указать входной файл для чтения.

Опять же, в этом случае в сети есть только один компьютер, поэтому во время нашего сканирования появляется только один.

nbtscan -f addresses.txt
Doing NBT name scan for addresses from addresses.txt

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
172.16.1.102     METASPLOITABLE   <server>  METASPLOITABLE   00:00:00:00:00:00

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

nbtscan 172.16.1.102 > scan.txt

Сканирование с помощью Nmap Scripting Engine

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

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

Мы запустим Nmap обычным способом, и скрипт nbstat завершится в конце.

Здесь я использую опцию -sV для проверки портов для запущенных сервисов и их версии, а также флаг -v для подробного вывода.

Укажите скрипт

nmap -sV 172.16.1.102 --script nbstat.nse -v
Starting Nmap 7.70 ( https://nmap.org ) at 2019-02-14 14:12 CST
NSE: Loaded 44 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 14:12
Completed NSE at 14:12, 0.00s elapsed
Initiating NSE at 14:12
Completed NSE at 14:12, 0.00s elapsed
Initiating ARP Ping Scan at 14:12
Scanning 172.16.1.102 [1 port]
Completed ARP Ping Scan at 14:12, 0.05s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:12
Completed Parallel DNS resolution of 1 host. at 14:12, 13.00s elapsed
Initiating SYN Stealth Scan at 14:12
Scanning 172.16.1.102 [1000 ports]

...

Host script results:
| nbstat: NetBIOS name: METASPLOITABLE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| Names:
|   METASPLOITABLE<00>   Flags: <unique><active>
|   METASPLOITABLE<03>   Flags: <unique><active>
|   METASPLOITABLE<20>   Flags: <unique><active>
|   \x01\x02__MSBROWSE__\x02<01>  Flags: <group><active>
|   WORKGROUP<00>        Flags: <group><active>
|   WORKGROUP<1d>        Flags: <unique><active>
|_  WORKGROUP<1e>        Flags: <group><active>

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

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

Как предотвратить перечисление NetBIOS

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

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

В некоторых версиях Windows C $ или ADMIN $ являются общими именами, и их следует избегать, если это возможно.

Завершение

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

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

NetBIOS очень старая технология, но сегодня она все еще встречается в корпоративных средах.

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

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

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