SMBCrunch

Описание SMBCrunch

SMBCrunch представляет собой 3 инструмента, которые работают вместе для сбора информации о файловых шарах (совместных сетевых папках) Windows. Названия инструментов:

  • SMBHunt
  • SMBList
  • SMBGrab

Одними из самых затратных по времени задачами ред тимеров (red teamer) является углубление в файловые системы и сетевые папки в попытке идентифицировать любую потенциально чувствительную информацию. SMBCrunch позволяет тестерам на проникновение быстро идентифицировать в сети Windows File Shares (сетевые папки), выполнить рекурсивный листинг директорий указанных шар и может даже собрать файлы с удалённых шар, если они выглядят интересными целями.

Домашняя страница: https://github.com/Raikia/SMBCrunch

Автор: Chris King

Лицензия: GPLv3

Справка по SMBHunt

Использование:

./SMBHunt.pl АРГУМЕНТЫ [ОПЦИИ]

Аргументы и опции:

Аргументы:
       -a, --account <строка>       Учётные данные пользователя для тестирования.  Имена пользователей
                                    принимаются в формате "ДОМЕН\ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ"
                                    ("ДОМЕН\" является опциональным) (Опциональные аргументы: если
                                    аккаунт не указан, скрипт проверит доступность общих папок в нулевой сессии)

       -i, --input <файл или слово>   Цель или файл с целями, например,
                                    файл gnmap (результат сканирования Nmap) с данными сканирования 445 порта.
                                    Каждый сервер с открытым 445 портом будет проверен на наличие
                                    сетевых папок с общим доступом

Опции:
       -o, --output <файл>          Напечатать результаты в файл

       -f, --force                  Принуждает скрипт продолжать, даже если учётные данные
                                    для этого домена неверны

       --noipc                      Не показывать шары IPC

       --nohidden                   Не показывать скрытые шары (C$, IPC$, ADMIN$ и так далее)

Справка по SMBList

Использование:

./SMBList.pl АРГУМЕНТЫ [ОПЦИИ]

Аргументы и опции:

