{"id":13362506,"url":"https://github.com/lu4p/ToRat","last_synced_at":"2025-03-12T15:30:56.483Z","repository":{"id":40771716,"uuid":"166540502","full_name":"lu4p/ToRat","owner":"lu4p","description":"ToRat is a Remote Administation tool written in Go using Tor as a transport mechanism and RPC for communication","archived":true,"fork":false,"pushed_at":"2023-03-13T08:56:55.000Z","size":429,"stargazers_count":977,"open_issues_count":14,"forks_count":197,"subscribers_count":40,"default_branch":"master","last_synced_at":"2024-11-17T10:40:10.380Z","etag":null,"topics":["command-and-control","cross-platform","golang","keylogger","linux","payload","persistence","post-exploitation","privilege-escalation","rat","remote-admin-tool","reverse-shell","reverse-shells","rpc","shell-reverse","tor","transport","uac-bypass","uacbypass","windows"],"latest_commit_sha":null,"homepage":"https://lu4p.github.io/ToRat","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lu4p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"lu4p"}},"created_at":"2019-01-19T11:44:01.000Z","updated_at":"2024-11-15T08:57:51.000Z","dependencies_parsed_at":"2024-04-23T19:06:13.537Z","dependency_job_id":"d5e93df1-1682-4cd5-bd75-6e2bc8d7d97a","html_url":"https://github.com/lu4p/ToRat","commit_stats":{"total_commits":357,"total_committers":10,"mean_commits":35.7,"dds":0.5238095238095238,"last_synced_commit":"5f90a79d273f24dfaab267612603880372c16bb8"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu4p%2FToRat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu4p%2FToRat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu4p%2FToRat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lu4p%2FToRat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lu4p","download_url":"https://codeload.github.com/lu4p/ToRat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243242706,"owners_count":20259806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-and-control","cross-platform","golang","keylogger","linux","payload","persistence","post-exploitation","privilege-escalation","rat","remote-admin-tool","reverse-shell","reverse-shells","rpc","shell-reverse","tor","transport","uac-bypass","uacbypass","windows"],"created_at":"2024-07-29T23:00:50.851Z","updated_at":"2025-03-12T15:30:56.107Z","avatar_url":"https://github.com/lu4p.png","language":"Go","readme":"# \u003ca href=\"https://github.com/lu4p/ToRat\" target=\"_blank\"\u003e \u003cimg src=\"./ToRat_Logo.png\" width=\"180px\"\u003e\u003c/a\u003e\n[![License](https://img.shields.io/github/license/lu4p/ToRat.svg)](https://unlicense.org/)\n[![CircleCI](https://circleci.com/gh/lu4p/ToRat.svg?style=svg)](https://circleci.com/gh/lu4p/ToRat)\n[![Go Report Card](https://goreportcard.com/badge/github.com/lu4p/ToRat)](https://goreportcard.com/report/github.com/lu4p/ToRat)\n[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/lu4p/torat)](https://hub.docker.com/repository/docker/lu4p/torat)\n\nA Cross Platform Remote Administration tool written in Go using Tor as its transport mechanism\ncurrently supporting Windows, Linux, MacOS clients.\n\n## DISCLAIMER\nUSE FOR EDUCATIONAL PURPOSES ONLY\n\n## Wiki\n[How to use ToRat Docker Image](https://github.com/lu4p/ToRat/wiki/How-to-use-the-ToRat-Docker-Image)\n\n\n## Preview\n\u003ca href=\"https://asciinema.org/a/318534\" target=\"_blank\"\u003e\u003cimg src=\"https://asciinema.org/a/318534.svg\" /\u003e\u003c/a\u003e\n\n\n### Client Commands\n\n  Command         |    Info\n  ---             |    ---\n  **cd**          |    change the working directory of the client\n  **ls**          |    list the content of the working directory of the client\n  **shred**       |    delete files/ directories unrecoverable\n  **screen**      |    take a Screenshot of the client\n  **cat**         |    view Textfiles from the client including .docx, .rtf, .pdf, .odt\n  **alias**       |    give the client a custom alias\n  **down**        |    download a file from the client\n  **up**          |    upload a file to the client\n  **speedtest**   |    speedtest a client's internet connection\n  **hardware**    |    collects a variety of hardware specs from the client\n  **netscan**     |    scans a clients entire network for online devices and open ports\n  **gomap**       |    scan a local ip on a clients network for open ports and services\n  **escape**      |    escape a command and run it in a native shell on the client\n  **reconnect**   |    tell the client to reconnect\n  **help**        |    lists possible commands with usage info\n  **exit**        |    background current session and return to main shell\n\n### Server Commands \n\n  Command     |  Info\n  ---         |  ---\n  **select**  | select client to interact with\n  **list**    | list all connected clients\n  **alias**   | select client to give an alias\n  **cd**      | change the working directory of the server\n  **help**    | lists possible commands with usage info\n  **exit**    | exit the server\n\n\n\n## Current Features\n### Architecture\n- RPC (Remote procedure Call) based communication for easy addition of new functionality\n- Automatic upx leads to client binaries of ~6MB with embedded Tor\n- sqlite via gorm for storing information about the clients\n- client is obfuscated via [garble](https://github.com/burrowers/garble)\n\n## Server Shell\n- Cross Platform reverse shell (Windows, Linux, Mac OS)\n- Supports multiple connections\n- Welcome Banner\n- Colored Output\n- Tab-Completion of:\n  - Commands\n  - Files/ Directories in the working directory of the server\n\n- Unique persistent ID for every client\n\t- give a client an Alias\n\t- all Downloads from client get saved to ./$ID/$filename\n\n## Persistence\n- Windows:\n\t- [ ] Multiple User Account Control Bypasses (Privilege escalation)\n\t- [ ] Multiple Persistence methods (User, Admin)\n\n- Linux:\n  - [ ] Multiple Persistence methods (User, Admin)\n\n## Tor\n- Fully embedded Tor within go\n\n- the ToRAT_client communicates over TLS encrypted RPC proxied through Tor with the ToRat_server (hidden service)\n\t- [x] anonymity of client and server\n\t- [x] end-to-end encryption\n\n- optional transport without Tor e.g. Use Tor2Web, a DNS Hostname or public/ local IP\n\t- [x] smaller binary ~3MB upx'ed\n\t- [ ] anonymity of client and server\n\n\n## Upcoming Features\n- [ ] Bulk Commands\n- [ ] Persistence and privilege escalation for Linux\n- [ ] Persistence and privilege escalation for Mac OS\n- [ ] Support for Android and iOS (needs fix of https://github.com/ipsn/go-libtor/issues/12)\n- [ ] [File-less Persistence on Windows](https://github.com/ewhitehats/InvisiblePersistence)\n\n\n## Contribution\nAll contributions are welcome you don't need to be an expert in Go to contribute.\n\nYou may want to join the `#torat` channel over at the [Gophers Slack](https://invite.slack.golangbridge.org/)\n\n## Credits\n- [Tor](https://www.torproject.org/)\n- [Tor controller library](https://github.com/cretz/bine)\n- [Python Uacbypass and Persistence Techniques](https://github.com/rootm0s/WinPwnage)\n- [Modern Cli](https://github.com/abiosoft/ishell)\n- [Colored Prints](https://github.com/fatih/color)\n- [Screenshot library](https://github.com/vova616/screenshot)\n- [TLS Certificate generator](https://github.com/lu4p/genCert)\n- [Shred library](https://github.com/lu4p/shred)\n- [Extract Text from Documents](https://github.com/lu4p/cat)\n- [RPC](https://golang.org/pkg/net/rpc/)\n- [UPX](https://upx.github.io/)\n- [Obfuscation](https://github.com/burrowers/garble)\n","funding_links":["https://github.com/sponsors/lu4p"],"categories":["Go","Uncategorized","Pentesting","windows"],"sub_categories":["Uncategorized","Red Team"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu4p%2FToRat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flu4p%2FToRat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu4p%2FToRat/lists"}