FSCAN介绍:
一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。
安装环境:
目前已经安装到服务器
1. 确认Kali Linux系统已安装并运行正常
确保你的Kali Linux系统已经正确安装,并且网络连接正常。
2. 安装fscan工具(如果尚未安装)
fscan是一个用Go语言编写的网络资产发现与漏洞扫描工具,首先需要安装Go语言环境,然后下载并编译fscan。
安装Go语言环境
bashCopy Code
# 下载Go语言环境 wget https://dl.google.com/go/go1.20.1.linux-amd64.tar.gz # 解压到/usr/local目录 tar -C /usr/local/ -zxvf go1.20.1.linux-amd64.tar.gz # 更改系统的配置文件/etc/profile,在末尾插入以下内容 echo 'export GOROOT=/usr/local/go' >> /etc/profile echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/profile # 使配置文件生效 source /etc/profile # 查看版本号,确认安装成功 go version
如果go version
命令能够正确显示Go语言的版本号,说明Go语言环境已经安装成功。
下载并编译fscan
bashCopy Code
# 使用git克隆fscan仓库 git clone https://github.com/shadow1ng/fscan.git # 进入fscan目录 cd fscan # 编译fscan go build -ldflags="-s -w" -trimpath
编译成功后,会在当前目录下生成一个fscan
(或fscan.exe
,取决于你的操作系统)可执行文件。
3. 打开终端,并导航到fscan的安装目录
在终端中,使用cd
命令导航到fscan的安装目录(即你编译fscan时所在的目录)。
bashCopy Code
cd /path/to/fscan
将/path/to/fscan
替换为你实际的fscan安装路径。
4. 运行fscan,并根据需要调整扫描参数
运行fscan时,可以使用-h
参数指定要扫描的IP地址范围,以及其他可选参数来调整扫描行为。
bashCopy Code
# 扫描192.168.1.0/24网段 ./fscan -h 192.168.1.0/24 # 扫描整个B段(192.168.1.0/16) ./fscan -h 192.168.1.0/16 # 使用特定模块进行扫描(例如,只使用port模块) ./fscan -h 192.168.1.0/24 -m port
5. 分析fscan的输出结果
fscan扫描完成后,会在终端中输出扫描结果,包括存活主机、开放端口、服务版本以及可能存在的漏洞等信息。你可以根据这些信息进一步分析网络环境和潜在的安全风险。
通过以上步骤,你就可以在Kali Linux中使用fscan进行网络扫描了。如果你在使用过程中遇到任何问题,可以参考fscan的官方文档或社区支持来获取更多帮助。
快速使用教程:
1.进入服务器的/root/fscan/fscan-main目录下:
2.执行./fscan -h 主机IP 命令(该命令是对目标网络的服务器进行全模块扫描),如图正在对服务器网络下进行全模块扫描:
3.如果扫描的目标服务器上存在一些弱口令的漏洞,则会被暴露出来,如图mysql的密码是123456,被爆破成功:
4.该工具还会扫描一些web漏洞,如图展示的漏洞的poc名称,可以根据这个poc名称去网上找到对应的漏洞详情,修复该漏洞。
使用自定义的用户名或者密码进行爆破:
当我们不指定用户名密码的时候,FSCAN只会用默认的字典库进行爆破。默认字典库是官方整理的一些常见的弱口令。
我们也可以使用自定义的用户名或者密码文件去进行爆破。
案例:
我们当前MySQL的密码是Unicloud.1,使用命令./fscan -h 主机IP -m mysql 对服务器上的mysql进行爆破,
由于我们没有指定自定义密码,默认的字典库是无法爆破成功的,如图:
此时我们可以提前准备好密码文件
执行命令./fscan -h 主机IP -m mysql -pwdf /root/test.txt,-pwdf代表使用自定义的密码文件进行爆破, /root/test.txt代表了密码文件的路径:
如图我们可以发现mysql的密码被暴露出来了,因为我们的密码文件中含有正确的密码。
参数详细说明:
-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)
-pocpath string
指定poc路径
-usera string
在原有用户字典基础上,新增新用户
-pwda string
在原有密码字典基础上,增加新密码
-socks5
指定socks5代理 (as: -socks5 socks5://127.0.0.1:1080)
-sc
指定ms17010利用模块shellcode,内置添加用户等功能 (as: -sc add)
在Kali Linux中使用fscan进行网络扫描,可以按照以下步骤进行: