Искать
Вы превысили запрос на
0 знаков

26. Поиск общих папок с помощью CrackMapExec, SMBMap, smbclient

0
0
Не пройден
Автор статьи никого не призывает к правонарушениям и отказывается нести ответственность за ваши действия. Вся информация предоставлена исключительно в ознакомительных целях. Все действия происходят на виртуальных машинах и внутри локальной сети автора. Спасибо!
Инструменты

- CrackMapExec

- SMBMap

- smbclient

- smbclient-ng

Кратко

- Статья посвящена изучению инструментов CrackMapExec, SMBMap и smbclient для работы с общими папками.

- В уроке рассматриваются методы перечисления доступных общих папок, подключения к ним и скачивания файлов.

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

- Анонимный доступ к общим ресурсам возможен через гостевые учетные записи.

- В статье представлены примеры использования CrackMapExec, SMBMap и smbclient для перечисления и подключения к общим папкам.

- Упоминаются различия между инструментами smbclient и smbclient-ng, а также их функциональные возможности.

Раздел «Сбор дополнительной информации из доступных общих папок» начнем с продолжения изучения инструмента CrackMapExec и познакомимся с двумя новыми для нас утилитами для работы с общими папками: SMBMap и smbclient. В этом уроке научимся перечислять (enumerate) доступные общие папки, подключаться к ним и скачивать файлы. На данном этапе пентеста лабораторного стенда GOAD у нас нет учетных записей, поэтому будет искать ресурс, на котором разрешен анонимный доступ к общим папкам.

Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.
Нулевой сеанс

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

Анонимный доступ

Аналогично нулевому сеансу, любой пользователь может получить доступ к общим ресурсам под гостевой учётной записью.

Попробуем на практике найти доступные общие ресурсы с помощью CrackMapExec.

Ищем доступные общие папки с помощью CrackMapExec

Переходим к практике. Проверим наличие общих папок доступных анонимно с помощью CrackMapExec:

ПРИМЕР
 
crackmapexec smb 192.168.56.10-23 -u 'a' -p '' --shares
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Как видно на скриншоте, анонимно доступны общие папки двух серверов: 192.168.56.22 и 192.168.56.23. Занесем в наши заметки найденные общие папки, это нам пригодится в дальнейшем.

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

Находим общие папки с помощью smbmap

Попробуем другую утилиту для перечисление общих папок - SMBMap. Эта программа предустановлена в Kali Linux. Запустим для гостевой учетной записи:

ПРИМЕР
 
smbmap -u "a" -p "" -H 192.168.56.22
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

В флаге -H указываем цель. В нашем случае, это сервер CASTELBLACK. Результат аналогичен выводу CrackMapExec, но представлен в другом виде.

Далее перечислим общие папки третьим инструментом и подключится к одной из них.

Подключение к общей папке с помощью smbclient

Инструмент smbclient - клиент для доступа к SMB/CIFS ресурсам на серверах (CIFS - старое название первой версии SMB).

Утилита smbclient так же может перечислять доступные сетевые ресурсы, как предыдущие инструменты. Для этих целей используйте флаг -L:

ПРИМЕР
 
smbclient -L 192.168.56.22
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

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

Каким-то «волшебным способом» в наши руки попала учетная запись khal.drogo. Про «волшебные способы» получения учетных записей поговорим в следующих разделах. Запускаем CrackMapExec:

ПРИМЕР
 
crackmapexec smb 192.168.56.10-23 -u 'khal.drogo' -p 'horse' --shares
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Для экономии места на скриншоте представлено сканирование только нужного сервера. Нам повезло, khal.drogo является администратором сервера.

Открываем help утилиты smbclient и смотрим как использовать учетные записи в ней:

ПРИМЕР
 
smbclient -?
 

Формат команды следующий:

ПРИМЕР
 
smbclient -U [DOMAIN/]USERNAME[%PASSWORD] <service>
 

Перечисляем доступные ресурсы для khal.drogo:

ПРИМЕР
 
smbclient -U essos.local/'khal.drogo'%'horse' -L 192.168.56.23
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Глаз сразу цепляется за CertEnroll. Вероятно, сервер выполняет роль ADCS. Его наличие открывает множество векторов атак, о которых будем говорить в дальнейшем, а пока подключимся к какой-нибудь общей папке, например, public:

ПРИМЕР
 
smbclient -U essos.local/'khal.drogo'%'horse' \\192.168.56.23\Users
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

И посмотрим содержимое:

ПРИМЕР
 
ls
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Можем заметить несколько папок, например: Administrator, daenerys.targaryen, sql_svc. Вероятно это означает, что на сервер заходили другие пользователи и могли оставить чувствительную информацию.

