Goby icon indicating copy to clipboard operation
Goby copied to clipboard

ssh爆破问题

Open i11us0ry opened this issue 3 years ago • 3 comments

微信图片_20210713103345

如图,goby爆ssh显示成功,但实际上账户密码是错误的,我想goby和很多ssh爆破工具、脚本都是通过建立Session来判断是否爆破成功。但实际上某些设备你使用错误账号密码登录时好像也会建立session,导致误报。以65.187.136.4为例,ssh.Dial()和client.NewSession()结果err都是nil,但实际上这个session是让你继续输入正确账户密码而不是登录成功的session。因此我觉得可以在建立session后发送一个指令来判断ssh是否爆破成功,如下:

client, err := ssh.Dial("tcp", host, config)
if err == nil {
	defer client.Close()
	session, err := client.NewSession()
	if err == nil {
		defer session.Close()
		combo, _ := session.CombinedOutput("whoami")
		if find := strings.Contains(string(combo), "login"); !find {
			result := fmt.Sprintf("SSH:%-20v %v:%-10v", host, user, pass)
			return result
		}
	}
}

i11us0ry avatar Jul 13 '21 02:07 i11us0ry

已收到您的反馈,我们尽快优化,优化后会向您致谢,您可以联系微信号:gobyteam,感谢您对Goby喜爱与支持~

gobysec avatar Oct 07 '23 03:10 gobysec

确实存在该问题,问题成因是SSH Server端没有使用SSH协议自带的鉴权能力来进行身份鉴别,而是与Telnet类似的方式来进行身份鉴别,资产较少,且要完美解决较为复杂,低优先级处理。

gobysec avatar Nov 21 '23 09:11 gobysec

已在Goby最新版本V2.8.1版本解决此问题~

gobysec avatar Nov 21 '23 09:11 gobysec