cM4rko/decentralized-revshell
GitHub: cM4rko/decentralized-revshell
该项目是一个基于以太坊智能合约的去中心化反向 Shell PoC,通过链上合约存储 payload 并由 Python 脚本读取执行,演示了利用区块链抗审查特性来托管 C2 payload 的可行性。
Stars: 0 | Forks: 0
## 🎓 概述
## 🌐 去中心化架构
- `Contract.sol` -> 部署在任何兼容 EVM 的区块链上的 Smart Contract,其包含存储字节格式 payload 的函数。
- `Exploit.py` -> 调用 Smart Contract 的 Python 脚本,接收字节流,解码 payload 并执行它。
## 🔝 区块链改进
- 抵抗:
- 审查
- 取缔
- 关停
- 可随时更改 payload
- 只有合约的 Owner 才能更改存储在合约中的 payload
## ⚙️ 代码片段
**部署合约**
```
forge script script/RevShell.s.sol:RevShellScript --rpc-url $NODE --broadcast
```
**更改 payload**
```
cast send [Contract Address] "updateShell(bytes)" [Payload] --rpc-url $NODE --private-key $PRIVATE_KEY
```
## 📽️ 概念验证 (PoC)
https://github.com/user-attachments/assets/0d816123-d0e4-4e94-9777-b09eb06c5acb
https://github.com/user-attachments/assets/abec6606-9141-4706-8629-d6861848c2db
## 🌐 去中心化架构
- `Contract.sol` -> 部署在任何兼容 EVM 的区块链上的 Smart Contract,其包含存储字节格式 payload 的函数。
- `Exploit.py` -> 调用 Smart Contract 的 Python 脚本,接收字节流,解码 payload 并执行它。
## 🔝 区块链改进
- 抵抗:
- 审查
- 取缔
- 关停
- 可随时更改 payload
- 只有合约的 Owner 才能更改存储在合约中的 payload
## ⚙️ 代码片段
**部署合约**
```
forge script script/RevShell.s.sol:RevShellScript --rpc-url $NODE --broadcast
```
**更改 payload**
```
cast send [Contract Address] "updateShell(bytes)" [Payload] --rpc-url $NODE --private-key $PRIVATE_KEY
```
## 📽️ 概念验证 (PoC)
https://github.com/user-attachments/assets/0d816123-d0e4-4e94-9777-b09eb06c5acb
https://github.com/user-attachments/assets/abec6606-9141-4706-8629-d6861848c2db标签:Python, Solidity, 区块链, 无后门, 智能合约, 概念验证, 网络信息收集, 逆向Shell, 逆向工具