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?