🗝 Сетевой протокол SMB.
🖖🏻 Приветствую тебя user_name.
• Любой пентестер должен уметь осуществлять атаки на SMB. Но прежде чем перейти к делу, мы разберемся, что представляет из себя данный протокол.
🔖 SMB (Server Message Block) — это сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Как правило, работает на 445 или 139 порту (в зависимости от сервера).
• Первая версия протокола, также известная как Common Internet File System (CIFS) была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах;
• Вторая версия протокола, была разработана целиком компанией Microsoft, поэтому в Windows SMB доступен по-умолчанию, сразу же после установки.
• В 1992 году появилась Samba — свободная реализация протокола SMB для UNIX-подобных операционных систем. Так как Microsoft не любит делиться своими наработками, разработчикам Samba пришлось провести обратную разработку этого протокола.
• Аутентификация в SMB состоит из двух уровней защиты: user-level (пользовательский уровень) и share-level (уровень совместно используемого ресурса). Под share понимается файл, каталог, принтер и т.д.
• Аутентификация на уровне user-level означает, что клиент, который пытается получить доступ к ресурсу на сервере, должен иметь user_name и password. Если аутентификация прошла успешно, клиент имеет доступ ко всем доступным ресурсам сервера, кроме ресурсов с share-level-защитой.
• Аутентификация на уровне share-level означает, что доступ к ресурсу контролируется только паролем, установленным конкретно на этот ресурс. В отличие от user-level, этот уровень защиты не требует имя пользователя для аутентификации и не устанавливается никакая уникальность текущего пользователя.
• Самая частая ошибка при использовании данного протокола заключается в использовании стандартных учетных данных, а иногда и отсутствие аутентификации для доступа к важным ресурсам сервера. О дефолтных паролях я уже писал очень много, не будем делать акцент на данную тему.
• Второй недостаток - Samba-сервера: огромное количество уязвимостей, поэтому их использование небезопасно. Достаточно просто ввести в Google «samba server exploit», чтобы получить огромный список эксплойтов. Но не смотря на свою печальную известность, Samba-сервера используются 75% предприятий.
Благодаря Nmap NSE мы можем определить версию сервера:
nmap -p445 -script smb-protocols target ip
или
nmap -p139 —script smb-protocols target ip
Мы также можем попытаться узнать дополнительную информацию, используя:
nmap -sC -p 139,445 -sV target ip
• Благодаря этому запросу, мы можем узнать версию сервера и попробовать найти информацию о том, является ли данная версия уязвимой или нет.
• Есть много способов получить информацию об атакуемом сервере. Самый быстрый способ - использование инструмента под названием enum4linux или smbmap.
• Для быстрого поиска конфиденциальных данных в SMB можно использовать SMBSR. Это скрипт принимает адрес или список хостов, находит все открытые службы SMB (445) и пытается аутентифицироваться. Для сканирования портов SMB используется модуль masscan. Интересные ключевые слова, которые должен искать инструмент, определяются в командной строке. (о скрипте узнал у SHADOW:Group, за что автору большое спасибо).
• Даже если мы не смогли найти какую-либо информацию, мы можем попытаться поймать ntlm хеш с помощью responder: pentestlab.blog/2017/12…-attacks
• В общем, информации по данной теме очень много и я рекомендую начать с отличной книги по SMB на русском языке: https://hackware.ru/?p=11141 приятного чтения и изучения.
Твой itle="Social Engineering" href="/channels/@Social_engineering">S.E. #SMB #Пентест