第一次接触Fscan是在一次内网渗透项目中,当时需要快速梳理整个C段资产,手动一个个扫描效率太低。同事扔给我这个工具,用-h参数看完帮助文档后,只用了两行命令就完成了原本需要半天的工作量。这款由国内开发者shadow1ng开源的内网综合扫描工具,最大的特点就是把十几种常用功能打包成一键式自动化操作。
Fscan的独特之处在于它用Go语言实现了轻量化编译,单个二进制文件就能完成从主机发现到漏洞利用的全流程。相比Nmap需要组合各种脚本,它内置了这些实用功能:
实测在百兆网络环境下,扫描C段(254个IP)完整端口+基础漏洞检测仅需3-5分钟。我特别喜欢它的自适应线程控制,默认600线程但会根据网络状况自动调节,既不会压垮交换机,又能跑满带宽。去年在某金融企业内网测试时,传统工具频繁被安全设备拦截,而Fscan通过-silent模式成功绕过了流量监测。
在CentOS上安装最新版(当前为1.8.3)只需三步:
bash复制wget https://github.com/shadow1ng/fscan/releases/download/1.8.3/fscan
chmod +x fscan
mv fscan /usr/local/bin/
Windows用户可直接下载exe版本,但要注意关闭Defender实时防护(会误报)。我习惯在虚拟机里运行,配合-proxy参数设置BurpSuite代理方便调试。遇到过最坑的问题是Linux下执行权限不足,记得用sudo或者直接chmod 777。
新手建议先运行./fscan -h查看完整参数列表。这里说几个实战中高频使用的组合:
基础扫描组合:
bash复制# 扫描C段存活主机+常见端口
./fscan -h 192.168.1.1/24 -ping -nopoc
# 深度扫描Web服务(含漏洞检测)
./fscan -h 10.10.10.1-100 -p 80,443,8080 -m webscan
特殊场景配置:
bash复制# 绕过防火墙检测(降低发包频率)
./fscan -h 172.16.1.1 -t 100 -time 5 -silent
# 指定密码字典爆破SSH
./fscan -h 192.168.1.50 -m ssh -userf users.txt -pwdf pass.txt
遇到过某次项目需要扫描上万个IP,用-hf参数配合ip.txt文件批量处理,比单次命令效率提升80%。记得用-nocolor参数重定向到文件时避免乱码。
去年在某制造业客户内网,我用这个流程快速梳理了资产:
-ping参数快速筛选存活主机-p 1-65535全端口扫描-m all自动识别服务类型-full深度检测发现个有趣的现象:Fscan的智能端口预测功能会自动跳过已知关闭的端口。在扫描192.168.5.0/24时,原本预计2小时的扫描,实际37分钟就完成了。输出建议用-json格式导入到ElasticSearch做可视化分析。
针对MS17-010漏洞的检测命令:
bash复制./fscan -h 10.10.10.1-254 -m smb -sc add
当输出显示[+] MS17-010时,可以立即用-rs参数尝试反弹shell。有次在政府单位检测到Redis未授权访问,直接用-rf id_rsa.pub写入公钥拿到了服务器权限。
Web漏洞检测要注意cookie设置:
bash复制./fscan -u http://test.com -pocname shiro -cookie "rememberMe=1"
最近新增的-pocpath参数支持自定义POC,我测试过用这个功能检测Spring Cloud Gateway漏洞。
在千兆网络环境下,这些参数组合效果最佳:
bash复制./fscan -t 1200 -time 2 -num 50
但要注意:
-t)超过1500可能导致误报-time)低于1秒会漏扫-np跳过Ping检测问题1:扫描结果中大量主机显示"no response"
-ping -wt 10参数,并检查防火墙规则问题2:Web漏洞扫描误报率高
-debug参数查看详细请求,调整-pocname精确匹配问题3:爆破时卡住不动
-nobr跳过爆破阶段测试有次遇到工具突然崩溃,发现是Windows中文路径导致。建议所有文件路径都用英文命名,输出目录也不要包含空格。