keimpx

keimpx

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение 

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

Источник


Report Page