以下文章转载自公众号---利刃信安
漏洞扫描和渗透测试高效率工具集
Kscan是一款纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。支持协议1200+,协议指纹10000+,应用指纹2000+,暴力破解协议10余种。
下载地址:
https://github.com/lcvvvv/kscan/releases
Latest
[*]修改统计逻辑,之前极度影响效率,现在扫描速度有了质的飞跃。
[*]修改默认线程为800
[*]更新调用gonmap库版本
[*]优化运行逻辑
[*]优化json逻辑,现在在不带-oJ参数的时候,内存占用应该会减少。
[-]删除冗余代码
Linux:
https://github.com/lcvvvv/kscan/releases/download/v1.76/kscan_linux_amd64.zip
Mac:
https://github.com/lcvvvv/kscan/releases/download/v1.76/kscan_darwin_amd64.zip
Win:
https://github.com/lcvvvv/kscan/releases/download/v1.76/kscan_windows_amd64.zip
usage: kscan [-h,--help,--fofa-syntax] (-t,--target,-f,--fofa,--touch,--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提供的目标对象,进行端口扫描和指纹识别
--touch 获取指定端口返回包,可以使用此次参数获取返回包,完善指纹库,格式为:IP:PORT
-p , --port 扫描指定端口,默认会扫描TOP400,支持: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参数的值
常用命令:
./kscan_linux_amd64 -t 127.0.0.1.0/24 --hydra
--------------------------------------------------------
工具功能
新的检测模块将不断添加
● 添加burp的history导出文件转yml脚本的功能
● log4j2-rce的检测
● 为自定义脚本(gamma)添加格式化时间戳函数
● 为自定义脚本(gamma)添加进制转换函数
● 为自定义脚本(gamma)添加sha,hmacsha函数
● 为自定义脚本(gamma)添加url全字符编码函数
● XSS漏洞检测 (key: xss)
利用语义分析的方式检测XSS漏洞
● SQL 注入检测 (key: sqldet)
支持报错注入、布尔注入和时间盲注等
● 命令/代码注入检测 (key: cmd-injection)
支持 shell 命令注入、PHP 代码执行、模板注入等
● 目录枚举 (key: dirscan)
检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件
● 路径穿越检测 (key: path-traversal)
支持常见平台和编码
● XML 实体注入检测 (key: xxe)
支持有回显和反连平台检测
● poc 管理 (key: phantasm)
默认内置部分常用的 poc,用户可以根据需要自行构建 poc 并运行。文档:https://docs.xray.cool/#/guide/poc
● 文件上传检测 (key: upload)
支持常见的后端语言
● 弱口令检测 (key: brute-force)
社区版支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典
● jsonp 检测 (key: jsonp)
检测包含敏感信息可以被跨域读取的 jsonp 接口
● ssrf 检测 (key: ssrf)
ssrf 检测模块,支持常见的绕过技术和反连平台检测
● 基线检查 (key: baseline)
检测低 SSL 版本、缺失的或错误添加的 http 头等
● 任意跳转检测 (key: redirect)
支持 HTML meta 跳转、30x 跳转等
● CRLF 注入 (key: crlf-injection)
检测 HTTP 头注入,支持 query、body 等位置的参数
● Struts2 系列漏洞检测 (高级版,key: struts)
检测目标网站是否存在Struts2系列漏洞,包括s2-016、s2-032、s2-045等常见漏洞
● Thinkphp系列漏洞检测 (高级版,key: thinkphp)
检测ThinkPHP开发的网站的相关漏洞
更新内容
更新内容
本次更新的1.9.0为预览版本,可能存在一些不稳定因素,不建议用于线上生产用途
目前仅提供linux架构的更新,其他平台的版本会于近期更新。
欢迎体验新版特性~
1.9系列将作为2.0的过渡版本,逐步由当前架构切换到全新架构。
在此期间,旧版本的 config.yml 和新版本的plugin-config.xray.yaml,module-config.xray.yaml 将同时存在。
该命令实际上是xray内置的、启用了
printer
service-scan
target-parse
这三个内置的插件的命令。
其中service-scan提供 主机存活探测、服务指纹识别、web指纹识别 的功能
可以查看 plugin-config.xray.yaml,module-config.xray.yaml获得详细配置信息,执行xray x --help 获取命令行参数与试用方法。
示例:
xray x -t example.com
xray x -t http://example.com
xray x -t example.com/24
xray x -t 192.168.1.1/24
xray x -t 192.168.1.1-192.168.1.254
xray x -t 192.168.1.1-254
xray x -t 192.168.1.1-254 -p 22,80,443-445
本次更新新增动态加载golang插件的能力,详细使用手册会于近期更新,敬请期待。
尝鲜体验:
将以下内容保存为example.go,放在./plugin目录下(该目录可在module-config.xray.yaml中配置),即可加该提供 目标归属地查询 功能的载示例插件。
放置并重新执行xray x后提示:
..
config updated:
get-ip-location-info
即加载成功
示例插件:
package exampleimport (
"fmt"
"github.com/chaitin/xray/x"
"io/ioutil"
"net/http"
"strings"
)
type ExampleConfig struct {
ServiceURL string `yaml:"service_url" #:"查询归属地服务的URL"`
DisableExample bool `yaml:"disable_example" #:"禁用查询归属地服务" cli:"disable-example,de"`
}
func NewExamplePlugin(e *x.Engine, log x.Logger, reverse *x.Reverse, client *x.Client) {
config := &ExampleConfig{
ServiceURL: "http://ip.fm/?ip=%s",
}
plugin := e.Register(&x.Plugin{
Name: "get-ip-location-info",
Detail: "获取ip的归属地信息",
Config: config,
})
plugin.Events(func(target x.EventTarget) error {
if config.DisableExample {
return nil
}
req, err := http.NewRequest(http.MethodGet, fmt.Sprintf(config.ServiceURL, target.IP), nil)
if err != nil {
return err
}
req.Header.Set("User-Agent", "curl/")
resp, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
info, err := ioutil.ReadAll(resp.Body)
if err != nil {
return err
}
log.Info(strings.TrimSpace(string(info)))
return nil
})
}
下载地址:
https://ctstack-oss.oss-cn-beijing.aliyuncs.com/tools/f2dc727c-4998-4622-9357-03b4a69ffafd.zip
常用命令:
主动爬虫检测
./xray_linux_amd64 webscan --browser-crawler http://127.0.0.1:8080/soap/index?site=EN --html-output 127.0.0.1.html
------------------------------------------------
漏洞扫描和渗透测试高效率工具集-Kscan+Xray 1.9 获取方式
后台回复:xray 1.9