keimpx

Описание keimpx

keimpx — это инструмент с открытым исходным кодом для быстрой проверки учётных данных по сети через SMB. Учётными данными могут быть:

  • Комбинация пользовать / пароль в открытом виде.
  • Комбинация пользователь / NTLM хеш.
  • Комбинация пользователь / маркер сессии входа NTLM.

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

  • Запустить интерактивную командную строку.
  • Выполнять действия в удалённых сетевых папках SMB: выводить список файлов и папок, выгружать, загружать файлы, создавать, удалять файлы и т.д.
  • Разворачивать и сворачивать свои собственные службы, например, бэкдор, прослушивающий TCP порт на входящие соединения.
  • Выводить подробности о пользователях, доменах и политиках паролей.

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

Автор: Bernardo Damele A. G.

Лицензия: Apache-2.0

Справка по keimpx

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

./keimpx.py [опции]

Опции:

  --version       показать версию программы и выйти
  -h, --help      показать справку и выйти
  -v ВЕРБАЛЬНОСТЬ      Уровень вербальности: 0-2 (по умолчанию: 0)
  -t ЦЕЛЬ       Целевой адрес
  -l СПИСОК         Файл со списком целей
  -U ПОЛЬЗОВАТЕЛЬ         Пользователь
  -P ПАРОЛЬ     Пароль
  --nt=NTHASH     NT хеш
  --lm=LMHASH     LM хеш
  -c CREDSFILE    Файл со списком учётных данных
  -D ДОМЕН       Домен
  -d DOMAINSFILE  Файл со списком доменов
  -p ПОРТ         SMB порт: 139 или 445 (по умолчанию: 445)
  -n ИМЯ         Локальное NetBIOS имя хоста
  -T ПОТОКИ      Максимум одновременных подключений (по умолчанию: 10)
  -b, --batch     Пакетный режим: не создавать интерактивную командную оболочку SMB
  -x SMBCMDLIST   Выполнить список SMB команд в отношении всех хостов
  -X OSCMDLIST    Выполнить список команд операционной системы в отношении всех хостов

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

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

Опции интерактивной оболочки SMB в keimpx

Общие опции

  • help — показать справку
  • verbosity {уровень} — установить уровень вербальности (0-2)
  • info — вернуть главные результаты NetrServerInfo
  • who — вернуть сессии в настоящее время подключённые к целевому хосту (требуется админ)
  • exit — завершить сессию SMB и выйти из инструмента
  • !{команда} — выполнить локальную команду

Опции сетевых папок

  • shares — вывести список всех сетевых папок
  • use {шара} — подключиться к определённой шаре
  • cd {путь} — изменить текущую директорию на {путь}
  • pwd — показать текущую удалённую директорию
  • ls {путь} — список всех файлов в данном пути или текущей директории
  • lstree [путь] — списки всех файлов и директорий рекурсивно в заданном пути или текущей директории
  • cat {файл} — показать содержимое выбранного файла
  • download {имя_файла} — загрузить файл из текущей директории
  • downloadtree [путь] — загрузить все файлы и директории рекурсивно по заданному пути или в текущей директории
  • upload {имя_файла} [конечный_файл] — выгрузить файл на удалённую шару (или текущий путь)
  • rename {исходный_файл} {конечный_файл} — переименовать файл
  • mkdir {имя_директории} — создать директорию по текущему пути
  • rm {файл} — удалить выбранный файл
  • rmdir {имя_директории} — удалить директорию по текущему пути

Опции служб

  • services [имя_службы] — вывести список служб
  • status {имя_службы} — запросить статус служб
  • query {имя_службы} — список конфигурации службы
  • start {имя_службы} — запустить службу
  • stop {имя_службы} — остановить службу
  • change {имя_службы} — изменить конфигурацию службы (в прогрессе)
  • deploy {имя_службы} {локальный файл} [аргументы службы] [удалённый файл] [имя] — удалённо развернуть исполнимую службу
  • undeploy {имя_службы} — удалённо свернуть исполнимую службу
  • stopav — попытаться остановить любые известные службы антивирусов

Опции работы с пользователями

  • users [домен] — список пользователь, опционально можно указать домен и будут выведены пользователи только для него
  • pswpolicy [домен] — вывод списка политик паролей, опционально можно указать домен и будет показан список политик паролей только для него
  • domains — вывод списка доменов, частью которых является эта система