Аргументы:
       -c, --credentials <строка/файл>    Строка или файл пользовательских учётных данных
                                         для тестирования. Имя пользователя принимается в форме
                                        "ДОМЕН\ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ"

                                        ("ДОМЕН\" является необязательным)
                                        (разделитесь в  строке ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ можно настроить)

       -s, --shares <строка/файл>         Строка или файл с сетевыми папками для тестирования.
                                        Каждые учётные данные будут протестированы на каждой
                                        из этих шар пока не будут найдены правильные.
                                        Шары должны быть в формате "\\server\share"

       -o, --output <строка>              Будет создана новая директория с этим именем. 
                                        Для защиты вывода, скрипт не может быть запущен,
                                        если эта директория уже существует. Это должна быть
                                        папка, которая ещё не существует!

Опции:
       -m, --maxexec <число>           Максимальное число времени расходуемое на получение
                                        любой одной шары, в секундах.  По умолчанию это 300 секунд
                                        (5 минут)          

       -f, --force                      Никогда не удалять шары из списка если она вызывает ошибку,
                                        и никогда не удалять учётные данные если для них получено
                                        сообщение о неудачном входе. Если вы используете этот флаг, убедитесь,
                                        что вы понимаете, что вы делаете! Вы можете заблокировать
                                        аккаунты если вы действуете неосторожно!

       -n, --nocreds                    Не включать учётные данные в вывод.
                                        ПРЕДУПРЕЖДЕНИЕ: Если вы используете этот переключатель,
                                        то вы не можете использовать этот вывод с ./SMBGrab.pl

Справка по SMBGrab

Использование:

./SMBGrab.pl АРГУМЕНТЫ [ОПЦИИ]

Аргументы и опции:

Аргументы:
              Если аргументы не используются, то скаченные файлы будут отображены на экране без сохранения.

Опции:
       -s, --savedir <директория>        Директория для сохранения всех скаченных файлов. Если
                                        эта директория не существует, то она будет создана.

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

       -a, --all                        Скачать все найденные файлы. Без этого переключателя, скрипт
                                        защищает против загрузки большого количества данных
                                        ограничивая ввода 100 файлами. 

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

       -h, --help                       Показать справку

Руководство по SMBCrunch

Страница man отсутствует.

SMBHunt

Для заданного хоста, файла со списками хостов или файла gnmap (с результатами сканирования программой Nmap) находит все сетевые папки Windows данных серверов. Если предоставлен файл gnmap, то скрипт ищет сервера с открытым портом 445. Если для проверки не предоставлены учётные данные, то программа проверит доступность общих папок по нулевой сессии.

Предупреждение: если ваш пользователь имеет доступ к одной совместной папке на сервере, скрипт покажет все шары, размещённые на этом сервере. Если сетевая папка показана в выводе, то это не означает, что у вас есть доступ к этой шаре. Для определения возможности доступа используйте следующий инструмент SMBList.

Этот скрипт предупреждает вас, если предоставленные вами учётные данные не подошли, это сделано для того, чтобы избежать блокировки доменных аккаунтов. Переключатель "-f" отменяет эту защиту.

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

SMBList

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

SMBList принимает файл вывода от "SMBHunt.pl" (или файл содержащий сетевые папки, разделённые переводом новой строки в формате "\server\share") и выполняет рекурсивный листинг этих общих папок используя предоставленные учётные данные. SMBList попытается аутентифицироваться на сетевых папках пока не будут найдены верные учётные данные из предоставленного списка. Затем скрипт сохранит списки файлов директорий в указанной подпапке.

Такой подход делает поиск по списку файлов с помощью команды grep крайне простым!

Самые полные результаты собраны в файле ALL_COMBINED_RESULTS.txt.

SMBGrab

Списки файлов из утилиты SMBList.pl могут быть переданы по трубе (контейнеру) в эту утилиту для скачивания всех нужных файлов с сетевых папок. Исходный список из SMBList.pl следует отфильтровать с помощью grep перед передачей в этот скрипт, в противном случае будут загружены все файлы (что эквивалентно копированию целой сетевой папки, что может быть плохо).

Примеры запуска SMBCrunch

Подключиться к указанному хосту (-i 192.168.0.101), с логином и паролем (-a 'Alexey:qweqwe123'), найденные сетевые папки записать в файл (-o shares_found.txt):

./SMBHunt.pl -a 'Alexey:qweqwe123' -i 192.168.0.101 -o shares_found.txt

Программой Nmap просканировать порты (-p 139,445) в подсети (192.168.0.0/24) и собранные данные сохранить в файл, удобный для анализа программой grep (-oG portscan445.gnmap):

sudo nmap 192.168.0.0/24 -p 139,445 -oG portscan445.gnmap

Используя файл с результатами сканирования Nmap из предыдущей команды (-i portscan445.gnmap), извлечь хосты с открытым портом 445 и подключиться с указанными учётными данными (-a 'Alexey:qweqwe123'), сохранить списки сетевых папок в файл (-o shares_found.txt):

./SMBHunt.pl -a 'Alexey:qweqwe123' -i portscan445.gnmap -o shares_found.txt

Используя файл со списком сетевых папок (-s shares_found.txt) подключиться к ним с указанными учётными данными (-c 'Alexey:qweqwe123'), составить списки файлов и сохранить их в указанную директорию (-o share_listing) расходуя на каждую шару не более 150 секунд (-m 150):

./SMBList.pl -c 'Alexey:qweqwe123' -s shares_found.txt -o share_listing -m 150

Из файла share_listing/ALL_COMBINED_RESULTS.txt, содержащего все списки файлов, отфильтровать только удовлетворяющие указанному шаблону (grep -i 'password.txt'), скачать их и сохранить в директорию (-s savedfiles):

grep -i 'password.txt' share_listing/ALL_COMBINED_RESULTS.txt | ./SMBGrab.pl -s savedfiles

Скачать исполнимые файлы (с расширением .exe) их всех сетевых папок, сохранить их в папку (savedfiles -n) и не добавлять в конец каждого файла информацию о нём (-s):

grep -i '[.]exe' share_listing/ALL_COMBINED_RESULTS.txt | ./SMBGrab.pl -s savedfiles -n

Установка SMBCrunch

Установка в Kali Linux

git clone https://github.com/Raikia/SMBCrunch
cd SMBCrunch/
./SMBHunt.pl -h

Установка в BlackArch

Программа предустановлена в BlackArch.

sudo pacman -S smbcrunch

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

Скриншоты SMBCrunch

Инструкции по SMBCrunch

Близкие программы:

  • acccheck (100%)
  • enum4linux (100%)
  • Nullinux (100%)
  • SMB Spider (100%)
  • SPARTA (70.3%)
  • ident-user-enum (RANDOM - 52.7%)
  • Рекомендуется Вам:

    Comments are Closed