Coder Social home page Coder Social logo

lcvvvv / kscan Goto Github PK

View Code? Open in Web Editor NEW
3.7K 43.0 505.0 82.34 MB

Kscan是一款纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。支持协议1200+,协议指纹10000+,应用指纹20000+,暴力破解协议10余种。

License: GNU General Public License v3.0

Go 99.66% Shell 0.34%
redteam scanner bruteforce brute-force pentest exploit red-team security webscan fingerprint

kscan's Introduction

Kscan-轻量化全方位扫描器

Release Release Release GitHub Repo stars GitHub forks GitHub all release

[中文 Readme] | [English Readme]

0 免责声明(作者没有参加XX行动,别溯了

  • 本工具仅面向合法授权的企业安全建设行为与个人学习行为,如您需要测试本工具的可用性,请自行搭建靶机环境。

  • 在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。请勿对非授权目标进行扫描。

如果发现上述禁止行为,我们将保留追究您法律责任的权利。

如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。

在安装并使用本工具前,请您务必审慎阅读、充分理解各条款内容。

除非您已充分阅读、完全理解并接受本协议所有条款,否则,请您不要安装并使用本工具。您的使用行为或者您以其他任何明示或者默示方式表示接受本协议的,即视为您已阅读并同意本协议的约束。

1 简介

     _   __
    /#| /#/   轻量综合扫描工具 by:kv2
    |#|/#/  _____  _____     *     _   _
    |#.#/  /Edge/ /Forum\   /#\   /#\ /#\
    |##|  |#|____ |#|      /Kv2\  |##\|#|
    |#.#\  \r0cky\|#|     /#/_\#\ |#.#.#|
    |#|\#\/\___|#||#|____/#/Rui\#\|#|\##|
    \#| \#\lcvvvv/ \aels/#/ v1.87#\#/ \#/
	

Kscan是一款纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。支持协议1200+,协议指纹10000+,应用指纹20000+,暴力破解协议10余种。

2 写在前面

目前类似的资产扫描、指纹识别、漏洞检测的工具其实已经非常多了,也不乏有很棒的工具,但是Kscan其实有很多不同的想法。

  • Kscan希望能够接受多种输入格式,无需在使用之前对扫描对象进行分类,比如区分为IP,还是URL地址等,这对于使用者来说无疑是徒增工作量,所有的条目,均能正常输入和识别,若是URL地址,则会保留路径进行检测,若只是IP:PORT,则会优先对该端口进行协议识别。目前Kscan支持三种输入方式(-t,--target|-f,--fofa|--spy)。

  • Kscan没有为了追求效率,而根据端口号与常见协议进行比对来确认端口协议,也不是只检测WEB资产,在这方面,Kscan则更加看重准确性和全面性,只有高准确性的协议识别,才能为后续的应用层识别,提供良好的检测条件。

  • Kscan不是采用模块化的方式做单纯的功能堆叠,比如某个模块单独获取标题,某个模块单独获取SMB信息等等,独立运行,独立输出,而是以端口为单位输出资产信息,比如端口协议为HTTP,则会自动化进行后续的指纹识别、标题获取,端口协议为RPC,则会尝试获取主机名等等。

kscan逻辑图.drawio

3 编译手册

编译手册

4 开始吧

Kscan目前具备3种输入目标的方式

  • -t/--target 可添加--check参数,只对指定的目标端口进行指纹识别,否则将对目标进行端口扫描和指纹识别
IP地址:114.114.114.114
IP地址段:114.114.114.114-115.115.115.115
URL地址:https://www.baidu.com
文件地址:/tmp/target.txt
  • --spy 可添加--scan参数可对存活C段进行端口扫描和指纹识别,否则将只检测存活的网段
[空]:将检测本机IP地址,对本机IP所在B段进行探测
[all]:将对所有私网地址(192.168/172.32/10等)进行探测
IP地址:将对指定IP地址所在B段进行探测
  • -f/--fofa 可添加--check将对检索结果进行存活性验证,添加--scan参数将对检索结果进行端口扫描和指纹识别,否则将只返回fofa检索结果
fofa搜索关键字:将直接返回fofa搜索结果

5 使用方法

usage: kscan [-h,--help,--fofa-syntax] (-t,--target,-f,--fofa,--spy) [-p,--port|--top] [-o,--output] [-oJ] [--proxy] [--threads] [--path] [--host] [--timeout] [-Pn] [-Cn] [-sV] [--check] [--encoding] [--hydra] [hydra options] [fofa options]


optional arguments:
  -h , --help     show this help message and exit
  -f , --fofa     从fofa获取检测对象,需提前配置环境变量:FOFA_EMAIL、FOFA_KEY
  -t , --target   指定探测对象:
                  IP地址:114.114.114.114
                  IP地址段:114.114.114.114/24,不建议子网掩码小于12
                  IP地址段:114.114.114.114-115.115.115.115
                  URL地址:https://www.baidu.com
                  文件地址:file:/tmp/target.txt
  --spy           网段探测模式,此模式下将自动探测主机可达的内网网段可接收参数为:
                  (空)、192、10、172、all、指定IP地址(将探测该IP地址B段存活网关)
  --check         针对目标地址做指纹识别,仅不会进行端口探测
  --scan          将针对--fofa、--spy提供的目标对象,进行端口扫描和指纹识别
  -p , --port     扫描指定端口,默认会扫描TOP400,支持:80,8080,8088-8090
  -eP, --excluded-port 跳过扫描指定的端口,支持:80,8080,8088-8090
  -o , --output   将扫描结果保存到文件
  -oJ             将扫描结果使用json格式保存到文件
  -Pn          	使用此参数后,将不会进行智能存活性探测,现在默认会开启智能存活性探测,提高效率
  -Cn             使用此参数后,控制台输出结果将不会带颜色
  -Dn             使用此参数后,将关闭CDN识别功能
  -sV             使用此参数后,将对所有端口进行全探针探测,此参数极度影响效率,慎用!
  --top           扫描经过筛选处理的常见端口TopX,最高支持1000个,默认为TOP400
  --proxy         设置代理(socks5|socks4|https|http)://IP:Port
  --threads       线程参数,默认线程100,最大值为2048
  --path          指定请求访问的目录,只支持单个目录
  --host          指定所有请求的头部Host值
  --timeout       设置超时时间
  --encoding      设置终端输出编码,可指定为:gb2312、utf-8
  --match         对资产返回banner进行检索,存在关键字的,才会显示,否则不会显示
  --hydra         自动化爆破支持协议:ssh,rdp,ftp,smb,mysql,mssql,oracle,postgresql,mongodb,redis,默认会开启全部
hydra options:
   --hydra-user   自定义hydra爆破用户名:username or user1,user2 or file:username.txt
   --hydra-pass   自定义hydra爆破密码:password or pass1,pass2 or file:password.txt
                  若密码中存在使用逗号的情况,则使用\,进行转义,其他符号无需转义
   --hydra-update 自定义用户名、密码模式,若携带此参数,则为新增模式,会将用户名和密码补充在默认字典后面。否则将替换默认字典。
   --hydra-mod    指定自动化暴力破解模块:rdp or rdp,ssh,smb
fofa options:
   --fofa-syntax  将获取fofa搜索语法说明
   --fofa-size    将设置fofa返回条目数,默认100条
   --fofa-fix-keyword 修饰keyword,该参数中的{}最终会替换成-f参数的值

功能不复杂,其他的自行探索

6 演示

6.1 端口扫描模式

WechatIMG986

6.2 存活网段探测

WechatIMG988

6.3 Fofa结果检索

WechatIMG989

6.4 暴力破解

WechatIMG996

6.5 CDN识别

WechatIMG996

7 特别感谢

8 文末

Github项目地址(BUG、需求、规则欢迎提交): https://github.com/lcvvvv/kscan

微信:

WechatIMG996

kscan's People

Contributors

aels avatar expoli avatar lcvvvv avatar r0ckysec avatar ruishawn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kscan's Issues

内存崩溃

之前跑50万子域名的时候,内存不足会崩溃,后面会考虑优化吗?
最近我自己也在尝试优化,优化了60%,不过最后还是崩溃了,目前发现主要是AppBanner那边存储了响应内容不断累积导致的

image

Bug:不能识别ip:port文本

命令:./kscan -t file:./url.txt --check
不能识别ip:port格式

url.txt

1.1.1.1:8210
2.2.2.2:8014

只提取了一些文件中的 :80去识别

出现新的报错

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x30 pc=0x6c679b]