Параметры конечных точек RPC

  • rpcdump — дамп конечных точек RPC

Опции реестра (скоро)

  • regread {ключ реестра} — прочитать ключ реестра
  • regwrite {ключ реестра} {значение ключа реестра} — добавить значение в ключ реестра
  • regdelete {ключ реестра} — удалить ключ реестра

Опции взаимодействия с операционной системой

  • bindshell [порт] — запустить интерактивную оболочку на TCP порту цели. Работает это следующим образом: на удалённую систему выгружается файл оболочки и запускается как сервис, который прослушивает TCP порт. По умолчанию это порт 4445/TCP. Если цель находится за строгим файерволом, то это не будет работать — вместо этого варианта используйте другие техники. Это работает путём загрузки пользовательской оболочки связывания, её запуска в качестве службы и подключения к порту TCP, где она прослушивает, по умолчанию 4445 / TCP. Если цель находится за строгим брандмауэром, она не будет работать, вместо этого используйте другие методы ниже.
  • svcshell [режим] — полуинтерактивная оболочка через запущенную для неё службу Windows. Это работает путём создания службы для выполнения команды, перенаправления её вывода во временный файл в общем ресурсе и извлечения его содержимого, а затем удаления службы. Режим работы может быть SHARE (по умолчанию) или SERVER, при котором создаётся экземпляр локального SMB-сервера для получения выходных данных команд. Это полезно в ситуации, когда на целевом компьютере нет доступного для записи общего ресурса — дополнительные порты не требуются.
  • svcexec {команда} [режим] — выполняет команды через запущенную для этого службу Windows. Такая же технология как и для svcshell. Неинтерактивная оболочка, одна команда за раз — дополнительные порты не требуются.
  • atexec {команда} — выполняет команды через службу Планировщик задач (Task Scheduler). Возвращает вывод такой команды. Неинтерактивная оболочка, одна команда за раз — дополнительные порты не требуются.
  • psexec [команда] — выполняет команды через именные каналы (pipe) SMB. Та же техника, что и в PsExec из Sysinternal. По умолчанию используется cmd.exe, поэтому установлена интерактивная оболочка. Он использует RemComSvc — никаких дополнительных портов не требуется.

Опции дампа секретов (паролей и хешей)

  • secretsdump [y|N] — выполняет различные методы для сброса хэшей с удалённой машины без выполнения какого-либо агента там. Для секретов SAM и LSA (включая кэшированные учётные данные) мы стараемся читать как можно больше из реестра, а затем сохраняем hives в целевой системе (доступный для записи общий ресурс) и читаем оставшиеся данные оттуда. Для NTDS.dit мы должны извлечь NTDS.dit через vssadmin, выполненный с использованием подхода svcexec. Он копируется во временный каталог и анализируется удалённо. Эта команда запускает службы, необходимые для её работы, если они недоступны (например, удалённый реестр, даже если он отключён). После того, как работа сделана, все возвращается в исходное состояние. Аргумент может быть Y или N, чтобы сохранить или не хранить историю паролей, по умолчанию это N

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

Просканировать подсеть (-t 192.168.0.0/24) проверив валидность для всех хостов с сетевыми папками правильность имени пользователя (-U Alexey) и пароля (-P qweqwe123):

python3 ./keimpx.py -t 192.168.0.0/24 -U Alexey -P qweqwe123

Подключиться к удалённому хосту (-t 192.168.0.101) используя имя пользователя (-U Alexey) и пароль (-P qweqwe123):

python3 ./keimpx.py -t 192.168.0.101 -U Alexey -P qweqwe123

В результате указанные учётные данные будут проверены на правильность. Если они правильные, то будет предложено подключиться и открыть интерактивную оболочку для взаимодействия с удалённой системой.

Установка keimpx

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

sudo apt install python3-pip
git clone https://github.com/nccgroup/keimpx
cd keimpx/
sudo pip3 install -r requirements.txt
python3 ./keimpx.py -h

Установка в BlackArch

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

sudo pacman -S keimpx

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

Скриншоты keimpx

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

Ссылки на инструкции будут добавлены позже.

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

  • Invoke-TheHash (100%)
  • Pupy (69.7%)
  • mXtract (67.5%)
  • mimikatz (67.5%)
  • APT2 (66.8%)
  • Sublist3r (RANDOM - 1.9%)
  • Рекомендуется Вам:

    Comments are Closed