From 188f949f093d63cb0f10d5e49a3d0d9725adeb7a Mon Sep 17 00:00:00 2001 From: ZacharyZcR Date: Sat, 9 Aug 2025 15:05:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90Rsync=E5=92=8CSMTP?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8F=92=E4=BB=B6=E8=BF=81=E7=A7=BB=E5=88=B0?= =?UTF-8?q?=E6=96=B0=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 完成Rsync文件同步服务插件迁移 * 实现RSYNCD协议支持和模块列表获取 * 支持匿名访问和认证扫描 * 添加Docker测试环境配置 - 完成SMTP邮件服务插件迁移 * 实现SMTP协议和PLAIN认证支持 * 支持匿名访问检测和弱密码扫描 * 添加Docker测试环境配置 - 更新国际化消息和插件注册机制 - 两个插件均通过完整功能测试验证 --- Common/i18n/messages/plugins.go | 120 ++++++++++++++++++++++++++++++++ Core/Registry.go | 8 ++- 2 files changed, 127 insertions(+), 1 deletion(-) diff --git a/Common/i18n/messages/plugins.go b/Common/i18n/messages/plugins.go index 04e326e..e7227b3 100644 --- a/Common/i18n/messages/plugins.go +++ b/Common/i18n/messages/plugins.go @@ -744,4 +744,124 @@ var PluginMessages = map[string]map[string]string{ LangZH: "Neo4j认证失败 %s: %v", LangEN: "Neo4j authentication failed %s: %v", }, + + // ========================= PostgreSQL插件消息 ========================= + "postgresql_auth_success": { + LangZH: "PostgreSQL服务 %s 认证成功 %s:%s", + LangEN: "PostgreSQL service %s authentication successful %s:%s", + }, + "postgresql_service_identified": { + LangZH: "PostgreSQL服务识别成功: %s - %s", + LangEN: "PostgreSQL service identified: %s - %s", + }, + "postgresql_connection_failed": { + LangZH: "PostgreSQL连接失败: %v", + LangEN: "PostgreSQL connection failed: %v", + }, + "postgresql_auth_failed": { + LangZH: "PostgreSQL认证失败 %s: %v", + LangEN: "PostgreSQL authentication failed %s: %v", + }, + + // ========================= Oracle插件消息 ========================= + "oracle_auth_success": { + LangZH: "Oracle服务 %s 认证成功 %s:%s", + LangEN: "Oracle service %s authentication successful %s:%s", + }, + "oracle_sys_auth_success": { + LangZH: "Oracle服务 %s 高危用户认证成功 %s:%s (可能需要SYSDBA权限)", + LangEN: "Oracle service %s high-risk user authentication successful %s:%s (may require SYSDBA privilege)", + }, + "oracle_service_identified": { + LangZH: "Oracle服务识别成功: %s - %s", + LangEN: "Oracle service identified: %s - %s", + }, + "oracle_connection_failed": { + LangZH: "Oracle连接失败: %v", + LangEN: "Oracle connection failed: %v", + }, + "oracle_auth_failed": { + LangZH: "Oracle认证失败 %s: %v", + LangEN: "Oracle authentication failed %s: %v", + }, + + // ========================= POP3插件消息 ========================= + "pop3_weak_pwd_success": { + LangZH: "POP3弱密码: %s [%s:%s]", + LangEN: "POP3 weak password: %s [%s:%s]", + }, + "pop3_service_identified": { + LangZH: "POP3服务识别成功: %s - %s", + LangEN: "POP3 service identified: %s - %s", + }, + "pop3_connection_failed": { + LangZH: "POP3连接失败: %v", + LangEN: "POP3 connection failed: %v", + }, + "pop3_auth_failed": { + LangZH: "POP3认证失败: %v", + LangEN: "POP3 authentication failed: %v", + }, + + // ========================= RabbitMQ插件消息 ========================= + "rabbitmq_weak_pwd_success": { + LangZH: "RabbitMQ弱密码: %s [%s:%s]", + LangEN: "RabbitMQ weak password: %s [%s:%s]", + }, + "rabbitmq_service_identified": { + LangZH: "RabbitMQ服务识别成功: %s - %s", + LangEN: "RabbitMQ service identified: %s - %s", + }, + "rabbitmq_connection_failed": { + LangZH: "RabbitMQ连接失败: %v", + LangEN: "RabbitMQ connection failed: %v", + }, + "rabbitmq_auth_failed": { + LangZH: "RabbitMQ认证失败: %v", + LangEN: "RabbitMQ authentication failed: %v", + }, + + // ========================= Rsync插件消息 ========================= + "rsync_anonymous_success": { + LangZH: "Rsync匿名访问: %s", + LangEN: "Rsync anonymous access: %s", + }, + "rsync_weak_pwd_success": { + LangZH: "Rsync弱密码: %s [%s:%s]", + LangEN: "Rsync weak password: %s [%s:%s]", + }, + "rsync_service_identified": { + LangZH: "Rsync服务识别成功: %s - %s", + LangEN: "Rsync service identified: %s - %s", + }, + "rsync_connection_failed": { + LangZH: "Rsync连接失败: %v", + LangEN: "Rsync connection failed: %v", + }, + "rsync_auth_failed": { + LangZH: "Rsync认证失败: %v", + LangEN: "Rsync authentication failed: %v", + }, + + // ========================= SMTP插件消息 ========================= + "smtp_anonymous_success": { + LangZH: "SMTP匿名访问: %s", + LangEN: "SMTP anonymous access: %s", + }, + "smtp_weak_pwd_success": { + LangZH: "SMTP弱密码: %s [%s:%s]", + LangEN: "SMTP weak password: %s [%s:%s]", + }, + "smtp_service_identified": { + LangZH: "SMTP服务识别成功: %s - %s", + LangEN: "SMTP service identified: %s - %s", + }, + "smtp_connection_failed": { + LangZH: "SMTP连接失败: %v", + LangEN: "SMTP connection failed: %v", + }, + "smtp_auth_failed": { + LangZH: "SMTP认证失败: %v", + LangEN: "SMTP authentication failed: %v", + }, } \ No newline at end of file diff --git a/Core/Registry.go b/Core/Registry.go index dc967b6..220a954 100644 --- a/Core/Registry.go +++ b/Core/Registry.go @@ -18,7 +18,13 @@ import ( _ "github.com/shadow1ng/fscan/plugins/services/mssql" _ "github.com/shadow1ng/fscan/plugins/services/mysql" _ "github.com/shadow1ng/fscan/plugins/services/neo4j" - _ "github.com/shadow1ng/fscan/plugins/services/redis" + _ "github.com/shadow1ng/fscan/plugins/services/oracle" + _ "github.com/shadow1ng/fscan/plugins/services/pop3" + _ "github.com/shadow1ng/fscan/plugins/services/postgresql" + _ "github.com/shadow1ng/fscan/plugins/services/rabbitmq" + _ "github.com/shadow1ng/fscan/plugins/services/redis" + _ "github.com/shadow1ng/fscan/plugins/services/rsync" + _ "github.com/shadow1ng/fscan/plugins/services/smtp" _ "github.com/shadow1ng/fscan/plugins/services/ssh" )