goroutine 432 [running]:
kscan/run.(*HttpFinger).LoadHttpsResponse(...)
/Users/kv2/Project/Gkscan/run/type-urlfinger.go:169
kscan/run.getUrlBanner(0xc00d468a80, 0x2e)
/Users/kv2/Project/Gkscan/run/scan.go:73 +0x1eb
kscan/run.GetPortBanner(0xc00c459820, 0x13, 0xc006fe5030, 0xc00d4ec270)
/Users/kv2/Project/Gkscan/run/scan.go:50 +0x59f
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:63 +0xd0
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
kscan/run.scanMainSub(0xcb3d60, 0xce2bd0, 0xc006fe5030)
/Users/kv2/Project/Gkscan/run/run.go:81 +0x173
created by kscan/run.scanMain
/Users/kv2/Project/Gkscan/run/run.go:53 +0x110

JSON文件保存问题

应该边扫描边存,等扫描结束再存的话,中间程序意外中断就不会保存已扫描的结果,就要重新扫描

扫描报错

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x18 pc=0x13352f3]

goroutine 110 [running]:
kscan/run.(*kscan).GetTcpBanner.func3(0xc0086f2d80)
D:/scan/kscan/kscan/run/type-kscan.go:262 +0xb3
created by kscan/run.(*kscan).GetTcpBanner
D:/scan/kscan/kscan/run/type-kscan.go:256 +0xb5

