-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcmd.go
51 lines (41 loc) · 1.57 KB
/
cmd.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package main
import (
"flag"
"fmt"
"os"
)
func ExecuteCLI() {
flag.Parse()
setupLoggers()
startHoneypot()
}
func init() {
// logging
flag.StringVar(&LoggingRoot, "logroot", LoggingRoot, "logging root directory (default current)")
flag.StringVar(&RemoteLoggerFile, "log-file", RemoteLoggerFile, "events log file")
flag.StringVar(&CredsLoggerFile, "creds-log-file", CredsLoggerFile, "login attemp credentials log file")
flag.BoolVar(&DisableCredsLog, "disable-creds-log", DisableCredsLog, "disable credentials logging")
// honeypot server
flag.StringVar(&Addr, "addr", Addr, "honeypot listen address")
flag.IntVar(&Port, "port", Port, "honeypot listen port")
flag.StringVar(&PrivateKeyFile, "key", PrivateKeyFile, "private SSH key file")
flag.StringVar(&ServerVersion, "server-version", ServerVersion, "ssh server version")
flag.StringVar(&Banner, "banner", Banner, "ssh banner")
// shell
flag.StringVar(&Prompt, "prompt", Prompt, "shell prompt")
// authentication
flag.StringVar(&CredsFile, "creds-file", CredsFile, "file containing login credentials")
flag.BoolVar(&DisableLogin, "disable-login", DisableLogin, "disable login")
// prometheus server
flag.StringVar(&PrometheusAddr, "prom-addr", PrometheusAddr, "prometheus listen address")
flag.IntVar(&PrometheusPort, "prom-port", PrometheusPort, "prometheus listen port")
flag.BoolFunc("enable-prometheus", "start prometheus", func(s string) error {
go startPrometheusListener()
return nil
})
flag.BoolFunc("version", "print version", func(s string) error {
fmt.Println(VERSION)
os.Exit(0)
return nil
})
}