mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-25 20:51:52 +08:00
优化icmp模块,新增-domain 参数(用于smb爆破模块,适用于域用户)
This commit is contained in:
+2
-3
@@ -63,12 +63,11 @@ func isping(ip string) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
recvBuf := make([]byte, 32)
|
recvBuf := make([]byte, 40)
|
||||||
num, err := conn.Read(recvBuf)
|
num, err := conn.Read(recvBuf[0:40])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := conn.SetReadDeadline(time.Time{}); err != nil {
|
if err := conn.SetReadDeadline(time.Time{}); err != nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-4
@@ -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
|
flag = false
|
||||||
Host, Port, Username, Password := info.Host, common.PORTList["smb"], user, pass
|
Host, Port, Username, Password := info.Host, common.PORTList["smb"], user, pass
|
||||||
options := smb.Options{
|
options := smb.Options{
|
||||||
@@ -35,7 +35,7 @@ func SmblConn(info *common.HostInfo, user string, pass string) (flag bool, err e
|
|||||||
Port: 445,
|
Port: 445,
|
||||||
User: Username,
|
User: Username,
|
||||||
Password: Password,
|
Password: Password,
|
||||||
Domain: "",
|
Domain: Domain,
|
||||||
Workstation: "",
|
Workstation: "",
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +43,13 @@ func SmblConn(info *common.HostInfo, user string, pass string) (flag bool, err e
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
if session.IsAuthenticated {
|
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)
|
common.LogSuccess(result)
|
||||||
flag = true
|
flag = true
|
||||||
}
|
}
|
||||||
@@ -56,7 +62,7 @@ func doWithTimeOut(info *common.HostInfo, user string, pass string) (flag bool,
|
|||||||
defer cancel()
|
defer cancel()
|
||||||
signal := make(chan int, 1)
|
signal := make(chan int, 1)
|
||||||
go func() {
|
go func() {
|
||||||
flag, err = SmblConn(info, user, pass)
|
flag, err = SmblConn(info, user, pass, info.Domain)
|
||||||
signal <- 1
|
signal <- 1
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ type HostInfo struct {
|
|||||||
Host string
|
Host string
|
||||||
HostFile string
|
HostFile string
|
||||||
Ports string
|
Ports string
|
||||||
|
Domain string
|
||||||
Url string
|
Url string
|
||||||
Timeout int64
|
Timeout int64
|
||||||
WebTimeout int64
|
WebTimeout int64
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ func Flag(Info *HostInfo) {
|
|||||||
flag.BoolVar(&Info.Isping, "np", false, "not to ping")
|
flag.BoolVar(&Info.Isping, "np", false, "not to ping")
|
||||||
flag.BoolVar(&Info.Ping, "ping", false, "using ping replace icmp")
|
flag.BoolVar(&Info.Ping, "ping", false, "using ping replace icmp")
|
||||||
flag.BoolVar(&Info.IsSave, "no", false, "not to save output log")
|
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.Username, "user", "", "username")
|
||||||
flag.StringVar(&Info.Userfile, "userf", "", "username file")
|
flag.StringVar(&Info.Userfile, "userf", "", "username file")
|
||||||
flag.StringVar(&Info.Password, "pwd", "", "password")
|
flag.StringVar(&Info.Password, "pwd", "", "password")
|
||||||
|
|||||||
Reference in New Issue
Block a user