From 767fff84edbf355b968b327a4ae85804b70e937a Mon Sep 17 00:00:00 2001 From: shadow1ng Date: Sun, 6 Dec 2020 10:50:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96icmp=E6=A8=A1=E5=9D=97,?= =?UTF-8?q?=E6=96=B0=E5=A2=9E-domain=20=E5=8F=82=E6=95=B0(=E7=94=A8?= =?UTF-8?q?=E4=BA=8Esmb=E7=88=86=E7=A0=B4=E6=A8=A1=E5=9D=97,=E9=80=82?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E5=9F=9F=E7=94=A8=E6=88=B7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Plugins/icmp.go | 5 ++--- Plugins/smb.go | 14 ++++++++++---- common/config.go | 1 + common/flag.go | 1 + 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Plugins/icmp.go b/Plugins/icmp.go index 75a4cf7..89b67c0 100644 --- a/Plugins/icmp.go +++ b/Plugins/icmp.go @@ -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 } diff --git a/Plugins/smb.go b/Plugins/smb.go index ba38e7a..0ac569c 100644 --- a/Plugins/smb.go +++ b/Plugins/smb.go @@ -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 }() diff --git a/common/config.go b/common/config.go index 84fefd3..b546a50 100644 --- a/common/config.go +++ b/common/config.go @@ -59,6 +59,7 @@ type HostInfo struct { Host string HostFile string Ports string + Domain string Url string Timeout int64 WebTimeout int64 diff --git a/common/flag.go b/common/flag.go index 8c58c5f..f5921bb 100644 --- a/common/flag.go +++ b/common/flag.go @@ -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")