mirror of
https://github.com/shadow1ng/fscan.git
synced 2025-07-14 05:12:36 +08:00
Update flag.go
This commit is contained in:
parent
989389fd52
commit
57eeb41453
169
common/flag.go
169
common/flag.go
@ -4,116 +4,67 @@ import (
|
||||
"flag"
|
||||
)
|
||||
|
||||
// todo make function
|
||||
type Flags struct {
|
||||
Path string
|
||||
Scantype string
|
||||
Command string
|
||||
SshKey string
|
||||
Domain string
|
||||
Username string
|
||||
Password string
|
||||
Proxy string
|
||||
Timeout int64
|
||||
WebTimeout int64
|
||||
NoPing bool
|
||||
Ping bool
|
||||
Pocinfo PocInfo
|
||||
IsWebCan bool
|
||||
IsBrute bool
|
||||
RedisFile string
|
||||
RedisShell string
|
||||
Userfile string
|
||||
Passfile string
|
||||
HostFile string
|
||||
PortFile string
|
||||
PocPath string
|
||||
Threads int
|
||||
URL string
|
||||
UrlFile string
|
||||
Urls []string
|
||||
NoPorts string
|
||||
NoHosts string
|
||||
SC string
|
||||
PortAdd string
|
||||
UserAdd string
|
||||
PassAdd string
|
||||
BruteThread int
|
||||
LiveTop int
|
||||
Socks5Proxy string
|
||||
Hash string
|
||||
HashBytes []byte
|
||||
IsWmi bool
|
||||
PocNum int
|
||||
PocFull bool
|
||||
DnsLog bool
|
||||
func Banner() {
|
||||
banner := `
|
||||
___ _
|
||||
/ _ \ ___ ___ _ __ __ _ ___| | __
|
||||
/ /_\/____/ __|/ __| '__/ _` + "`" + ` |/ __| |/ /
|
||||
/ /_\\_____\__ \ (__| | | (_| | (__| <
|
||||
\____/ |___/\___|_| \__,_|\___|_|\_\
|
||||
fscan version: ` + version + `
|
||||
`
|
||||
print(banner)
|
||||
}
|
||||
|
||||
// todo make function
|
||||
type LogConfig struct {
|
||||
Silent bool
|
||||
Outputfile string
|
||||
TmpSave bool
|
||||
WaitTime int64
|
||||
}
|
||||
|
||||
type InConfig struct {
|
||||
HostInfo HostInfo
|
||||
Flags Flags
|
||||
LogConfig LogConfig
|
||||
Cookie string
|
||||
}
|
||||
|
||||
func Flag(inConfig *InConfig) {
|
||||
flag.StringVar(&inConfig.HostInfo.Host, "h", "", "IP address of the host you want to scan,for example: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12")
|
||||
flag.StringVar(&inConfig.HostInfo.Ports, "p", DefaultPorts, "Select a port,for example: 22 | 1-65535 | 22,80,3306")
|
||||
|
||||
flag.StringVar(&inConfig.Flags.NoHosts, "hn", "", "the hosts no scan,as: -hn 192.168.1.1/24")
|
||||
flag.StringVar(&inConfig.Flags.PortAdd, "pa", "", "add port base DefaultPorts,-pa 3389")
|
||||
flag.StringVar(&inConfig.Flags.UserAdd, "usera", "", "add a user base DefaultUsers,-usera user")
|
||||
flag.StringVar(&inConfig.Flags.PassAdd, "pwda", "", "add a password base DefaultPasses,-pwda password")
|
||||
flag.StringVar(&inConfig.Flags.NoPorts, "pn", "", "the ports no scan,as: -pn 445")
|
||||
flag.StringVar(&inConfig.Flags.Command, "c", "", "exec command (ssh|wmiexec)")
|
||||
flag.StringVar(&inConfig.Flags.SshKey, "sshkey", "", "sshkey file (id_rsa)")
|
||||
flag.StringVar(&inConfig.Flags.Domain, "domain", "", "smb domain")
|
||||
flag.StringVar(&inConfig.Flags.Username, "user", "", "username")
|
||||
flag.StringVar(&inConfig.Flags.Password, "pwd", "", "password")
|
||||
flag.Int64Var(&inConfig.Flags.Timeout, "time", 3, "Set timeout")
|
||||
flag.Int64Var(&inConfig.Flags.WebTimeout, "wt", 5, "Set web timeout")
|
||||
flag.StringVar(&inConfig.Flags.Scantype, "m", "all", "Select scan type ,as: -m ssh")
|
||||
flag.StringVar(&inConfig.Flags.Path, "path", "", "fcgi、smb romote file path")
|
||||
flag.IntVar(&inConfig.Flags.Threads, "t", 600, "Thread nums")
|
||||
flag.IntVar(&inConfig.Flags.LiveTop, "top", 10, "show live len top")
|
||||
flag.StringVar(&inConfig.Flags.HostFile, "hf", "", "host file, -hf ip.txt")
|
||||
flag.StringVar(&inConfig.Flags.Userfile, "userf", "", "username file")
|
||||
flag.StringVar(&inConfig.Flags.Passfile, "pwdf", "", "password file")
|
||||
flag.StringVar(&inConfig.Flags.PortFile, "portf", "", "Port File")
|
||||
flag.StringVar(&inConfig.Flags.PocPath, "pocpath", "", "poc file path")
|
||||
flag.StringVar(&inConfig.Flags.RedisFile, "rf", "", "redis file to write sshkey file (as: -rf id_rsa.pub)")
|
||||
flag.StringVar(&inConfig.Flags.RedisShell, "rs", "", "redis shell to write cron file (as: -rs 192.168.1.1:6666)")
|
||||
flag.BoolVar(&inConfig.Flags.IsWebCan, "nopoc", false, "not to scan web vul")
|
||||
flag.BoolVar(&inConfig.Flags.IsBrute, "nobr", false, "not to Brute password")
|
||||
flag.IntVar(&inConfig.Flags.BruteThread, "br", 1, "Brute threads")
|
||||
flag.BoolVar(&inConfig.Flags.NoPing, "np", false, "not to ping")
|
||||
flag.BoolVar(&inConfig.Flags.Ping, "ping", false, "using ping replace icmp")
|
||||
flag.StringVar(&inConfig.Flags.URL, "u", "", "url")
|
||||
flag.StringVar(&inConfig.Flags.UrlFile, "uf", "", "urlfile")
|
||||
flag.StringVar(&inConfig.Flags.Pocinfo.PocName, "pocname", "", "use the pocs these contain pocname, -pocname weblogic")
|
||||
flag.IntVar(&inConfig.Flags.PocNum, "num", 20, "poc rate")
|
||||
flag.StringVar(&inConfig.Flags.Proxy, "proxy", "", "set poc proxy, -proxy http://127.0.0.1:8080")
|
||||
flag.StringVar(&inConfig.Flags.Socks5Proxy, "socks5", "", "set socks5 proxy, will be used in tcp connection, timeout setting will not work")
|
||||
flag.StringVar(&inConfig.Flags.SC, "sc", "", "ms17 shellcode,as -sc add")
|
||||
flag.BoolVar(&inConfig.Flags.IsWmi, "wmi", false, "start wmi")
|
||||
flag.StringVar(&inConfig.Flags.Hash, "hash", "", "hash")
|
||||
flag.BoolVar(&inConfig.Flags.PocFull, "full", false, "poc full scan,as: shiro 100 key")
|
||||
flag.BoolVar(&inConfig.Flags.DnsLog, "dns", false, "using dnslog poc")
|
||||
|
||||
flag.StringVar(&inConfig.LogConfig.Outputfile, "o", "result.txt", "Outputfile")
|
||||
flag.BoolVar(&inConfig.LogConfig.TmpSave, "no", false, "not to save output log")
|
||||
flag.Int64Var(&inConfig.LogConfig.WaitTime, "debug", 60, "every time to LogErr")
|
||||
flag.BoolVar(&inConfig.LogConfig.Silent, "silent", false, "silent scan")
|
||||
|
||||
flag.StringVar(&inConfig.Cookie, "cookie", "", "set poc cookie,-cookie rememberMe=login")
|
||||
|
||||
func Flag(Info *HostInfo) {
|
||||
Banner()
|
||||
flag.StringVar(&Info.Host, "h", "", "IP address of the host you want to scan,for example: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12")
|
||||
flag.StringVar(&NoHosts, "hn", "", "the hosts no scan,as: -hn 192.168.1.1/24")
|
||||
flag.StringVar(&Info.Ports, "p", DefaultPorts, "Select a port,for example: 22 | 1-65535 | 22,80,3306")
|
||||
flag.StringVar(&PortAdd, "pa", "", "add port base DefaultPorts,-pa 3389")
|
||||
flag.StringVar(&UserAdd, "usera", "", "add a user base DefaultUsers,-usera user")
|
||||
flag.StringVar(&PassAdd, "pwda", "", "add a password base DefaultPasses,-pwda password")
|
||||
flag.StringVar(&NoPorts, "pn", "", "the ports no scan,as: -pn 445")
|
||||
flag.StringVar(&Command, "c", "", "exec command (ssh|wmiexec)")
|
||||
flag.StringVar(&SshKey, "sshkey", "", "sshkey file (id_rsa)")
|
||||
flag.StringVar(&Domain, "domain", "", "smb domain")
|
||||
flag.StringVar(&Username, "user", "", "username")
|
||||
flag.StringVar(&Password, "pwd", "", "password")
|
||||
flag.Int64Var(&Timeout, "time", 3, "Set timeout")
|
||||
flag.StringVar(&Scantype, "m", "all", "Select scan type ,as: -m ssh")
|
||||
flag.StringVar(&Path, "path", "", "fcgi、smb romote file path")
|
||||
flag.IntVar(&Threads, "t", 600, "Thread nums")
|
||||
flag.IntVar(&LiveTop, "top", 10, "show live len top")
|
||||
flag.StringVar(&HostFile, "hf", "", "host file, -hf ip.txt")
|
||||
flag.StringVar(&Userfile, "userf", "", "username file")
|
||||
flag.StringVar(&Passfile, "pwdf", "", "password file")
|
||||
flag.StringVar(&PortFile, "portf", "", "Port File")
|
||||
flag.StringVar(&PocPath, "pocpath", "", "poc file path")
|
||||
flag.StringVar(&RedisFile, "rf", "", "redis file to write sshkey file (as: -rf id_rsa.pub)")
|
||||
flag.StringVar(&RedisShell, "rs", "", "redis shell to write cron file (as: -rs 192.168.1.1:6666)")
|
||||
flag.BoolVar(&NoWebCan, "nopoc", false, "not to scan web vul")
|
||||
flag.BoolVar(&IsBrute, "nobr", false, "not to Brute password")
|
||||
flag.IntVar(&BruteThread, "br", 1, "Brute threads")
|
||||
flag.BoolVar(&NoPing, "np", false, "not to ping")
|
||||
flag.BoolVar(&Ping, "ping", false, "using ping replace icmp")
|
||||
flag.StringVar(&Outputfile, "o", "result.txt", "Outputfile")
|
||||
flag.BoolVar(&TmpSave, "no", false, "not to save output log")
|
||||
flag.Int64Var(&WaitTime, "debug", 60, "every time to LogErr")
|
||||
flag.BoolVar(&Silent, "silent", false, "silent scan")
|
||||
flag.BoolVar(&Nocolor, "nocolor", false, "no color")
|
||||
flag.BoolVar(&PocFull, "full", false, "poc full scan,as: shiro 100 key")
|
||||
flag.StringVar(&URL, "u", "", "url")
|
||||
flag.StringVar(&UrlFile, "uf", "", "urlfile")
|
||||
flag.StringVar(&Pocinfo.PocName, "pocname", "", "use the pocs these contain pocname, -pocname weblogic")
|
||||
flag.StringVar(&Proxy, "proxy", "", "set poc proxy, -proxy http://127.0.0.1:8080")
|
||||
flag.StringVar(&Socks5Proxy, "socks5", "", "set socks5 proxy, will be used in tcp connection, timeout setting will not work")
|
||||
flag.StringVar(&Cookie, "cookie", "", "set poc cookie,-cookie rememberMe=login")
|
||||
flag.Int64Var(&WebTimeout, "wt", 5, "Set web timeout")
|
||||
flag.BoolVar(&DnsLog, "dns", false, "using dnslog poc")
|
||||
flag.IntVar(&PocNum, "num", 20, "poc rate")
|
||||
flag.StringVar(&SC, "sc", "", "ms17 shellcode,as -sc add")
|
||||
flag.BoolVar(&IsWmi, "wmi", false, "start wmi")
|
||||
flag.StringVar(&Hash, "hash", "", "hash")
|
||||
flag.BoolVar(&Noredistest, "noredis", false, "no redis sec test")
|
||||
flag.Parse()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user