ZacharyZcR
|
43ddb3630d
|
feat: 完善本地插件控制机制和参数验证
- 实现本地插件严格单个指定控制,拒绝多插件分隔符
- 修复本地插件自动调用问题,避免不必要的插件实例创建
- 添加-local与-h/-u参数的互斥性检查
- 优化插件存在性检查,使用pluginExists()替代plugins.Get()
- 完善统一插件系统的端口信息管理
- 增强Web插件的协议智能检测功能
主要变更:
* 本地插件现在只能通过-local参数明确指定单个插件运行
* 插件适用性检查不再创建不必要的插件实例,提升性能
* 本地扫描与网络扫描参数完全隔离,避免配置冲突
|
2025-08-26 19:34:14 +08:00 |
|
ZacharyZcR
|
d570be1f50
|
Linus式插件系统重写第一阶段完成
- 删除460行过度工程代码,替换为273行简洁实现
- 统一三套独立注册系统为单一全局注册表
- 删除app/container.go容器依赖注入系统(107行)
- 删除app/initializer.go复杂初始化器(75行)
- 删除core/PluginAdapter.go适配器层(82行)
- 删除plugins/{services,web,local}/init.go重复代码(238行)
- 创建plugins/init.go统一插件接口(116行)
- 添加向后兼容适配层保持现有插件不变
架构简化效果:
- 代码减少: 460行 → 273行 (减少41%)
- 接口统一: 3个Plugin接口 → 1个Plugin接口
- 注册系统: 3套独立系统 → 1套全局系统
- 消除特殊情况,符合'好代码没有特殊情况'原则
编译测试通过,基本功能验证正常
|
2025-08-26 18:03:57 +08:00 |
|
ZacharyZcR
|
4cd8ed5668
|
feat: 完成本地插件架构统一迁移
迁移所有本地插件到统一Plugin接口架构:
- socks5proxy/systemdservice: 网络代理和Linux服务持久化
- winregistry/winservice/winschtask/winstartup/winwmi: Windows持久化套件
- 所有插件消除BaseLocalPlugin继承,统一使用Plugin接口
- 保持原有功能完整性,支持跨平台编译标记
- 删除过度设计的继承体系,实现直接简洁实现
|
2025-08-26 14:39:53 +08:00 |
|
ZacharyZcR
|
e082e2bb59
|
refactor: 重组插件目录结构,提升管理直观性
将所有服务插件移动到plugins/services/目录下,使目录结构更加清晰直观:
• 创建plugins/services/目录统一管理服务扫描插件
• 添加init.go提供类型别名和函数导出
• 更新main.go导入路径
• 所有20个服务插件功能验证正常
新的目录结构更便于插件管理和维护。
|
2025-08-26 00:02:13 +08:00 |
|
ZacharyZcR
|
678d750c8a
|
refactor: 重构插件架构,实现单文件插件系统
将复杂的三文件插件架构(connector/exploiter/plugin)重构为简化的单文件插件架构,
大幅减少代码重复和维护成本,提升插件开发效率。
主要改进:
• 将每个服务插件从3个文件简化为1个文件
• 删除过度设计的工厂模式、适配器模式等抽象层
• 消除plugins/services/、plugins/adapters/、plugins/base/复杂目录结构
• 实现直接的插件注册机制,提升系统简洁性
• 保持完全向后兼容,所有扫描功能和输出格式不变
重构统计:
• 删除文件:100+个复杂架构文件
• 新增文件:20个简化的单文件插件
• 代码减少:每个插件减少60-80%代码量
• 功能增强:所有插件包含完整扫描和利用功能
已重构插件: MySQL, SSH, Redis, MongoDB, PostgreSQL, MSSQL, Oracle,
Neo4j, Memcached, RabbitMQ, ActiveMQ, Cassandra, FTP, Kafka, LDAP,
Rsync, SMTP, SNMP, Telnet, VNC
验证通过: 新系统编译运行正常,所有插件功能验证通过
|
2025-08-25 23:57:00 +08:00 |
|
ZacharyZcR
|
b463984e78
|
refactor: 重构main.go入口文件并引入依赖注入架构
- 创建app包实现依赖注入容器和初始化器模式
- 重构main.go为六阶段清晰的初始化流程
- 新增结构化错误处理替代简陋的os.Exit调用
- 为HostInfo添加辅助函数增强功能但保持向后兼容
- 引入TargetInfo包装器支持上下文和元数据管理
- 优化代码组织提升可维护性和可测试性
|
2025-08-12 14:37:28 +08:00 |
|
ZacharyZcR
|
b89bf4b0da
|
refactor: 规范本地插件编译标签和注册架构
- 为所有平台特定插件添加正确的编译标签
- Linux插件添加 //go:build linux 标签
- Windows插件添加 //go:build windows 标签
- 重构本地插件注册方式
- 从main.go移至core包统一管理
- 创建平台特定的注册文件实现条件编译
- 修正参数文档中minidump平台支持描述
- 优化插件注册架构,提升代码组织性
|
2025-08-11 21:36:14 +08:00 |
|
ZacharyZcR
|
c85370a7d9
|
fix: 替换硬编码插件列表为动态注册表查询
- 在main.go中添加initLocalPlugins函数,从插件注册表动态获取本地插件列表
- 修改Common/Flag.go使用动态插件列表进行验证
- 消除硬编码插件名称,支持自动发现新插件
- 插件列表按字母顺序排序,保持一致性
- 修复循环导入问题
- 添加cleaner插件自毁脚本到.gitignore
- 创建完整的参数说明文档
|
2025-08-11 20:42:02 +08:00 |
|
ZacharyZcR
|
c0374a6250
|
feat: 添加跨平台系统痕迹清理本地插件
- 实现Windows/Linux/macOS三平台痕迹清理功能
- Windows: 清理事件日志、预取文件、注册表、最近文档、临时文件、网络缓存
- Linux: 清理Shell历史、系统日志、用户缓存、临时文件、网络缓存
- macOS: 清理Spotlight索引、LaunchServices数据库、系统日志、缓存文件
- 支持安全文件删除和程序自毁功能
- 采用保守策略避免误删重要文件
|
2025-08-11 11:51:36 +08:00 |
|
ZacharyZcR
|
25649467c1
|
feat: 添加跨平台文件下载插件
- 新增downloader本地插件,支持Windows/Linux/Darwin
- 添加-download-url和-download-path命令行参数
- 支持HTTP/HTTPS协议文件下载
- 实现文件大小限制和超时控制
- 支持自动文件名提取和路径权限检查
- 完整的错误处理和资源清理机制
- 集成多语言支持(中英文)
|
2025-08-11 10:33:16 +08:00 |
|
ZacharyZcR
|
c9d07ebd9b
|
feat: 添加跨平台键盘记录本地插件
- 实现Windows键盘Hook机制,支持低级键盘事件捕获
- 实现Linux输入设备监听,支持/dev/input/eventX设备读取
- 实现macOS Core Foundation事件监听,支持CGEventTap
- 添加键盘记录配置参数:-keylog-output和-keylog-duration
- 修复Windows消息循环阻塞问题,改用PeekMessage非阻塞模式
- 支持跨平台键盘输入捕获和文件输出
- 集成到FScan本地插件系统,支持-localplugin keylogger调用
|
2025-08-11 08:55:01 +08:00 |
|
ZacharyZcR
|
e254d6e333
|
feat: 添加Windows持久化插件套件
- 新增5个Windows持久化插件:
* winregistry: Windows注册表持久化(Run键、RunOnce键、Winlogon Shell等)
* winstartup: Windows启动文件夹持久化(快捷方式、批处理脚本等)
* winschtask: Windows计划任务持久化(schtasks、XML任务导入)
* winservice: Windows服务持久化(系统服务、svchost集成)
* winwmi: Windows WMI事件订阅持久化(事件过滤器、消费者绑定)
- 添加-win-pe参数支持PE文件路径指定
- 完整的参数验证和错误处理
- 支持.exe和.dll文件格式
- 国际化支持(中英文)
- 遵循FScan简化本地插件架构
所有插件已完成测试验证,提供多层次Windows持久化方案
|
2025-08-11 07:04:22 +08:00 |
|
ZacharyZcR
|
804274ff67
|
feat: 添加Linux持久化插件套件
- 新增ldpreload插件:通过LD_PRELOAD动态库预加载实现持久化
- 新增shellenv插件:通过修改shell配置文件实现持久化
- 新增crontask插件:通过cron计划任务实现持久化
- 新增systemdservice插件:通过systemd服务实现持久化
- 添加-persistence-file参数支持.elf/.sh文件
- 四种持久化方式覆盖多个持久化向量
- 仅支持Linux平台,包含完善的平台检查
- 集成智能权限管理和错误处理机制
|
2025-08-11 06:18:15 +08:00 |
|
ZacharyZcR
|
0eef393420
|
feat: 添加正向Shell本地插件
- 新增forwardshell本地插件,支持跨平台远程Shell访问
- 支持Windows (cmd)、Linux/macOS (/bin/sh) 平台
- 添加-fsh-port参数指定监听端口,默认4444
- 实现并发连接处理和命令超时控制
- 集成生命周期管理,支持长时间运行
- 提供exit命令优雅断开连接
|
2025-08-11 05:17:39 +08:00 |
|
ZacharyZcR
|
a86098d6b6
|
refactor: 重构本地插件架构并支持多平台
- 简化本地插件架构,移除不必要的连接器抽象
- 重构6个本地插件使用统一的简化架构
- 更新平台支持配置:Windows专用插件(avdetect/dcinfo/minidump),跨平台插件(fileinfo/reverseshell/socks5proxy)
- 修复插件注册和系统集成
- 优化代码结构和错误处理
|
2025-08-11 04:10:04 +08:00 |
|
ZacharyZcR
|
4a33b89738
|
feat: 添加AV/EDR自动检测本地插件
- 实现基于auto.json规则库的安全软件自动识别
- 支持Windows/Linux/macOS跨平台进程枚举
- 智能匹配算法:精确匹配+模糊匹配
- 风险等级评估:HIGH/MEDIUM/LOW三级分类
- 产品分类:EDR/企业级AV/云安全等类别
- 详细检测报告生成,包含渗透测试建议
- 解决中文系统编码问题,使用PowerShell优化进程获取
- 包含175个安全产品规则,支持主流AV/EDR产品检测
|
2025-08-10 10:49:36 +08:00 |
|
ZacharyZcR
|
b60a2af424
|
feat: 添加SOCKS5代理本地插件
- 实现完整的SOCKS5协议支持,包括握手和连接请求处理
- 支持IPv4/IPv6地址和域名解析
- 添加-socks5-port命令行参数用于指定代理端口
- 实现双向数据转发和并发连接处理
- 集成主程序生命周期管理,避免代理运行时程序退出
- 支持跨平台运行(Windows/Linux/macOS)
- 通过curl测试验证代理功能正常
|
2025-08-10 10:25:51 +08:00 |
|
ZacharyZcR
|
fc6dd50377
|
feat: 添加跨平台反弹Shell本地插件
新增功能:
- 添加 reverseshell 本地插件,支持 Windows/Linux/macOS 反弹Shell
- 新增 -rsh 命令行参数,用于指定反弹目标地址:端口
- 支持自动生成不同平台的反弹Shell命令
- 集成到现有本地插件架构中
代码重构:
- 清理旧插件架构文件 (Plugins/*.go)
- 统一使用新的模块化插件架构
- 修复 main.go 中的函数调用
- 更新可用插件列表和参数验证
技术细节:
- Windows: PowerShell TCP反弹Shell
- Linux/macOS: Bash TCP反弹Shell
- 支持连接测试和错误处理
- 遵循现有插件架构模式
|
2025-08-10 05:10:03 +08:00 |
|
ZacharyZcR
|
eeaa4c3b3a
|
feat: 实现本地插件架构迁移与统一管理
- 新建本地插件统一架构,包含接口定义和基础类
- 实现三个本地插件:fileinfo(文件信息收集)、dcinfo(域控信息收集)、minidump(内存转储)
- 添加-localplugin参数,支持指定单个本地插件执行
- 完善参数验证机制,本地模式必须指定插件
- 集成新插件系统到核心扫描策略
- 修复Go方法调用机制导致的插件执行问题
- 支持跨平台和权限检查功能
支持的本地插件:
- fileinfo: 敏感文件扫描
- dcinfo: Windows域控信息收集
- minidump: lsass进程内存转储
使用方式: fscan -local -localplugin <plugin_name>
|
2025-08-09 22:43:28 +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 |
|
shadow1ng
|
c4378545b9
|
合并dev。变动太大吗,又得重新优化输出,进度50%。rpc服务冲突,暂时删除
|
2025-05-12 21:59:16 +08:00 |
|
tongque
|
16e40fe7ed
|
feat: 添加API地址和加密密钥配置,重构API服务启动逻辑
|
2025-04-22 19:03:42 +08:00 |
|
ZacharyZcR
|
97e9ac7161
|
feat: 分离结果输出和日志
|
2025-01-14 23:38:58 +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
|
2e3ccee2e0
|
perf: 优化输出说明
|
2024-12-22 02:31:29 +08:00 |
|
ZacharyZcR
|
c8687827ac
|
refacor: 结构化修改
|
2024-12-19 16:15:53 +08:00 |
|
ZacharyZcR
|
b857dd4fa7
|
refacor: 结构化更改
|
2024-12-19 15:24:10 +08:00 |
|
ZacharyZcR
|
5d9bcaaadc
|
refactor: 规范化文件命名
|
2024-12-18 22:00:18 +08:00 |
|
ZacharyZcR
|
ab14b15864
|
refactor: 重构涉及文件更新
|
2024-12-18 21:56:08 +08:00 |
|
影舞者
|
1c631133ad
|
Update
|
2023-11-13 16:23:19 +08:00 |
|
影舞者
|
6bf396d09f
|
Update 1.8.3
|
2023-11-13 12:42:02 +08:00 |
|
xiaobo
|
fc416545a3
|
fix: 优化扫描输出,扫描结果结尾换行
|
2022-11-02 17:29:12 +08:00 |
|
影舞者
|
c64c64477b
|
新增-m webonly,跳过端口扫描,直接访问http。致谢@AgeloVito
|
2022-02-25 15:29:45 +08:00 |
|
shadow1ng
|
df45b07ce8
|
commit message
|
2020-12-29 17:17:10 +08:00 |
|