README.md

July 23, 2021 ยท View on GitHub

License CircleCI Go Report Card Docker Cloud Build Status

A Cross Platform Remote Administration tool written in Go using Tor as its transport mechanism currently supporting Windows, Linux, MacOS clients.

DISCLAIMER

USE FOR EDUCATIONAL PURPOSES ONLY

Wiki

How to use ToRat Docker Image

Preview

Client Commands

CommandInfo
cdchange the working directory of the client
lslist the content of the working directory of the client
shreddelete files/ directories unrecoverable
screentake a Screenshot of the client
catview Textfiles from the client including .docx, .rtf, .pdf, .odt
aliasgive the client a custom alias
downdownload a file from the client
upupload a file to the client
speedtestspeedtest a client's internet connection
hardwarecollects a variety of hardware specs from the client
netscanscans a clients entire network for online devices and open ports
gomapscan a local ip on a clients network for open ports and services
escapeescape a command and run it in a native shell on the client
reconnecttell the client to reconnect
helplists possible commands with usage info
exitbackground current session and return to main shell

Server Commands

CommandInfo
selectselect client to interact with
listlist all connected clients
aliasselect client to give an alias
cdchange the working directory of the server
helplists possible commands with usage info
exitexit the server

Current Features

Architecture

  • RPC (Remote procedure Call) based communication for easy addition of new functionality
  • Automatic upx leads to client binaries of ~6MB with embedded Tor
  • sqlite via gorm for storing information about the clients
  • client is obfuscated via garble

Server Shell

  • Cross Platform reverse shell (Windows, Linux, Mac OS)

  • Supports multiple connections

  • Welcome Banner

  • Colored Output

  • Tab-Completion of:

    • Commands
    • Files/ Directories in the working directory of the server
  • Unique persistent ID for every client

    • give a client an Alias
    • all Downloads from client get saved to ./ID/ID/filename

Persistence

  • Windows:

    • Multiple User Account Control Bypasses (Privilege escalation)
    • Multiple Persistence methods (User, Admin)
  • Linux:

    • Multiple Persistence methods (User, Admin)

Tor

  • Fully embedded Tor within go

  • the ToRAT_client communicates over TLS encrypted RPC proxied through Tor with the ToRat_server (hidden service)

    • anonymity of client and server
    • end-to-end encryption
  • optional transport without Tor e.g. Use Tor2Web, a DNS Hostname or public/ local IP

    • smaller binary ~3MB upx'ed
    • anonymity of client and server

Upcoming Features

Contribution

All contributions are welcome you don't need to be an expert in Go to contribute.

You may want to join the #torat channel over at the Gophers Slack

Credits