暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Chisel:基于HTTP的快速稳定TCPUDP隧道工具

盾山实验室 2021-08-31
1351

关于Chisel

Chisel是一个快速稳定的TCP/UDP隧道工具,该工具基于HTTP实现其功能,并通过SSH保证通信安全。Chisel是一个可执行文件,其中包含了客户端和服务器端,该工具基于Go(golang)语言开发,因此具备较好的跨平台特性。

Chisel主要可以用于绕过防火墙,但也可以用于向网络中提供安全终端节点。

工具的运行机制如下图所示:

功能介绍

易于使用;

高性能;

使用SSH协议对通信连接进行加密(通过crypto/SSH);

连接经过身份验证;

通过用户配置文件进行身份验证的客户端;

通过用户配置文件进行身份验证的客户端连接;

通过指纹匹配进行身份验证的服务器连接;

客户端使用指数回退自动重新连接;

客户端可以通过一个TCP连接创建多个隧道端点;

客户端可以选择通过SOCKS或HTTP连接代理;

反向端口转发;

服务器反向代理;

服务器允许SOCKS5连接;

客户端可以选择允许从反向端口进行SOCKS5连接;

支持ssh-o ProxyCommand通过HTTP提供SSH加密;

工具安装

源码安装

广大研究人员可以点击【https://github.com/jpillora/chisel/releases/latest】访问该项目的Releases页面下载并安装该工具的最新版本,或运行下列命令:

curl https://i.jpillora.com/chisel! | bash
复制

Docker安装

docker run --rm -it jpillora/chisel --help
复制

Fedora

该项目包目前由Fedora社区进行维护,如果你遇到了关于RPM使用的问题,可以使用这个问题跟踪工具【https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=chisel&list_id=11614537&product=Fedora&product=Fedora%20EPEL】

sudo dnf -y install chisel
复制

源安装

$ go get -v github.com/jpillora/chisel
复制

安全性

通信连接始终启用了加密。当你启动Chisel服务器时,它将会在内存中生成一个ECDSA公钥/私钥对。其中的公钥指纹(Base64编码的SHA256)将在服务器启动时显示。服务器可以选择使用--key选项指定密钥种子,而不是生成随机密钥,该选项将用于为密钥生成种子。当客户端连接时,它们还将显示服务器的公钥指纹。客户端可以使用--fingerprint选项指定特定的指纹。

身份验证

使用--authfile选项,服务器可以选择提供用户.json配置文件以创建接受的用户访问列表。然后,客户端使用--auth选项进行身份验证。我们可以查看users.json以获取认证配置文件样例。使用--help查看更多帮助信息。

在内部,这是使用SSH提供的密码验证方法实现的。点击【http://blog.gopheracademy.com/go-and-ssh/】了解更多关于SSH加密的信息。

Socks5指引

1、开启你的Chisel服务器:

docker run \

  --name chisel -p 9312:9312 \

  -d --restart always \

  jpillora/chisel server -p 9312 --socks5 --key supersecret
复制

2、连接你的Chisel客户端(使用服务器的指纹信息):

chisel client --fingerprint 'rHb55mcxf6vSckL2AezFV09rLs7pfPpavVu++MF7AhQ=' <server-address>:9312 socks
复制

3、指向你的Socks5客户端:

<client-address>:1080
复制

4、现在你的通信将被加密,并通过HTTP实现已认证的Socks5连接。

项目地址

Chisel:https://github.com/jpillora/chisel


文章转载自盾山实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论