从0到1搭建fscan扫描环境:编译、配置与优化全指南

从0到1搭建fscan扫描环境:编译、配置与优化全指南

【免费下载链接】fscan 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。 【免费下载链接】fscan 项目地址: https://gitcode.com/GitHub_Trending/fs/fscan

你是否还在为内网扫描工具配置繁琐而烦恼?是否遇到过扫描效率低下、漏扫误报等问题?本文将带你从零开始,完成fscan扫描环境的搭建、配置与优化,让你轻松掌握这款强大的内网综合扫描工具。读完本文,你将能够:获取fscan源码并成功编译、根据需求配置扫描参数、优化扫描效率、解决常见问题。

一、获取fscan源码

fscan是一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。要搭建fscan扫描环境,首先需要获取其源码。

你可以通过以下命令clone仓库:

git clone https://gitcode.com/GitHub_Trending/fs/fscan

二、编译fscan

获取源码后,接下来进行编译。fscan使用Go语言开发,编译过程相对简单。

2.1 基础编译

在项目根目录下执行以下命令进行基础编译:

go build -ldflags="-s -w" -trimpath main.go

这条命令会在当前目录下生成名为main的可执行文件。其中,-ldflags="-s -w"用于去除调试信息,减小可执行文件体积;-trimpath用于去除编译路径信息。

2.2 UPX压缩(可选)

如果需要进一步减小可执行文件的体积,可以使用UPX工具进行压缩。执行以下命令:

upx -9 fscan

注意:如果你的系统中没有安装UPX,需要先进行安装。例如,在Arch Linux中可以使用yay -S upxparu -S upx命令安装。

2.3 系统安装(Arch Linux)

对于Arch Linux用户,还可以通过AUR包管理器直接安装fscan:

# 使用yay安装
yay -S fscan-git

# 或使用paru安装
paru -S fscan-git

三、配置fscan

fscan的配置主要通过命令行参数进行,同时也可以通过修改配置文件来定制扫描行为。

3.1 命令行参数

fscan提供了丰富的命令行参数,用于控制扫描范围、扫描类型、输出方式等。你可以通过./fscan -h命令查看所有可用参数。

以下是一些常用的命令行参数示例:

  • 全功能扫描:./fscan -h 192.168.x.x,该命令会对指定IP进行全功能扫描,包括MS17010漏洞检测、读取网卡信息等。
  • Redis写公钥:./fscan -h 192.168.x.x -rf id_rsa.pub,通过该命令可以向Redis服务器写入公钥。
  • 执行SSH命令:./fscan -h 192.168.x.x -c "whoami;id",可以在目标SSH服务器上执行指定命令。
  • 支持xray的poc扫描:./fscan -h 192.168.x.x -p80 -proxy http://127.0.0.1:8080,通过代理使用xray的poc进行扫描。

3.2 配置文件

fscan的配置文件定义了一些默认的扫描行为和参数。其中,Common/Config.go文件中定义了用户字典、默认扫描方式和端口映射等信息。

例如,用户字典Userdict定义了各种服务的默认用户名:

var Userdict = map[string][]string{
    "ftp":        {"ftp", "admin", "www", "web", "root", "db", "wwwroot", "data"},
    "mysql":      {"root", "mysql"},
    "mssql":      {"sa", "sql"},
    // ... 其他服务的用户名
}

端口映射PortMap定义了不同端口对应的扫描方式:

var PortMap = map[int][]string{
    21:    {"GenericLines", "Help"},
    22:    {"ssh"},
    80:    {"GetRequest", "HTTPOptions", "RTSPRequest", "X11Probe", "FourOhFourRequest"},
    // ... 其他端口的扫描方式
}

你可以根据实际需求修改这些配置,但建议在修改前备份原始文件。

四、运行fscan

完成编译和配置后,就可以运行fscan进行扫描了。以下是一些常见的扫描场景及对应的命令和结果展示。

4.1 全功能扫描

执行命令:

./fscan -h 192.168.x.x

该命令会对指定IP进行全功能扫描,包括主机存活探测、端口扫描、漏洞检测等。扫描结果如图所示:

全功能扫描结果

4.2 Redis写公钥

执行命令:

./fscan -h 192.168.x.x -rf id_rsa.pub

通过该命令可以向Redis服务器写入公钥,方便后续通过SSH登录目标服务器。操作结果如图:

Redis写公钥结果

4.3 执行SSH命令

执行命令:

./fscan -h 192.168.x.x -c "whoami;id"

在目标SSH服务器上执行whoamiid命令,获取当前用户信息。执行结果如图:

执行SSH命令结果

4.4 支持xray的poc扫描

执行命令:

./fscan -h 192.168.x.x -p80 -proxy http://127.0.0.1:8080

通过代理使用xray的poc进行扫描,可检测Web应用的漏洞。扫描结果如图:

xray poc扫描结果

4.5 NetBIOS探测与域控识别

执行命令:

./fscan -h 192.168.x.x -p 139

该命令用于进行NetBIOS探测和域控制器识别,扫描结果中[+]DC代表域控。结果如图:

NetBIOS探测结果

五、优化fscan扫描效率

为了提高fscan的扫描效率,可以从以下几个方面进行优化。

5.1 合理设置扫描线程

fscan默认的扫描线程可能无法充分利用系统资源,你可以通过-t参数调整线程数量。例如,设置线程数为100:

./fscan -h 192.168.x.x/24 -t 100

5.2 选择合适的扫描端口范围

如果只需要扫描特定的端口,可以通过-p参数指定端口范围,减少不必要的扫描。例如,只扫描80、443端口:

./fscan -h 192.168.x.x -p 80,443

5.3 使用ICMP快速探测主机存活

fscan支持基于ICMP的主机存活探测,可以快速识别网络中的活跃主机。执行命令:

go run main.go -h 192.0.0.0/8 -m icmp

该命令会探测每个C段的网关和数个随机IP,并统计top 10 B、C段存活数量。结果如图:

ICMP主机存活探测结果

六、常见问题解决

在使用fscan的过程中,可能会遇到一些常见问题,以下是一些解决方法。

6.1 编译失败

如果编译过程中提示缺少依赖包,可以通过go mod tidy命令安装所需依赖。

6.2 扫描结果为空

如果扫描结果为空,可能是目标网络不可达或目标主机未开启相应端口。可以先使用ping命令测试网络连通性,再使用nmap等工具进行端口探测。

6.3 漏扫或误报

fscan的漏洞检测规则可能存在一定的漏扫或误报情况。你可以通过更新漏洞库或调整扫描参数来提高检测准确性。fscan的Web漏洞检测规则位于WebScan/pocs/目录下,你可以根据需要添加或修改POC文件。

七、总结

本文详细介绍了从获取源码、编译、配置到运行和优化fscan扫描环境的全过程。通过本文的指导,你应该能够顺利搭建fscan扫描环境,并根据实际需求进行扫描和优化。fscan作为一款功能强大的内网综合扫描工具,能够帮助你快速发现网络中的安全隐患,但在使用过程中,请确保遵守相关法律法规,仅对合法授权的目标进行扫描。

官方文档:README.md

【免费下载链接】fscan 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。 【免费下载链接】fscan 项目地址: https://gitcode.com/GitHub_Trending/fs/fscan

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值