扫描端口问题小记

扫描端口问题小记:
1、未存活的主机扫描出25端口建议增加存活检测参数
2、扫描滚动显示存在多余显示问题,速度过快还会显示端口大于65535的情况,如:
cmd窗口显示:
[+]192.168.1.19:25 stmp,25
[+]192.168.1.13:25 stmp,25情况:192.168.1.47:90028
[+]192.168.1.24:25 stmp,25
[+]192.168.1.23:25 stmp,25
[+]192.168.1.15:25 stmp,25
[+]192.168.1.20:25 stmp,25情况:192.168.1.49:80849
[+]192.168.1.14:25 stmp,25情况:192.168.1.43:80800
[+]192.168.1.11:25 stmp,25
[+]192.168.1.8:25 stmp,25情况:192.168.1.49:11005

cmder窗口显示:
[+]192.168.1.49:25 :401]正在测试端口:192.168.1.49:49705
[+]192.168.1.50:25 stmp,25
[+]192.168.1.51:25 stmp,25
[+]192.168.1.52:25 :401]正在测试端口:192.168.1.53:54325
[+]192.168.1.53:25 stmp,25
[+]192.168.1.54:25 stmp,25
[+]192.168.1.55:25 stmp,25
[+]192.168.1.55:25 stmp,25
[+]192.168.1.56:25 stmp,25
[+]192.168.1.57:25 stmp,25
[+]192.168.1.58:25 :401]正在测试端口:192.168.1.59:81800
[+]192.168.1.59:25 :401]正在测试端口:192.168.1.60:8082
[+]192.168.1.60:25 stmp,25
[+]192.168.1.61:25 stmp,25
[+]192.168.1.62:25 :401]正在测试端口:192.168.1.63:1350
[+]192.168.1.63:25 :401]正在测试端口:192.168.1.63:50805

最新版变异报错

kscan/core/fofa

core/fofa/fofa.go:19:27: cannot use slog.Debug() (type slog.Logger) as type *log.Logger in argument to fofa.SetLogger: need type assertion

可以考虑输出json格式,方便多形式读取

我自己改的
run.go

