前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【神兵利器】红队内网横向之CheeseTools

【神兵利器】红队内网横向之CheeseTools

作者头像
Al1ex
发布2025-01-11 19:25:07
发布2025-01-11 19:25:07
14600
代码可运行
举报
文章被收录于专栏:网络安全攻防网络安全攻防
运行总次数:0
代码可运行

项目介绍

这个库是基于已经存在的MiscTool制作的,所以非常感谢rasta-mouse发布了它们并给了我正确的动力去开发它们

CheeseExec

通过类似PsExec的功能执行命令/横向移动,必须在特权用户的上下文中运行,该工具基于rasta-mouse CsExec,但旨在允许对服务创建进行额外控制,特别是:

  • 创建(搜索服务是否存在,如果不存在,则尝试创建它)
  • Start(搜索服务是否存在并已停止,如果是,则尝试启动它;如果没有,尝试创建并启动它)
  • 停止(搜索服务是否存在并正在运行,如果存在,则尝试停止服务)
  • 删除(搜索服务是否存在并且正在运行,如果存在,则尝试停止服务而不是删除服务,否则删除服务)
代码语言:javascript
代码运行次数:0
运行
复制
CheeseExec.exe <targetMachine> <serviceName> <binPath> <action>

Cheese PS

Cheese PS是Command Exec /横向移动框架。它依赖于系统。通过PowerShell加载和运行任意代码。该工具本身能够绕过在本地或远程目标上创建和使用PowerShell运行空间的常见限制。必须在特权用户的上下文中运行(如果使用PowerShell远程处理)。

该工具最初是作为rasta_mouse CsPosh的增强版制作的,但是已经发展到足以成为一个独立的框架,现在可以作为一个通用的PowerShell注入器使用

实现的主要功能有:

  • 使用REGINI的内置CLM旁路
  • 在执行任何其他命令之前修补Amsi的内置AmsiBypass
    • 允许为AMSI旁路指定备用PowerShell脚本
  • 在执行程序集之前修补WLDP的内置WldpBypass
    • 允许为WLDP旁路指定备用PowerShell脚本
  • 执行前导入模块和脚本
    • 针对本地目标:通过文件系统、smb或http[s]导入模块
    • 针对远程目标:使用WS-Management从本地机器直接加载模块
  • 下载二进制文件并执行
    • 标准:传输->写入磁盘->执行
    • 反射:传输->从内存执行
  • 支持PS模块、C#程序集和其他可执行文件的AES加密,以逃避检测
    • 所有导入的模块/程序集都可以在传输或静态时加密,并在使用前解密

以下屏幕截图是描述该工具工作流程的相当准确的模式:

代码语言:javascript
代码运行次数:0
运行
复制
Usage:
  -t, --target=VALUE         Target machine
  -c, --code=VALUE           Code to execute
  -e, --encoded              Indicates that provided code is base64 encoded
  -a, --am-si-bypass=VALUE   Uses the given PowerShell script to bypass A-M-S-
                               I (fs, smb o http[s])
      --aX, --encrypted-am-si
                             Indicates that provided A.M.S.I. bypass is
                               encrypted
  -i, --import=VALUE         Imports additional PowerShell modules (fs, smb o
                               http[s])
      --iX, --encrypted-imports
                             Indicates that provided PowerShell modules are
                               encrypted
  -o, --outstring            Append Out-String to code
  -r, --redirect             Redirect stderr to stdout
  -d, --domain=VALUE         Domain for alternate credentials
  -u, --username=VALUE       Username for alternate credentials
  -p, --password=VALUE       Password for alternate credentials
  -X, --encrypt=VALUE        Encrypt a script with an hardcoded key
  -D, --decrypt=VALUE        Test decryption of a script with an hardcoded key
  -n, --skip-bypass=VALUE    Skip A.M.S.I (A), WLDP (W) or ALL (*) Bypass
                               techniques
  -l, --lockdown-escape      Try to enable PowerShell FullLanguage mode using
                               REGINI
  -w, --wldp-bypass=VALUE    Uses the given PowerShell script to bypass WLDP
                               (fs, smb o http[s])
      --wX, --encrypted-wldp Indicates that provided WLDP bypass is encrypted
  -x, --executable=VALUE     [Download and] Execute given executable
      --xX, --encrypted-executable
                             Indicates that provided Exe/DLL is encrypted
      --xCS, --executable-csharp
                             Indicates that the executable provided is C# -
                               (.NET)
  -R, --reflective-injection Uses Invoke-ReflectivePEInjection to load the
                               assmebly from memory (requires Invoke-
                               ReflectivePEInjection to be imported!)
  -P, --powershell-decrypt   Force use of PowerShell-based decryption
  -k, --encryption-key=VALUE Uses the provided key for encryption/decryption
      --ssl                  Force use of SSL
  -h, -?, --help             Show Help

