added more description
This commit is contained in:
parent
e9a0f1b64a
commit
583630aa08
29
README.md
29
README.md
|
@ -1,3 +1,30 @@
|
||||||
# gontrol
|
# gontrol
|
||||||
|
|
||||||
A command an control implementation in go. Let's see how far I can go with this.
|
A command & control server inside your browser, which uses websockets to
|
||||||
|
communicate to agents, while acting as a proxy server to their network. Even
|
||||||
|
through VPNs.
|
||||||
|
|
||||||
|
The webUI contains a list of all agents, a log stream of events on the agents
|
||||||
|
and the C2 server itself.
|
||||||
|
There is a graph which diplays an overview of the connected and disconnected
|
||||||
|
agents, as well.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Commands may be send in a bulk to multiple agents or just a single agent at a time.
|
||||||
|
The results of the agents will be displayed alongside their name on the UI.
|
||||||
|
Sending and receiving commands is done in a somewhat cli like style.
|
||||||
|
Check the preferred agents on the list and type your command into the box at
|
||||||
|
the bottom of the page. Press `Execute` to send the command. Any following
|
||||||
|
commands will be sent to the selected agents.
|
||||||
|
|
||||||
|
Connect to an agent directly via clicking `Connect`. While an agent is located
|
||||||
|
in another network than the C2 server connect via `Connect via Proxy`.
|
||||||
|
If the agents supports interactive mode you will see a fully interactive
|
||||||
|
command line interface inside your browser.
|
||||||
|
|
||||||
|
## Communication between server and agents
|
||||||
|
|
||||||
|
The websocket is used to keep the connection alive between server and agents.
|
||||||
|
Communication of requesting commands to and delivering outputs from the agents
|
||||||
|
as response is done via HTTP.
|
||||||
|
|
|
@ -25,7 +25,6 @@ import (
|
||||||
type App struct {
|
type App struct {
|
||||||
Tmpl *template.Template
|
Tmpl *template.Template
|
||||||
DB *sql.DB
|
DB *sql.DB
|
||||||
// Logger *logger.Logger
|
|
||||||
Logger logger.LoggerInterface
|
Logger logger.LoggerInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +112,6 @@ func (a *App) listAgents(w http.ResponseWriter, r *http.Request) {
|
||||||
}
|
}
|
||||||
|
|
||||||
a.renderTemplate(w, "agent_list.html", agents)
|
a.renderTemplate(w, "agent_list.html", agents)
|
||||||
// renderTemplate(w, "agent_list.html", agents)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) logsHandler(w http.ResponseWriter, r *http.Request) {
|
func (a *App) logsHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
Loading…
Reference in New Issue