ToRat is a Cross Platform Remote Administration tool written in Go using Tor as its transport mechanism currently supporting Windows, Linux, MacOS clients.
How to?
TL;DR
git clone https://github.com/lu4p/ToRat.git
cd ./ToRat
sudo docker build . -t torat
sudo docker run -it -v “$(pwd)”/dist:/dist_ext torat
Prerequisites
Install
git clone https://github.com/lu4p/ToRat.git
cd ./ToRat
sudo docker build . -t torat
sudo docker run -it -v “$(pwd)”/dist:/dist_ext torat
sudo chown $USER dist/ -R
cd dist/dist/client/
./client_linux
In your Server shell you should now see something like [+] New Client H9H2FHFuvUs9Jz8U connected!
You can now select this client by running select
in the Server Shell which will give you a nice interactive chooser for the client you want to connect to. After you choose a client you drop in an interactive shell on the client system.
Notes
Contents of ToRat/dist
after docker run
$ find ./dist
./dist/
./dist/dist
./dist/dist/client
./dist/dist/client/client_linux # linux client binary
./dist/dist/client/client_windows.exe # windows client binary
./dist/dist/server
./dist/dist/server/key.pem # tls private-key
./dist/dist/server/banner.txt # banner
./dist/dist/server/cert.pem # tls cert
./dist/dist/server/ToRat_server # linux server binary
Current Features
Server Shell
Command | Info |
---|---|
select | Select client to interact with |
list | list all connected clients |
alias | Select client to give an alias |
cd | change the working directory of the server |
help | lists possible commands with usage info |
exit | exit the server |
Shell after selection of a client
Command | Info |
---|---|
cd | change the working directory of the client |
ls | list the content of the working directory of the client |
shred | delete files/ directories unrecoverable |
shredremove | same as shred + removes the shredded files |
screen | take a Screenshot of the client |
cat | view Textfiles from the client including .docx, .rtf, .pdf, .odt |
alias | give the client a custom alias |
down | download a file from the client |
up | upload a file to the client |
escape | escape a command and run it in a native shell on the client |
reconnect | tell the client to reconnect |
help | lists possible commands with usage info |
exit | background current session and return to main shell |
else | the command will be executed in a native shell on the client |
Upcoming Features
Preview
Learn how to create and use Bash functions with this complete tutorial. Includes syntax, arguments,…
Introduction Unlock the full potential of your Linux system with this comprehensive guide to essential…
Playwright-MCP (Model Context Protocol) is a cutting-edge tool designed to bridge the gap between AI…
JBDev is a specialized development tool designed to streamline the creation and debugging of jailbreak…
The Kereva LLM Code Scanner is an innovative static analysis tool tailored for Python applications…
Nuclei-Templates-Labs is a dynamic and comprehensive repository designed for security researchers, learners, and organizations to…