func outJson(fileName string, data []map[string]interface{}) {
	if _, err := os.Stat(fileName); os.IsNotExist(err) {
		_ = os.MkdirAll(path.Dir(fileName), os.ModePerm)
	}
	bytes, _ := json.Marshal(data)
	err := misc.WriteLine(fileName, bytes)
	if err == nil {
		slog.Infof("扫描完成,格式化 to Json: %s", fileName)
	} else {
		slog.Warning("输出Json失败!")
	}
}

misc.go

func WriteLine(fileName string, byte []byte) error {
	//file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)
	file, err := os.OpenFile(fileName, os.O_CREATE|os.O_RDWR, 0666)
	if err != nil {
		return err
	}
	//创建成功挂起关闭文件流,在函数结束前执行
	defer file.Close()
	//NewWriter创建一个以目标文件具有默认大小缓冲、写入w的*Writer。
	writer := bufio.NewWriter(file)
	//写入器将内容写入缓冲。返回写入的字节数。
	_, err = writer.Write(byte)
	//Flush方法将缓冲中的数据写入下层的io.Writer接口。缺少,数据将保留在缓冲区,并未写入io.Writer接口
	_ = writer.Flush()
	if err != nil {
		if err == io.EOF {
			return nil
		}
		return err
	}
	return err
}

1.53.1-1.60版本登录爆破模块存在BUG

1.53.1版本识别服务成功后没有调用爆破
image

1.60.0版本识别服务调用爆破模块后没有爆破成功,手工测试登录成功(已知redis密码进行测试)

更早版本未测试,fscan扫描redis口令成功

使用命令
./kscan_linux_amd64 -t XXXX -p 6379 -o result.txt --hydra --hydra-pass pass.txt
./kscan_linux_amd64 -t XXXX -p 6379 -o result.txt --hydra --hydra-pass pass.txt --hydra-mod redis

扫描ip列表只能读取第一行ip

自己有一个ip列表文件,扫描只能读取第一个ip。


[]2021/05/25 09:20:31 > 开始读取扫描对象...
[+]2021/05/25 09:20:31 > 成功读取URL地址:[0]个
[+]2021/05/25 09:20:31 > 成功读取主机地址:[1]个,待检测端口:[400]个
[+]2021/05/25 09:20:31 > 成功加载favicon指纹:[493]条,keyword指纹:[1323]条
[+]2021/05/25 09:20:35 > 成功加载NMAP探针:[148]个,指纹[11885]条
[
]2021/05/25 09:20:35 > 本次扫描将使用NMAP探针:[28]个,指纹[11209]条
[]2021/05/25 09:20:35 > 开始压入URL地址队列...
[
]2021/05/25 09:20:35 > 本次需要直接扫描的URL地址共:[0]个。...
[]2021/05/25 09:20:35 > 本次需扫描主机IP地址共:[1]个...
[
]2021/05/25 09:20:35 > 开始压入端口扫描队列...
[*]2021/05/25 09:20:36 > 开始扫描所有开放端口,总协程数为:[0]...

卡最后一个协程了

[+]2021/05/02 00:45:11 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:45:31 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:45:51 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:46:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:46:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:46:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:47:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:47:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:47:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:48:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:48:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:48:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:49:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:49:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:49:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:50:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:50:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:50:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:51:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:51:30 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:51:50 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:52:10 > 所有探针已下发完毕,目前[存活协程数:1]...
[+]2021/05/02 00:52:30 > 所有探针已下发完毕,目前[存活协程数:1]...

未设置timeout,不知道默认timeout是否起效把最后一个给k了。

或者说能否绑定ctrl +c 事件直接break到output环节呢?

卡在这里。直接ctrl+c的话就不保存直接退出了。

Server识别错误

实际为:"Server: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/5.3.29"
识别为:"Info:(Win32) OpenSSL/1.0.2e PHP/5.3.29、"

-f 参数问题

使用 -f 参数的时候,好像不能同时执行 多条fofa语句,比如这个
图片

笔误纠正

在README.md的图片中,4检测阶段的敏感目录暴破中,dirserach写错了, 应该是dirsearch

建议,大佬勿喷

  1. 建议添加分类保存,根据常用服务类型分文件,更适用于内网渗透
  2. 建议优化输出格式

