Skip to content

Commit

Permalink
Updated README.md for release 1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
e3prom committed Feb 12, 2019
1 parent 43a5c70 commit 70ba25f
Showing 1 changed file with 19 additions and 22 deletions.
41 changes: 19 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
![Ruse Logo](docs/images/ruse_240x122.png "Ruse - Redirector")

Ruse is an open source, multi-platform Redirector that make it easy to conceal
C2 and shellcodes listeners using the Hypertext Transfer Protocol.
Ruse is secure, multi-platform, selective Reverse Proxy (or Redirector) that is
fast and easy to deploy. It can help you concealing C2 communications, and
reverse shells traffic using the HTTP protocol.

It combines the core features of Python's
Ruse combines the core features of Python's
[SimpleHTTPServer](https://docs.python.org/2/library/simplehttpserver.html),
Apache's
[mod_rewrite](https://httpd.apache.org/docs/current/mod/mod_rewrite.html),
and SSL ProxyPass, all in a single tool.
and SSL ProxyPass, all in a single, self-contained and highly-portable
executable.

Ruse supports both plain-text HTTP and HTTPS, in a fast and easy to configure
It supports both plain-text HTTP and HTTPS, in a fast and easy to configure
portable server executable. Ruse can be rapidly deployed from the command-line
or inside a Docker container for even more security.
or inside a Docker container for added security.

## Features
* Runs under Linux, \*BSD, Mac OS X, and Windows (7, Server 2008R2 and later)
* Supports Intel x86, AMD64, ARM, ARM64 and PPC64 (little-endian)
* No external dependencies (only uses the Go standard library)
* No external dependencies (outside the Go standard library)
* HTTP and HTTPS (SSL/TLS) support
* Support IPv4 and IPv6 addressing
* Selective Reverse Proxying based on:
* User-Agent header field, matching:
* Exact String(s)
* Regular Expression(s)
* Client's network (CIDR format)
* Support for VirtualHost
* Client's network (CIDR matching)
* Support for VirtualHosts
* Serves static files (with optional directory listing)
* HTTP Logging

Expand All @@ -38,12 +40,7 @@ Ruse helps you overcome multiple challenges, such as:
* Quickly [proxy your Metasploit's reverse_http(s) payloads](docs/msf-reverse-https.md).

If you're doing Red Team operations or you may simply want to hide your HTTP
listeners during an engagement, Ruse may be of help.

In fact, you may want incident response teams or your targets' operators not to
directly contact your C2 or metasploit HTTP listener for various reasons, such
as limiting your fingerprint or to fool them by serving or proxying traffic to
a legimate web site.
listeners during an engagement, Ruse may be for you!

## Building from source
To build Ruse from source, simply enter `make`, it will build the `ruse`
Expand All @@ -70,7 +67,7 @@ Starting HTTP Server on localhost:8000
By default Ruse ships with a [basic configuration file](conf/ruse.conf)
which only allows plain-text HTTP connections from localhost on port tcp/8000.
It's also configured to proxy traffic from metasploit's reverse HTTP payloads
by matching their User-Agent header fields.
by exact matching their User-Agent header fields.

## Building and running under Docker
Ruse can also run under a Docker container, and thus in a matter of seconds.
Expand All @@ -90,15 +87,15 @@ If you do not want to build Ruse from source, you can directly download the bina
### Releases
| Filename | OS | Architecture | Version | SHA256 Checksum |
|-------------------------------------------------------------------------------------------------------------------------|----------------------------|---------------|---------|-----------------------------------------------------------------------------|
| [ruse-1.0.1-linux-debian-amd64.deb](//github.com/e3prom/ruse/releases/download/1.0.1/ruse-1.0.1-linux-debian-amd64.deb) | Linux Debian (derivatives) | x86-64 | 1.0.1 | <sub>6f58bbe91ac9a35a63b0e7cbae5445951d4c22aebda1e85fd175d3b41bbf3929</sub> |
| [ruse-1.0.1-win-amd64.zip](//github.com/e3prom/ruse/releases/download/1.0.1/ruse-1.0.1-win-amd64.zip) | Windows (amd64) | x86-64 | 1.0.1 | <sub>7a3f14927ddd3c266905211c6ae67a3799ea1e709e9b6b246d0e6e44eebe0afc</sub> |
| [ruse-1.0.1-win-i386.zip](//github.com/e3prom/ruse/releases/download/1.0.1/ruse-1.0.1-win-i386.zip) | Windows (i386) | x86-32 | 1.0.1 | <sub>706c7bace3ad7f739a845ee05278794c2477551a652df727e12dca1cc9d2e914</sub> |
| [ruse-1.0.1-darwin-amd64.tar.gz](//github.com/e3prom/ruse/releases/download/1.0.1/ruse-1.0.1-darwin-amd64.tar.gz) | Mac OS X | x86-64 | 1.0.1 | <sub>0cc864e82237614c3e7a0b06d2fa7f1580532c681d0f1f10c6abb721d72c0f80</sub> |
| [ruse-1.0.2-linux-debian-amd64.deb](//github.com/e3prom/ruse/releases/download/1.0.2/ruse-1.0.2-linux-debian-amd64.deb) | Linux Debian (derivatives) | x86-64 | 1.0.2 | <sub>63b0f3fff7dd0bfa506b2623d1690d3fe9fc69ec15737a235f0c8712764a4c39</sub> |
| [ruse-1.0.2-win-amd64.zip](//github.com/e3prom/ruse/releases/download/1.0.2/ruse-1.0.2-win-amd64.zip) | Windows (amd64) | x86-64 | 1.0.2 | <sub>0615349405a47c59984827cf4d8e60480df274d25f430db70e8c2c1c0fb7dbb5</sub> |
| [ruse-1.0.2-win-i386.zip](//github.com/e3prom/ruse/releases/download/1.0.2/ruse-1.0.2-win-i386.zip) | Windows (i386) | x86-32 | 1.0.2 | <sub>e34566725a0a31b37e9d66a84123f2b667185fb3862d1db4208a35feed6f0ba9</sub> |
| [ruse-1.0.2-darwin-amd64.zip](//github.com/e3prom/ruse/releases/download/1.0.2/ruse-1.0.2-darwin-amd64.zip) | Mac OS X | x86-64 | 1.0.2 | <sub>52e9804a413db8dca6470bcd13f55dd683e1559aa32c89107b892d98457c4ab3</sub> |

## Configuring
To configure the redirector, edit and copy the [ruse.conf](conf/ruse.conf)
configuration file in the `/conf` directory to `/etc/ruse.conf`. The latter is
the default configuration file path, and can be manually changed using the
the default configuration file path, and can be manually specified using the
command-line `-c` switch. Also Ruse reloads its configuration file when it
receives the SIGHUP signal.

Expand Down Expand Up @@ -129,7 +126,7 @@ on all interfaces.

#### ² Directory Index
[²]:#-directory-index
Use an empty `""` value as the index page to enable recursive directory
Use an empty `""` string value as the index page to enable recursive directory
listing.

----
Expand Down

0 comments on commit 70ba25f

Please sign in to comment.