Утилита smbclient позволяет так же скачивать файлы. Чтобы скачать файл, вводим команду get:

ПРИМЕР
 
get <file>
 

Далее рассмотрим доработанный smbclient, инструмент под названием smbclient-ng.

Работаем с общей папкой с помощью smbclient-ng

Рассмотрим инструмент smbclient-ng, который разработал p0dalirius (Security Researcher). Это более дружелюбная версия smbclient. Разницы практически нет, поэтому рассмотрим его для расширения кругозора.

Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Установим smbclient-ng с помощью уже знакомого pipx:

ПРИМЕР
 
pipx install smbclientng
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

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

Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Нужные флаги:

  • -u: пользователь
  • -p: пароль
  • -d: домен
  • --target: цель, на которой доступен SMB сервер

Подключаемся:

ПРИМЕР
 
smbclientng -u khal.drogo -p horse -d essos.local --target 192.168.56.23
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

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

ПРИМЕР
 
info
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Выведем общие папки:

ПРИМЕР
 
shares
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Перейдем на CertEnroll:

ПРИМЕР
 
use CertEnroll
ls
 
Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

С помощью команды get можем скачать нужные файлы:

Здесь изображение или скриншот.
Они доступны только авторизованным пользователям.

Доступные в smbclient-ng команды:

  • bat: Форматированный (с подсветкой) вывод содержимого файла. Синтаксис: bat
  • cat: Получить содержимое файла. Синтаксис: cat
  • cd: Изменить текущую рабочую директорию. Синтаксис: cd
  • close: Закрытие соединения по SMB с удаленным компьютером . Синтаксис: close
  • connect: Подключение к удаленному компьютеру (полезно, если время ожидания подключения истекло). Синтаксис: connect
  • dir: Перечисление содержимого текущего рабочего каталога. Синтаксис: dir
  • exit: Выход из smbclient-ng. Синтаксис: exit
  • get: Скачать файл с сервера. Синтаксис: get [-r]
  • help: Отобразить список команд. Синтаксис: help
  • info: Получить информацию о сервере или общей папке. Синтаксис: info [server|share]
  • lbat: Форматированный (с подсветкой) вывод содержимого локального файла. Синтаксис: lbat
  • lcat: Вывод содержимого локального файла. Синтаксис: lcat
  • lcd: Изменить текущую локальную директорию. Синтаксис: lcd
  • lcp: Создать копию локального файла. Синтаксис: lcp
  • lls: Содержимое текущей локальной рабочей директории. Синтаксис: lls
  • lmkdir: Создать новую локальную директорию. Синтаксис: lmkdir
  • lpwd: Вывести текущую локальную директорию. Синтаксис: lpwd
  • lrename: Переименовать локальный файл. Синтаксис: lrename
  • lrm: Удалить локальный файл. Синтаксис: lrm
  • lrmdir: Удалить локальную директорию. Синтаксис: lrmdir
  • ls: Содержимое текущей удаленной рабочей директории. Синтаксис: ls
  • ltree: Отобразить древовидную структуру текущего локального каталога. Синтаксис: ltree [directory]
  • mkdir: Создать новую удаленную директорию. Синтаксис: mkdir
  • module: Загрузка модуля для дополнительных функциональных возможностей. Синтаксис: module
  • mount: Создание точки монтирования удаленного общего ресурса на локальном компьютере. Синтаксис: mount
  • put: Поместить локальный файл или каталог на удаленный общий ресурс. Синтаксис: put [-r]
  • reconnect: Подключиться повторно к удаленной машине (полезно, если время ожидания соединения истекло). Синтаксис: reconnect
  • reset: Сброс вывода TTY (полезно, если он был поврежден после печати двоичного файла в стандартном режиме вывода). Синтаксис: reset
  • rm: Удалить файл на удаленном ресурсе. Синтаксис: rm
  • rmdir: Удалить директорию на удаленном ресурсе. Синтаксис: rmdir
  • shares: Список общих ресурсов (SMB), обслуживаемых удаленным ресурсом. Синтаксис: shares
  • sizeof: Рекурсивное вычисление размера папки. Синтаксис: sizeof [directory|file]
  • tree: Отобразить древовидную структуру текущего удаленного каталога. Синтаксис: tree [directory]
  • umount: Удаление точки монтирования удаленного общего ресурса на локальном компьютере. Синтаксис: umount
  • use: Выбор общей папки (SMB). Синтаксис: use

Заключение

В этом уроке узнали больше об инструменте CrackMapExec и познакомились с SMBMap и smbclient, научились перечислять доступные общие папки. В следующем уроке автоматизируем поиск информации в доступных общих папках с помощью manspider.

Тест

Две секундочки...
@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

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

Удачи в обучении!

Закрыть окно