如何扫描指定列表的端口内容

假如我有个ip.txt里面是扫描好的3389或者1433 。如何调用这个指定的ip.txt和批定的user.txt和pass.txt进行指定端口的爆破。请问完整格式是什么谢谢

linux 遇到错误

错误太多了,以这种为主

goroutine 1594 [chan receive, 50 minutes]:
kscan/lib/pool.(*Pool).work(0xc004e5def0)
/Users/kv2/Project/Gkscan/lib/pool/pool.go:81 +0x94
created by kscan/lib/pool.(*Pool).Run
/Users/kv2/Project/Gkscan/lib/pool/pool.go:110 +0x79

goroutine 1595 [chan send]:
kscan/lib/pool.(*Pool).work(0xc004e5df90)
/Users/kv2/Project/Gkscan/lib/pool/pool.go:96 +0x265
created by kscan/lib/pool.(*Pool).Run
/Users/kv2/Project/Gkscan/lib/pool/pool.go:110 +0x79

中间伴随着少量这种错误

goroutine 2938 [runnable]:
internal/poll.runtime_pollWait(0x7fbf2b8c8ac0, 0x77, 0xc004ce8000)
/Users/kv2/Project/go/go1.16.10/src/runtime/netpoll.go:227 +0x55
internal/poll.(*pollDesc).wait(0xc004923e98, 0x77, 0x103f600, 0xc0052285a0, 0xc004923e80)
/Users/kv2/Project/go/go1.16.10/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitWrite(...)
/Users/kv2/Project/go/go1.16.10/src/internal/poll/fd_poll_runtime.go:96
internal/poll.(*FD).WaitWrite(...)
/Users/kv2/Project/go/go1.16.10/src/internal/poll/fd_unix.go:528
net.(*netFD).connect(0xc004923e80, 0x103f6c8, 0xc0052285a0, 0x0, 0x0, 0x1033bc0, 0xc003616680, 0x0, 0x0, 0x0, ...)
/Users/kv2/Project/go/go1.16.10/src/net/fd_unix.go:141 +0x27b
net.(*netFD).dial(0xc004923e80, 0x103f6c8, 0xc0052285a0, 0x1042c50, 0x0, 0x1042c50, 0xc00a6f06c0, 0x0, 0x7fbf2aa48ed8, 0x10)
/Users/kv2/Project/go/go1.16.10/src/net/sock_posix.go:149 +0x10b
net.socket(0x103f6c8, 0xc0052285a0, 0xc39a52, 0x3, 0x2, 0x1, 0x0, 0x0, 0x1042c50, 0x0, ...)
/Users/kv2/Project/go/go1.16.10/src/net/sock_posix.go:70 +0x1c5
net.internetSocket(0x103f6c8, 0xc0052285a0, 0xc39a52, 0x3, 0x1042c50, 0x0, 0x1042c50, 0xc00a6f06c0, 0x1, 0x0, ...)
/Users/kv2/Project/go/go1.16.10/src/net/ipsock_posix.go:141 +0x145
net.(*sysDialer).doDialTCP(0xc004923b80, 0x103f6c8, 0xc0052285a0, 0x0, 0xc00a6f06c0, 0xb7b7e0, 0x18aaf98, 0x0)
/Users/kv2/Project/go/go1.16.10/src/net/tcpsock_posix.go:65 +0xc5
net.(*sysDialer).dialTCP(0xc004923b80, 0x103f6c8, 0xc0052285a0, 0x0, 0xc00a6f06c0, 0x46bcc7, 0x4055fd, 0x60)
/Users/kv2/Project/go/go1.16.10/src/net/tcpsock_posix.go:61 +0xd7
net.(*sysDialer).dialSingle(0xc004923b80, 0x103f6c8, 0xc0052285a0, 0x1038b40, 0xc00a6f06c0, 0x0, 0x0, 0x0, 0x0)
/Users/kv2/Project/go/go1.16.10/src/net/dial.go:580 +0x5e8
net.(*sysDialer).dialSerial(0xc004923b80, 0x103f6c8, 0xc0052285a0, 0xc013ccd2a0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
/Users/kv2/Project/go/go1.16.10/src/net/dial.go:548 +0x15e
net.(*Dialer).DialContext(0xc009bffc90, 0x103f6c8, 0xc0052285a0, 0xc39a52, 0x3, 0xc00ae4ce70, 0x13, 0x0, 0x0, 0x0, ...)
/Users/kv2/Project/go/go1.16.10/src/net/dial.go:425 +0x6e5
net.(*Dialer).Dial(...)
/Users/kv2/Project/go/go1.16.10/src/net/dial.go:348
net.DialTimeout(0xc39a52, 0x3, 0xc00ae4ce70, 0x13, 0xb2d05e00, 0x40dbd2, 0x7fbf2af59f40, 0xc00ae4ce70, 0x18)
/Users/kv2/Project/go/go1.16.10/src/net/dial.go:334 +0xba
kscan/lib/gonmap/simplenet.Send(0xc39a52, 0x3, 0xc00ae4ce70, 0x13, 0x0, 0x0, 0xb2d05e00, 0x0, 0x0, 0x0, ...)
/Users/kv2/Project/Gkscan/lib/gonmap/simplenet/simplenet.go:14 +0xaf
kscan/lib/gonmap.PortScan(0xc39a52, 0x3, 0xc00ae4ce70, 0x13, 0xb2d05e00, 0xc00ae4ce70)
/Users/kv2/Project/Gkscan/lib/gonmap/portscan.go:12 +0x71
kscan/run.(*kscan).PortDiscovery.func3(0xbde220, 0xc007c7d240, 0x124, 0x1)
/Users/kv2/Project/Gkscan/run/type-kscan.go:225 +0x14f
kscan/lib/pool.NewWorker.func1(0xbde220, 0xc007c7d240, 0x0, 0x0, 0x0, 0x0)
/Users/kv2/Project/Gkscan/lib/pool/pool.go:28 +0x82
kscan/lib/pool.(*Worker).Run(...)
/Users/kv2/Project/Gkscan/lib/pool/pool.go:36
kscan/lib/pool.(*Pool).work(0xc004e5df90)
/Users/kv2/Project/Gkscan/lib/pool/pool.go:92 +0x185
created by kscan/lib/pool.(*Pool).Run
/Users/kv2/Project/Gkscan/lib/pool/pool.go:110 +0x79

是越界了吗?

panic: runtime error: index out of range [10] with length 10

goroutine 1 [running]:
kscan/lib/chinese.isUtf8(0xc0052b7b40, 0xa, 0x10, 0xc0052b7b4a)
/Users/kv2/Project/Gkscan/lib/chinese/chinese.go:83 +0xed
kscan/lib/chinese.ByteToUTF8(0xc0052b7b40, 0xa, 0x10, 0xc0052b7b40, 0xa, 0x10)
/Users/kv2/Project/Gkscan/lib/chinese/chinese.go:32 +0x61
kscan/lib/chinese.ToUTF8(...)
/Users/kv2/Project/Gkscan/lib/chinese/chinese.go:63
kscan/lib/gonmap.(*AppBanner).Output(0xc003c492c0, 0xc0004cbd40, 0x1)
/Users/kv2/Project/Gkscan/lib/gonmap/type-appbanner.go:176 +0xa8
kscan/run.(*kscan).Output(0xc008248b40)
/Users/kv2/Project/Gkscan/run/type-kscan.go:215 +0x9a
kscan/run.Start(0xc000192000, 0xff, 0x100, 0xce8998, 0x0, 0x0, 0xc4e800, 0x190, 0x462, 0x0, ...)
/Users/kv2/Project/Gkscan/run/run.go:37 +0x1f0
main.main()
/Users/kv2/Project/Gkscan/kscan.go:59 +0x8b

暴力破解问题

请问指定协议爆破是这样使用吗
kscan_64.exe -t ip -Pn --hydra-mod ssh
为什么我指定协议不会去爆破ssh
图片
然后不指定协议就会去爆破ssh
kscan_64.exe -t ip -Pn --hydra
图片

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.