GitHub - 0x09AL/go-deliver: Go-deliver is a payload delivery tool coded in Go.
source link: https://github.com/0x09AL/go-deliver
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
go-deliver
Go-deliver is a payload delivery tool coded in Go. This is the first version and other features will be added in the future.
Precompiled Releases
https://github.com/0x09AL/go-deliver/releases
Installation
To use go-deliver without installing Go and the required dependencies you can download the precompiled binaries.
If you want to compile from source:
- Clone this repository.
- Install the required dependecies.
- Compile and run.
Dependecies
- https://github.com/chzyer/readline
- https://github.com/gorilla/mux
- https://github.com/mattn/go-sqlite3
- https://github.com/olekukonko/tablewriter
- http://gopkg.in/gcfg.v1
Configuration
Currently go-deliver supports only http server for payload delivery. More server types will be added later.
To change the port of the http server you can modify the config.conf
.
Sample configuration :
[http]
port = 8000
template403 = template/403.html
template404 = template/403.html
[https]
port = 8443
template403 = template/403.html
template404 = template/403.html
The only configuration that can be changed here is the port
under http. The other options are for features that will be added later.
There is a lot of code that has been created for future versions so you can ignore them.
Usage
The main logic behind go-deliver is to deliver different type of payloads to specific IP/Subnet address or block access for specific IP/Subnet.
Currently you have two types of objects in go-deliver.
- Payload - Used to define an object to deliver.
- Host - Used to define an object to combine with Payload object.
Payload object commands
- Add - Add a new payload to database.
- Delete - Delete a payload from the database.
- List - List all the payloads on the database.
Payload types
mshta regsrv32 powershell javascript html text exe
Payload Options
- Id - ID of the payload on the database. (Unchangeable)
- Name - Name of the payload.
- Content Type - Content Type that will be sent as a header.
- Host Blacklist - The name of a Host object to be used as a blacklist.
- Host Whitelist - The name of a Host object to be used as a whitelist.
- Data File - Location of a file to be delivered.
- Data B64 - B64 encoded data to be delivered.
- Ptype - Payload type.
- Guid - Unique identifier for every payload.
Note : If no whitelist or blacklist is specified the payload will get delivered to anyone with the correct URL.
Host object commands
- Add - Add a new host object to the database.
- Delete - Delete a host object from the database.
- List - List all the host objects on the database.
Host options
- Id - ID of the host object on the database. (Unchangeable)
- Name - Name of the host object.
- Htype - Host object type. It can be
IP
orSubnet
TODO
- Add more types of servers.
- Add templates and the ability to generate payloads.
- Add one-liner for every payload type.
Suggestions ???
Screenshots
Payload Creation
Payload List
Payload Deliver
Host Creation
Payload with Black List
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK