优化icmp模块,新增-domain 参数(用于smb爆破模块,适用于域用户)

This commit is contained in:
shadow1ng 2020-12-06 10:50:40 +08:00
parent b4fb1efb3a
commit 767fff84ed
4 changed files with 14 additions and 7 deletions

View File

@ -63,12 +63,11 @@ func isping(ip string) bool {
return false
}
recvBuf := make([]byte, 32)
num, err := conn.Read(recvBuf)
recvBuf := make([]byte, 40)
num, err := conn.Read(recvBuf[0:40])
if err != nil {
return false
}
if err := conn.SetReadDeadline(time.Time{}); err != nil {
return false
}

View File

@ -27,7 +27,7 @@ Loop:
}
func SmblConn(info *common.HostInfo, user string, pass string) (flag bool, err error) {
func SmblConn(info *common.HostInfo, user string, pass string, Domain string) (flag bool, err error) {
flag = false
Host, Port, Username, Password := info.Host, common.PORTList["smb"], user, pass
options := smb.Options{
@ -35,7 +35,7 @@ func SmblConn(info *common.HostInfo, user string, pass string) (flag bool, err e
Port: 445,
User: Username,
Password: Password,
Domain: "",
Domain: Domain,
Workstation: "",
}
@ -43,7 +43,13 @@ func SmblConn(info *common.HostInfo, user string, pass string) (flag bool, err e
if err == nil {
defer session.Close()
if session.IsAuthenticated {
result := fmt.Sprintf("SMB:%v:%v:%v %v", Host, Port, Username, Password)
var result string
if Domain != "" {
result = fmt.Sprintf("SMB:%v:%v:%v\\%v %v", Host, Port, Domain, Username, Password)
} else {
result = fmt.Sprintf("SMB:%v:%v:%v %v", Host, Port, Username, Password)
}
common.LogSuccess(result)
flag = true
}
@ -56,7 +62,7 @@ func doWithTimeOut(info *common.HostInfo, user string, pass string) (flag bool,
defer cancel()
signal := make(chan int, 1)
go func() {
flag, err = SmblConn(info, user, pass)
flag, err = SmblConn(info, user, pass, info.Domain)
signal <- 1
}()

View File

@ -59,6 +59,7 @@ type HostInfo struct {
Host string
HostFile string
Ports string
Domain string
Url string
Timeout int64
WebTimeout int64

View File

@ -27,6 +27,7 @@ func Flag(Info *HostInfo) {
flag.BoolVar(&Info.Isping, "np", false, "not to ping")
flag.BoolVar(&Info.Ping, "ping", false, "using ping replace icmp")
flag.BoolVar(&Info.IsSave, "no", false, "not to save output log")
flag.StringVar(&Info.Domain, "domain", "", "smb domain")
flag.StringVar(&Info.Username, "user", "", "username")
flag.StringVar(&Info.Userfile, "userf", "", "username file")
flag.StringVar(&Info.Password, "pwd", "", "password")