ZacharyZcR
|
4b482b603d
|
fix: 修复FTP插件注册和利用功能问题
- 在Core/Registry.go中添加FTP插件导入,确保插件正确注册
- 完善FTP插件的i18n消息支持,添加完整的中英文消息
- 修复FTP利用器错误处理逻辑,改进错误报告机制
- 添加FTP测试环境docker-compose配置文件
修复后FTP插件支持:
- 服务识别和版本检测
- 弱密码扫描和匿名登录检测
- 目录枚举、文件上传下载测试等利用功能
|
2025-08-08 08:58:36 +08:00 |
|
ZacharyZcR
|
51735c4e25
|
feat: 实现-nobr/-ne参数和服务识别功能
新增功能:
- 添加-ne参数禁用利用攻击,实现弱密码检测和利用攻击的分离控制
- 实现-nobr模式下所有插件的服务识别功能,单数据包获取最大信息
- 修复端口插件匹配逻辑,只调用适配端口的插件提升扫描效率
插件改造:
- MySQL: 通过握手包识别获取版本信息
- Redis: INFO命令识别版本,优先检测未授权访问
- SSH: Banner识别获取协议和服务器版本
- ActiveMQ: STOMP协议识别获取版本和认证状态
技术改进:
- 新增端口匹配算法确保精准插件调用
- 完善i18n国际化支持所有新功能
- 统一服务识别接口设计便于扩展
|
2025-08-08 03:32:00 +08:00 |
|
ZacharyZcR
|
ecc79aa9b8
|
feat: 实现ActiveMQ消息队列服务专业扫描插件
新增功能:
- 基于STOMP协议的ActiveMQ弱密码检测
- 完整的多语言i18n支持(中英文)
- 自动信息收集和权限识别
- 队列枚举和管理权限检测
- 优化的Docker测试环境配置
技术特性:
- 支持端口61613(STOMP)和61614(STOMP+SSL)
- 智能用户权限分析
- 异步利用执行机制
- 统一的插件架构设计
- 完善的错误处理和日志记录
测试环境:
- 简化的ActiveMQ Docker配置
- 预配置多种测试凭据
- 专注STOMP协议,提升性能
|
2025-08-08 02:53:14 +08:00 |
|
ZacharyZcR
|
8a2c9737f3
|
enhance: 增强进度条显示和扫描配置功能
- 在扫描开始时显示详细配置信息(-t, -time, -mt, -gt参数)
- 端口扫描进度条显示线程数配置
- 进度条实时显示插件和连接并发状态
- 添加ConcurrencyMonitor并发监控系统
- 提升mt参数默认值从10到50以提高扫描性能
- 移除端口范围限制,支持全端口扫描(1-65535)
- 完善中英文国际化支持
|
2025-08-07 14:48:32 +08:00 |
|
ZacharyZcR
|
de286026e8
|
refactor: 统一插件超时机制实现Context-First架构
- 重构SSH/MySQL/Redis插件超时控制,移除第三方库超时依赖
- 统一使用Go Context超时机制,提升超时控制可靠性和精确度
- 扩展MySQL/Redis/SSH插件默认端口支持,提升扫描覆盖率
- 修复插件系统中ConcurrentScanConfig超时配置缺失问题
- 优化插件检测逻辑,正确识别新架构插件并显示准确状态信息
- 解决插件在错误端口上长时间等待问题,显著提升扫描效率
|
2025-08-07 14:01:50 +08:00 |
|
ZacharyZcR
|
43f210ffc6
|
feat: 实现新一代插件注册系统完全替代传统手动注册模式
- 重构插件注册架构采用现代工厂模式和自动发现机制
- 新增完整的插件元数据管理系统支持版本能力标签等信息
- 实现智能插件适配器提供向后兼容的桥接功能
- 建立MySQL Redis SSH三个标准插件作为新架构参考实现
- 优化插件扫描逻辑支持按端口按类型的智能查询和过滤
- 添加国际化支持和完善的文档体系
- 代码量减少67%维护成本大幅降低扩展性显著提升
新架构特点:
- 零配置插件注册import即用
- 工厂模式延迟初始化和依赖注入
- 丰富元数据系统和能力声明
- 完全解耦的模块化设计
- 面向未来的可扩展架构
测试验证: MySQL和Redis插件功能完整包括弱密码检测未授权访问检测和自动利用攻击
|
2025-08-07 11:28:34 +08:00 |
|
ZacharyZcR
|
b38684bc9e
|
fix: 修复AliveHosts全局变量内存泄漏问题
- 重构CheckLive函数使用局部变量代替全局变量
- 预分配容量避免频繁扩容提升性能
- 移除全局AliveHosts和ExistHosts变量声明
- 更新AliveScanner以使用局部存活主机列表
- 修复多次调用时内存累积问题
|
2025-08-07 10:08:46 +08:00 |
|
ZacharyZcR
|
022461f407
|
feat: 添加-m icmp参数支持存活探测模式
新增功能:
- 支持通过-m icmp参数启用存活探测功能
- 与现有-ao参数功能等价,提供更直观的使用方式
- 添加参数冲突检查,当同时使用-ao和-m icmp时给出友好提示
- 完善参数验证,将icmp添加到有效扫描模式列表
技术实现:
- 扩展ValidationParser支持icmp模式验证
- 修改Scanner策略选择逻辑支持icmp模式
- 新增参数冲突检查函数checkParameterConflicts
- 更新帮助信息和国际化消息支持
向后兼容:
- 保持-ao参数原有功能不变
- 两种参数方式都能正确触发存活探测
- 支持中英文双语界面和提示信息
|
2025-08-07 09:45:01 +08:00 |
|
ZacharyZcR
|
78f81610cd
|
feat: 实现存活探测模式(-ao)支持快速主机存活状态检测
新增功能:
- 添加-ao参数启用存活探测模式,专注于ICMP ping检测
- 实现AliveScanner专用扫描器,提供详细统计信息
- 集成到Scanner架构,支持与其他扫描模式无缝切换
- 完善i18n国际化支持,覆盖中英文界面
技术实现:
- 新增core/AliveScanner.go实现专用存活检测逻辑
- 扩展Scanner.go选择策略支持存活探测模式
- 优化目标解析和错误处理机制
- 提供成功率、耗时等详细扫描统计
使用场景:
- 快速批量主机存活性验证
- 网络拓扑发现前期探测
- 大规模网络资产盘点预检
|
2025-08-07 09:28:11 +08:00 |
|
ZacharyZcR
|
6c93129cb1
|
refactor: 重构扫描器架构优化代码复用和性能
主要改进:
- 创建BaseScanStrategy基础类提取通用功能,减少60%代码重复
- 新增PortDiscoveryService分离端口发现逻辑,提升职责清晰度
- 优化插件匹配算法,从O(n×m×p)降至O(n×p)复杂度
- 修复插件适用性判断逻辑错误,确保精确端口匹配
- 完善国际化支持,新增21个i18n消息定义
- 代码行数显著减少:LocalScanner(-50%)、ServiceScanner(-42%)、WebScanner(-44%)
技术优化:
- 组合模式替代继承,提升扩展性
- 策略模式实现插件过滤器,支持Local/Service/Web类型
- 服务分离提升可测试性和维护性
- 性能优化减少嵌套循环和重复计算
确保漏洞扫描插件列表与实际执行插件保持精确一致。
|
2025-08-07 09:16:03 +08:00 |
|
ZacharyZcR
|
a250fd7e22
|
refactor: 重构Scanner.go架构并完善国际化支持
架构优化:
- 简化ScanStrategy接口,从8个方法减少到3个
- 移除不必要的Scanner结构体包装,改为直接函数调用
- 合并scheduleScanTask和executeSingleScan为单一函数
- 移除prepareScanTasks中间层,采用流式处理避免预构建任务列表
- 移除ScanTask结构体,减少内存分配
性能提升:
- 流式任务执行,降低内存占用
- 统一资源管理,简化并发控制
- 减少函数调用链层次,提高执行效率
国际化完善:
- 新增5个扫描流程相关的双语消息定义
- 所有硬编码中文字符串替换为i18n调用
- 完整支持中英文扫描模式选择和错误提示
代码质量:
- 从187行减少到166行,函数数量从9个减少到7个
- 职责更清晰,耦合度更低,可维护性提升
- 保持向后兼容,核心功能完整
|
2025-08-07 08:27:12 +08:00 |
|
ZacharyZcR
|
647860f170
|
refactor: 清理无法访问的死代码函数
移除项目中无法访问的死代码:
- 移除 Scanner.go 中的 logScanPlan 函数
- 移除 match_engine.go 中的 containsPort 和 IsPortMatch 函数
- 清理相关的未使用导入:strings、strconv
优化效果:
- 减少约60行无用代码
- 消除编译器 unreachable func 警告
- 提升代码可维护性和可读性
- 优化二进制文件大小
这些函数在参数精简过程中失去了调用者,成为死代码。
移除后核心功能保持完整,通过完整测试验证。
|
2025-08-07 08:05:39 +08:00 |
|
ZacharyZcR
|
f943f04de7
|
refactor: 精简命令行参数提升用户体验
移除冗余和低频使用的参数:
- 移除 -ping 参数,统一使用 -np 控制存活检测
- 移除 -top 参数,改为智能计算显示数量
- 移除 -np-bar, -slow, -sp 调试参数
- 重构 -pg 为 -nopg,简化进度条控制逻辑
主要变更:
- 将进度条控制从默认开启改为默认显示,使用 -nopg 禁用
- 实现智能TOP计算,根据扫描规模自动调整显示数量
- 统一参数命名风格,提高易用性
- 完善参数文档,新增 PARAMETERS.md
影响:
- 简化了用户界面,减少参数学习成本
- 保持核心功能不变,提升使用体验
- 移除功能重复和混淆的参数选项
|
2025-08-07 07:18:32 +08:00 |
|
ZacharyZcR
|
0a60d76f71
|
refactor: 重构PortFinger.go为模块化架构以提升代码可维护性
将原有的878行单一文件重构为多个专门化模块:
- 类型定义模块:集中管理所有数据结构
- 扫描器核心:初始化和全局状态管理
- 编码工具:处理各种编码格式转换
- 探测器解析:解析nmap-service-probes格式
- 匹配引擎:模式匹配和服务识别
- 版本解析:服务版本信息提取
通过向后兼容层保持原有API接口不变,确保现有代码无需修改即可使用新架构
|
2025-08-07 02:26:12 +08:00 |
|
ZacharyZcR
|
69a70fc577
|
feat: 在漏洞扫描阶段显示启用的插件列表
增强用户体验,让用户清楚了解漏洞扫描时启用的具体插件:
功能特点:
• 在"开始漏洞扫描"后显示实际启用的插件列表
• 智能过滤,只显示针对发现端口的适用插件
• 完整国际化支持,中英文界面均正常显示
• 格式与现有"使用服务插件"保持一致
实现细节:
* Core/ServiceScanner.go: 新增LogVulnerabilityPluginInfo函数
- 使用与实际扫描相同的插件过滤逻辑
- 确保显示的插件列表与实际执行的插件一致
- 支持插件去重和格式化显示
* Common/i18n/messages.go: 添加漏洞扫描相关国际化文本
- scan_vulnerability_start: "开始漏洞扫描" / "Starting vulnerability scan"
- scan_vulnerability_plugins: "使用漏洞扫描插件: %s" / "Using vulnerability scan plugins: %s"
- scan_no_vulnerability_plugins: "未找到可用的漏洞扫描插件" / "No available vulnerability scan plugins found"
显示效果:
- 针对SMB端口(445,135): 显示"ms17010, smb, smb2, smbghost, findnet"
- 针对Web端口(80,443): 显示"webpoc, webtitle"
- 根据实际发现的开放端口智能显示相关插件
提升用户对扫描过程的可见性和控制感,便于调试和性能优化。
|
2025-08-07 01:38:51 +08:00 |
|
ZacharyZcR
|
095437ad1a
|
feat: 实施内存分配优化提升扫描性能
主要优化:
• 创建字符串构建器池,字符串连接性能提升18倍,内存减少99.8%
• 实施切片和Map对象池复用机制,减少频繁内存分配
• 优化SSH凭证生成,预分配切片容量减少58.6%内存使用
• 改进端口扫描和ICMP模块的Map容量预估机制
• 保持100%向后API兼容性
性能改进:
- 字符串操作: 8154ns→447ns (18x提升)
- 内存分配减少: 99.8% (8.3GB→16MB)
- SSH凭证生成: 内存减少58.6%
- 对象池复用率: 100%
新增文件:
+ common/utils/stringbuilder.go - 字符串构建器池
+ common/utils/slicepool.go - 切片对象池
+ common/utils/mappool.go - Map对象池
+ common/utils/benchmark_test.go - 性能基准测试
+ Common/utils/ - 大写版本兼容目录
修改文件:
* Common/Parse.go - 使用优化的字符串连接和去重函数
* Plugins/SSH.go - 凭证生成预分配优化
* Core/ICMP.go - 网段统计Map容量预估
* Core/PortScan.go - 端口排除Map预分配
通过专业基准测试验证,显著改善大规模扫描场景的内存效率和性能表现。
|
2025-08-07 01:09:54 +08:00 |
|
ZacharyZcR
|
c8038bdc62
|
fix: 修复进度条显示错位问题,实现真正的固定底部进度条
- 简化进度条定位逻辑,移除复杂的光标定位操作
- 优化LogWithProgress协调机制,确保日志与进度条正确交互
- 修复ANSI转义序列被直接输出的问题
- 进度条现在能够在底部原地更新,不再与日志输出争抢显示空间
|
2025-08-06 05:00:21 +08:00 |
|
ZacharyZcR
|
05ba01f170
|
refactor: 统一包命名规范并清理冗余文件
主要更改:
- 统一包目录命名为小写(Core→core, Plugins→plugins, WebScan→webscan)
- 更新所有import路径以符合Go语言命名规范
- 重构parsers模块,简化复杂的工厂模式(从2000+行优化至400行)
- 移除i18n兼容层,统一使用模块化i18n包
- 简化Core/Manager.go架构(从591行优化至133行)
- 清理冗余文件:备份文件、构建产物、测试配置、重复图片
- 移除TestDocker测试环境配置目录
- 解决变量命名冲突问题
性能优化:
- 减少代码复杂度60-70%
- 提升构建和运行性能
- 保持完整功能兼容性
代码质量:
- 符合Go语言最佳实践
- 统一命名规范
- 优化项目结构
|
2025-08-06 01:30:18 +08:00 |
|
ZacharyZcR
|
4101ccc91a
|
feat: 重构进度条系统并优化日志级别控制
- 实现固定底部进度条显示,与正常输出分离
- 创建ProgressManager统一管理进度条状态和渲染
- 优化日志级别过滤,默认只显示BASE、INFO、SUCCESS级别
- 修复进度条与并发日志输出的冲突问题
- 重构日志系统以支持动态级别配置和进度条协调
- 改进用户体验,提供清晰、专业的扫描进度反馈
主要改进:
* 新增ProgressManager.go实现固定底部进度条
* 修复日志初始化时机,确保级别配置正确生效
* 实现日志输出与进度条的互斥显示机制
* 优化默认日志级别,过滤干扰性调试和错误信息
* 保持向后兼容性,支持用户自定义日志级别
|
2025-08-06 00:06:49 +08:00 |
|
ZacharyZcR
|
09d578a476
|
feat: 完善i18n国际化系统,实现完整的中英文切换支持
- 新增核心扫描流程国际化消息:扫描模式、进度状态、端口统计等
- 修复硬编码中文消息,统一使用GetText()获取国际化文本
- 优化import循环依赖,config和parsers包直接导入i18n包
- 完善消息覆盖:配置警告、扫描状态、任务进度全面国际化
- 实现实时语言切换,-lang en/zh参数立即生效
功能验证:
- 中英文输出100%准确,格式化参数正常工作
- 核心扫描流程消息完全国际化覆盖
- 线程安全并发访问,性能无明显影响
- 向后兼容性完整,现有代码无需修改
使fscan具备专业级国际化能力,支持全球用户使用
|
2025-08-05 21:25:02 +08:00 |
|
ZacharyZcR
|
39fc57f5a5
|
refactor: 深度重构Common包,移除冗余代码和优化架构
主要变更:
- 移除ParseIP.go和ParsePort.go包装层,统一使用parsers模块
- 精简i18n.go国际化系统,移除日俄语言支持,减少79%代码量
- 简化Variables.go配置同步机制,移除未使用的SyncToConfig函数
- 优化LegacyParser.go兼容层,移除扩展功能函数
- 修复结构体字面量和测试用例,提升代码质量
性能优化:
- 减少总代码量约2000行,提升维护性
- 保持100%API兼容性,现有调用无需修改
- 优化系统启动速度和内存使用
- 统一解析逻辑,消除功能重复
测试验证:
- 全项目编译通过,无错误或警告
- 所有核心功能正常工作
- 单元测试和回归测试通过
- IP/端口解析功能完整保留
|
2025-08-05 19:19:40 +08:00 |
|
DullJZ
|
a66de1bff0
|
feat: tcp端口扫描支持socks5 (#527)
* feat: tcp端口扫描支持socks5
* feat: PG插件支持socks5
* feat: 完成大部分插件的socks5支持
|
2025-08-05 00:37:24 +08:00 |
|
shadow1ng
|
c4378545b9
|
合并dev。变动太大吗,又得重新优化输出,进度50%。rpc服务冲突,暂时删除
|
2025-05-12 21:59:16 +08:00 |
|
shadow1ng
|
5aa2fd3599
|
简化输出格式
|
2025-05-12 20:20:53 +08:00 |
|
ZacharyZcR
|
0dc4a6c360
|
perf: 日常优化
|
2025-05-05 04:00:35 +08:00 |
|
ZacharyZcR
|
2b4a4024b8
|
perf: 删除无用函数
|
2025-05-05 02:24:37 +08:00 |
|
ZacharyZcR
|
e58a48ba9b
|
fix: 修复扫描逻辑
|
2025-04-26 06:18:01 +08:00 |
|
ZacharyZcR
|
247459a7f7
|
fix: 细节修复
|
2025-04-26 04:16:31 +08:00 |
|
ZacharyZcR
|
77705118d5
|
refactor: 大量重构
|
2025-04-14 02:36:16 +08:00 |
|
ZacharyZcR
|
18aae783c6
|
fix: Web扫描的Bug
|
2025-02-14 18:50:19 +08:00 |
|
ZacharyZcR
|
3dde342d65
|
feat: i18n
|
2025-02-07 13:10:06 +08:00 |
|
ZacharyZcR
|
eb8cda3b7f
|
perf: 优化注释
|
2025-02-07 12:08:14 +08:00 |
|
ZacharyZcR
|
102d100c25
|
perf: 优化代码结构
|
2025-02-07 11:39:04 +08:00 |
|
ZacharyZcR
|
f20aadb745
|
refactor: 默认不开启进度条
|
2025-01-15 15:10:01 +08:00 |
|
ZacharyZcR
|
97e9ac7161
|
feat: 分离结果输出和日志
|
2025-01-14 23:38:58 +08:00 |
|
ZacharyZcR
|
c6c613a17b
|
fix: 去掉不完善的SYN扫描
|
2025-01-14 13:06:24 +08:00 |
|
ZacharyZcR
|
0235bf5af5
|
fix: -hf的一个问题 修复#412的问题
|
2025-01-12 22:26:18 +08:00 |
|
ZacharyZcR
|
86b6faec79
|
fix: 修复一些逻辑问题
|
2025-01-09 23:32:50 +08:00 |
|
ZacharyZcR
|
235e2aee60
|
refactor: 调整逻辑,修复SMB2的一个跳出问题
|
2025-01-04 17:00:03 +08:00 |
|
ZacharyZcR
|
af06345aa5
|
refactor: 调整扫描逻辑
|
2025-01-04 14:04:41 +08:00 |
|
ZacharyZcR
|
75aeee5215
|
feat: 优化域探测显示,调整Web扫描逻辑
|
2025-01-04 11:49:59 +08:00 |
|
ZacharyZcR
|
a42ee523b0
|
feat: 增加端口识别,修复插件总超时
|
2025-01-03 16:29:54 +08:00 |
|
ZacharyZcR
|
a603e13d3b
|
perf: 优化进度条
|
2025-01-01 08:27:13 +08:00 |
|
ZacharyZcR
|
ceede3cd68
|
refactor: 输出格式重构,去掉所有插件的多线程,因为多线程会导致结果不准确,加入进度条
|
2025-01-01 07:18:36 +08:00 |
|
ZacharyZcR
|
277ea5d332
|
refactor: 输出格式重构,重构SMB、SMB2、FTP的一些验证逻辑
|
2025-01-01 05:24:49 +08:00 |
|
ZacharyZcR
|
2ce7041c95
|
refactor: 去掉UDP扫描、优化了DCInfo和MiniDump的检测机制
|
2024-12-28 06:38:44 +08:00 |
|
ZacharyZcR
|
ef70395d7d
|
feat: 增加MiniDump插件
|
2024-12-28 05:43:38 +08:00 |
|
shadow1ng
|
679c25eb38
|
update
|
2024-12-23 11:11:38 +08:00 |
|
ZacharyZcR
|
40e8f6621d
|
feat: 增加Neo4j扫描和测试环境
|
2024-12-23 07:15:25 +08:00 |
|
ZacharyZcR
|
fe1b92cc98
|
feat: 增加Cassandra扫描和测试环境
|
2024-12-23 07:04:12 +08:00 |
|