CrackMapExec (a.k.a CME) – это пост-эксплуатационный инструмент, который помогает автоматизировать оценку безопасности больших сетей Active Directory.
Построенный с учетом скрытности, CME следует концепции «Living from the Land»: злоупотребление встроенными функциями / протоколами Active Directory для достижения ее функциональности и позволяя ей избежать большинства решений защиты конечных точек / IDS / IPS.
CME активно использует библиотеку Impacket и PowerSploit Toolkit для работы с сетевыми протоколами и выполняет различные методы пост-эксплуатации.
Хотя CME может использоваться в основном для наступательных целей (например, red teams – реальная атака на инфроструктуру), CME может использоваться blue teams ( защита инфраструктуры), а также для оценки привилегий учетной записи, поиска возможных неправильных конфигураций и моделирования сценариев атаки.
CrackMapExec – это ваш универсальный магазин для пенеттинговых сред Windows / Active Directory!
Начиная с перечисления зарегистрированных пользователей и индексация SMB share, до выполнения атак типа psexec, автоматического инжектирования Mimikatz / Shellcode / DLL в память с помощью Powershell, сброса NTDS.dit и многое другое!
Самые большие улучшения по сравнению с вышеперечисленными инструментами:
- Чистый скрипт Python, никаких внешних инструментов не требуется
- Полностью совместные шаги
- Использует ТОЛЬКО собственные вызовы WinAPI для обнаружения сеансов, пользователей, демпинга хэшей SAM и т. д. …
- Opsec безопасен (никакие двоичные файлы не загружаются, чтобы сбрасывать учетные данные, вводить шелл-код и т. д.)
Кроме того, база данных используется для хранения используемых / сбрасываемых имен.
Он также автоматически сопоставляет учетные данные администратора с хостами и наоборот позволяет вам легко отслеживать учетные данные и получать дополнительную ситуационную осведомленность в крупных средах.
Установка
Используйте virtualenvwrapper для установки CrackMapExec в виртуальной среде python
Пользователи Kali / Debian / Ubuntu:
# apt-get install -y libssl-dev libffi-dev python-dev build-essential
# pip install crackmapexec
# git clone https://github.com/byt3bl33d3r/CrackMapExec # cd CrackMapExec && git submodule init && git submodule update --recursive # python setup.py install
Использование
Swiss army knife for pentesting Windows/Active Directory environments | @byt3bl33d3r
Powered by Impacket https://github.com/CoreSecurity/impacket (@agsolino)
Inspired by:
@ShawnDEvans's smbmap https://github.com/ShawnDEvans/smbmap
@gojhonny's CredCrack https://github.com/gojhonny/CredCrack
@pentestgeek's smbexec https://github.com/pentestgeek/smbexec
positional arguments:
target The target range, CIDR identifier or file containing targets
optional arguments:
-h, --help show this help message and exit
-t THREADS Set how many concurrent threads to use
-u USERNAME Username, if omitted null session assumed
-p PASSWORD Password
-H HASH NTLM hash
-n NAMESPACE Namespace name (default //./root/cimv2)
-d DOMAIN Domain name
-s SHARE Specify a share (default: C$)
-P {139,445} SMB port (default: 445)
-v Enable verbose output
Credential Gathering:
Options for gathering credentials
--sam Dump SAM hashes from target systems
--mimikatz Run Invoke-Mimikatz on target systems
--ntds {ninja,vss,drsuapi}
Dump the NTDS.dit from target DCs using the specifed method
(drsuapi is the fastest)
Mapping/Enumeration:
Options for Mapping/Enumerating
--shares List shares
--sessions Enumerate active sessions
--users Enumerate users
--lusers Enumerate logged on users
--wmi QUERY Issues the specified WMI query
Account Bruteforcing:
Options for bruteforcing SMB accounts
--bruteforce USER_FILE PASS_FILE
Your wordlists containing Usernames and Passwords
--exhaust Don't stop on first valid account found
Spidering:
Options for spidering shares
--spider FOLDER Folder to spider (defaults to share root dir)
--pattern PATTERN Pattern to search for in filenames and folders
--patternfile PATTERNFILE
File containing patterns to search for
--depth DEPTH Spider recursion depth (default: 1)
Command Execution:
Options for executing commands
--execm {atexec,wmi,smbexec}
Method to execute the command (default: smbexec)
-x COMMAND Execute the specified command
-X PS_COMMAND Excute the specified powershell command
Shellcode/EXE/DLL injection:
Options for injecting Shellcode/EXE/DLL's using PowerShell
--inject {exe,shellcode,dll}
Inject Shellcode, EXE or a DLL
--path PATH Path to the Shellcode/EXE/DLL you want to inject on the target systems
--procid PROCID Process ID to inject the Shellcode/EXE/DLL into (if omitted, will inject within the running PowerShell process)
--exeargs EXEARGS Arguments to pass to the EXE being reflectively loaded (ignored if not injecting an EXE)
Filesystem interaction:
Options for interacting with filesystems
--list PATH List contents of a directory
--download PATH Download a file from the remote systems
--upload SRC DST Upload a file to the remote systems
--delete PATH Delete a remote file
There's been an awakening... have you felt it?