CheeseDCOM

指挥执行/通过DCOM横向调动。必须在特权用户的上下文中运行。这个工具是基于rasta-mouse CsDCOM的,但它已经过改进,增加了额外的方法,以适应Philip Tsukerman的新研究。还有一个实验性的方法来“修复”通过dcomcfg禁用受影响的DCOM对象的最终尝试,但它需要一些先决条件才能正常工作

当前方法:

MMC20.Application,ShellWindows,ShellBrowserWindow,ExcelDDE,VisioAddonEx,OutlookShellEx,ExcelXLL,VisioExecLine,OfficeMacro

代码语言:javascript
代码运行次数:0
运行
复制
Usage:
  -t, --target=VALUE         Target Machine
  -b, --binary=VALUE         Binary: powershell.exe
  -a, --args=VALUE           Arguments: -enc <blah>
  -m, --method=VALUE         Methods: MMC20Application, ShellWindows,
                               ShellBrowserWindow, ExcelDDE, VisioAddonEx,
                               OutlookShellEx, ExcelXLL, VisioExecLine, 
                               OfficeMacro
  -r, --reg, --registry      Enable registry manipulation
  -h, -?, --help             Show Help

CheeseRDP

通过RDI(反射DLL注入)窃取RDP凭据。必须在特权用户或具有SeImpersonatePrivilege的用户的上下文中运行。这个工具是由MDSec在RdpThief的基础上构建的,但是它被完全包装在一个C#中,以使它能够通过。净反射(装配。负载和类似)。这样就可以通过Covenant运行它,而无需在目标系统上上传DLL

代码语言:javascript
代码运行次数:0
运行
复制
Usage:
    CheeseRDP [actions]
Actions:
    wait: keep listening for any new mstsc.exe process indefinitely (stop with ctrl-C)
    clean: delete the credentials dump file if present
    dump: dump the content of the file if present, parsing the credentials in a compact format

CheeseSQL

通过MSSQL信任命令执行/横向移动。开发该工具是为了克服现有工具(如esc)的一些限制,主要是关于MSSQL模拟。此外CheeseSQL已经过专门修改,可以从Covenant(通过反射加载)运行,并自动处理MSSQL信任滥用的最重要阶段。特别有趣的是CLR滥用的实现,它允许用户用Roslyn编译和上传MSSQL扩展来实现命令执行

代码语言:javascript
代码运行次数:0
运行
复制
[*] List of available commands:
  - findspn             : Find MSSQL Instances, using Domain SPNs
  - listdb              : List available Databases on the server
  - gethash             : Send Service Account Net-NTLM Hash to an Arbitrary IP
  - getlogin            : Retrieve SQL Logins Available for Impersonation
  - getdbuser           : Retrieve Information on the SQL Login, Currently Mapped User, and Available User Roles
  - getlinked           : Retrieve Information about Linked Servers
  - getserverinfo       : Retrieve current values of 'xp_cmdshell', 'ole automation procedures' and 'clr enabled'
  - xp                  : Execute Encoded PowerShell Command via 'xp_cmdshell'
  - ole                 : Execute Encoded PowerShell Command via 'sp_OACreate' and 'sp_OAMethod'
  - clr                 : Execute Encoded PowerShell Command via custom .NET assemblies
  - rpc                 : Configure Linked SQL Server to Allow RPC connections
  - linkedquery         : Execute Encoded PowerShell Command on Linked SQL Server via 'OPENQUERY'
  - openquery           : Execute an arbitrary query using 'OPENQUERY'

[*] For detailed usage, type:
  - CheeseSQL <command> /help

免责声明

仅限用于技术研究和获得正式授权的攻防项目,请使用者遵守《中华人民共和国网络安全法》,切勿用于任何非法活动,若将工具做其他用途,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律连带责任

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CheeseDCOM
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档