DRat is a decentralized remote administration tool that enables remote control and configuration distribution without a central server, leveraging ENS and Telegram.
去中心化远程控制工具(Decentralized Remote Administration Tool),通过ENS实现了配置文件分发的去中心化,通过Telegram实现了服务端的去中心化
DRat is designed for remote administration in environments where traditional centralized servers are not feasible or desired, providing a decentralized approach to command and control. It is suitable for system administrators or security professionals who need to manage endpoints remotely via Telegram groups and distribute configurations securely using ENS domains.
This tool requires registering an ENS domain on the Ethereum Goerli testnet and setting up a Telegram bot with group access. It includes proxy support due to Telegram access restrictions. Some advanced features like credential dumping and file transfer are currently not implemented. The project is intended strictly for educational and authorized use; misuse may lead to legal consequences.
git clone https://github.com/SpenserCai/DRat.git
Install MetaMask browser extension and create an Ethereum account
Obtain test Ether from Goerli Faucet for ENS domain registration
Switch MetaMask network to Goerli testnet
Register an 8-character ENS domain at https://app.ens.domains/
Create a configuration JSON file with Telegram bot token, chat ID, proxy settings, and ENS domain
Upload the encrypted configuration to the ENS domain description using encode_config.py or DRatConfig tool
Build the tool using python build.py <ENS配置> cli/windows or cli/linux depending on platform
Run the compiled DRat client and test commands via the configured Telegram group
/help
Displays help information about available commands
/rce start
Starts a remote command execution session
/rce stop
Stops the remote command execution session
/rce <command>
Executes a specified command remotely, auto-starting the session if not already active
/sysinfo
Retrieves system information from the endpoint
/restart_drat
Restarts the DRat client
/shutdown_drat
Shuts down the DRat client