ZacharyZcR
ac755a9b4a
test: avoid expanding massive CIDRs
2026-06-01 02:33:10 +08:00
ZacharyZcR
ea17b5b1bc
feat: allow multiple added passwords
...
Fixes #584
2026-06-01 02:06:15 +08:00
ZacharyZcR
bfc0e0fb52
fix: support SOCKS5 proxy auth
...
Fixes #585
2026-06-01 01:59:08 +08:00
ZacharyZcR
40b0eee654
Remove SimpleMaxHosts limit to fix large CIDR scanning
...
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
Closes #583
2026-05-27 16:16:42 +08:00
ZacharyZcR
8d30ee334c
Add native protocol service plugins
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
2026-05-23 15:51:50 +08:00
ZacharyZcR
73cbe803c4
Expand i18n coverage
2026-05-23 15:18:40 +08:00
ZacharyZcR
9ed6cc95b6
replace string builder sprintf with fprintf
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
2026-05-23 07:53:28 +08:00
ZacharyZcR
a0f0379c6c
silence ci warnings and staticcheck suggestions
2026-05-23 07:50:49 +08:00
ZacharyZcR
3c7823355d
tighten scan session and HTTP paths
2026-05-23 07:46:53 +08:00
ZacharyZcR
1a714f6a0c
reduce scanner client fingerprints
2026-05-23 07:20:24 +08:00
ZacharyZcR
0046817c2e
fix mssql login client metadata
2026-05-23 07:17:55 +08:00
ZacharyZcR
e0080555b4
fix: 跳过snmp社区字符串暴力破解中的冗余public探测
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
2026-05-19 21:00:47 +08:00
ZacharyZcR
bc2a8f653a
fix: 修复新服务扫描插件的健壮性问题
...
- ipmi: 删除未使用的 encoding/binary 导入
- rmi: TCP读取改用 io.ReadFull 避免分片导致的解析错误
- jdwp: handshake响应读取改用 io.ReadFull 避免分片误判
- nfs: v4协议回退时使用新连接避免残留数据污染
- snmp: 修正timeout计算与其他插件保持一致
2026-05-19 20:46:22 +08:00
ZacharyZcR
a92df59dfe
fix: NFS plugin RPC probe + UDP dispatch in auto mode
...
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
NFS: use RPC NULL call to detect NFS service before MOUNT EXPORT
UDP dispatch: query plugin registry directly in auto mode instead of
GetPlugins which excludes UDP from FilterService
2026-05-19 00:37:35 +08:00
ZacharyZcR
0a28db7371
feat: add NFS, RMI and IPMI plugins
...
NFS (2049/TCP): Sun RPC EXPORT call, lists shared directories
RMI (1099/TCP): Java RMI handshake, detects exposed JMX/RMI endpoints
IPMI (623/UDP): RMCP ping + channel auth capabilities probe
All pure stdlib, zero new dependencies.
2026-05-19 00:01:58 +08:00
ZacharyZcR
778ba019d5
feat: add IMAP and POP3 plugins for mail server detection
...
IMAP (143/993): banner grab + LOGIN brute force
POP3 (110/995): banner grab + USER/PASS brute force
Both registered as safe default plugins with auth-check capability.
2026-05-18 23:29:52 +08:00
ZacharyZcR
f43e3e3d0a
feat: add JDWP plugin for Java debug port detection
...
Detects exposed JDWP (Java Debug Wire Protocol) services on ports
5005/8000/8787/5050. Performs protocol handshake and reports as VULN
since an exposed debug port allows remote code execution.
2026-05-18 23:22:15 +08:00
ZacharyZcR
a1588a321f
feat: SDK agent integration + UDP plugin framework + SNMP plugin
...
SDK enhancements for endpoint agent embedding:
- ScanWithController for pause/resume and live stats
- OnProgress callback for periodic progress reporting
- TaskID injection into every scan result
- ScanController with goroutine-safe pause/resume/stats
- Multi-target stats aggregation (race-free)
UDP plugin infrastructure:
- PluginTypeUDP registry with dedicated dispatch path
- DialUDP on ScanSession with rate limiting and packet counting
- UDP plugins bypass TCP port scan, probe targets directly
- FilterService excludes UDP plugins from TCP port matching
SNMP plugin (first UDP plugin):
- SNMPv2c GetRequest probe for sysDescr detection
- Community string brute force (public/private/community/etc)
- Pure stdlib implementation (encoding/asn1)
- Registered as safe default plugin on port 161/UDP
Tests: 95.7% SDK coverage, race-free, 50+ new test cases
2026-05-18 23:11:39 +08:00
ZacharyZcR
eb4fa38fea
merge sdk architecture polish
2026-05-18 21:41:01 +08:00
ZacharyZcR
c15aa3488b
polish embedded scanner SDK contracts
2026-05-18 21:40:52 +08:00
ZacharyZcR
218811c38d
Merge pull request #582 from shadow1ng/feature/sdk-library
...
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
Add embeddable scanner SDK
2026-05-18 18:03:12 +08:00
ZacharyZcR
5a884ca6ad
fix lint issues before merge
2026-05-18 17:59:00 +08:00
ZacharyZcR
5942d3bbcb
preserve sdk host language state
2026-05-18 17:43:00 +08:00
ZacharyZcR
c0a9cfd8f5
use config proxy state for credential prechecks
2026-05-18 17:13:19 +08:00
ZacharyZcR
c16aa04e28
isolate session network checks
2026-05-18 17:11:24 +08:00
ZacharyZcR
856eeccd78
respect per-call session dial timeouts
2026-05-18 16:35:58 +08:00
ZacharyZcR
13f7997d16
isolate scan strategy runtime state
2026-05-18 16:33:47 +08:00
ZacharyZcR
adb3ac5b74
add session-aware scan logging
2026-05-18 16:19:34 +08:00
ZacharyZcR
8de7570268
allow concurrent embedded scans
2026-05-18 16:11:41 +08:00
ZacharyZcR
3dde0c6a8e
move plugin safety metadata to registry
2026-05-18 15:57:18 +08:00
ZacharyZcR
d4ed0867c9
polish scanner SDK API and docs
2026-05-18 15:49:57 +08:00
ZacharyZcR
6605c93dd9
improve embedded scanner runtime
2026-05-18 14:53:00 +08:00
ZacharyZcR
6bfa05cb45
add embeddable scanner SDK
2026-05-18 14:41:15 +08:00
ZacharyZcR
bce0a718ea
slim mssql credential check
2026-05-18 14:00:45 +08:00
ZacharyZcR
40c3f1423e
slim oracle credential check
2026-05-18 13:13:40 +08:00
ZacharyZcR
bfd64f78ed
瘦身: Kafka/MongoDB/Cassandra用raw TCP替代重型依赖
...
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
- kafka: 移除IBM/sarama(45MB), 自实现SASL PLAIN+ApiVersions协议(~150行)
- mongodb: 移除mongo-driver(25MB), 自实现OP_MSG+saslStart认证(~180行)
- cassandra: 移除gocql(1.2MB), 自实现CQLv4 STARTUP+SASL PLAIN(~130行)
- 同时移除间接依赖: pierrec/lz4, klauspost/compress, eapache/snappy等
二进制: 47MB → 40MB (-15%), 移除~55MB压缩依赖
全部13个测试包通过
2026-05-18 06:37:05 +08:00
ZacharyZcR
7063027acf
性能优化: 热路径零分配, 自适应池CAS无锁化, 锁外计算
...
- port_scan: fmt.Sprintf→JoinHostPort+fmtPort零分配地址格式化 (2.5x)
- port_scan: strings.ToLower→containsFold零分配大小写不敏感匹配 (2.5x)
- port_scan: slidingWindowSchedule修复semaphore泄漏bug
- service_probe: readFromConn预分配4KB缓冲区消除扩容
- adaptive_pool: maybeAdjust用atomic CAS代替持锁检查, 99%免锁
- adaptive_timeout: Timeout锁外计算均值/标准差, 只锁缓存更新
- 新增perf_bench_test.go基准测试验证所有优化
2026-05-18 06:11:10 +08:00
ZacharyZcR
639298b7c8
修复全部SA1006: fmt.Errorf(i18n)统一使用"%s"前缀
2026-05-18 05:17:40 +08:00
ZacharyZcR
f427f04d35
修复SA1006: fmt.Errorf(i18n.Tr)改用fmt.Errorf("%s", ...)
2026-05-18 05:08:34 +08:00
ZacharyZcR
05e383d8bf
修复lint: errcheck返回值检查, SA1006动态格式化字符串
...
- scanner_core: 3处InitializeGlobalVScan()返回值用_显式丢弃
- flag/initialize/network: fmt.Errorf(i18n.Tr(...))改为fmt.Errorf("%s", i18n.Tr(...))
2026-05-18 05:07:02 +08:00
ZacharyZcR
a560531e70
修复CI: 覆盖率门禁改用awk整数比较, lint过滤简化
...
- 覆盖率检查移除bc依赖,改用awk int()整数比较
- lint过滤用单条grep -vE替代管道链,更健壮
- 测试命令预计算包列表避免子shell问题
2026-05-18 04:57:39 +08:00
ZacharyZcR
77827bef66
修复凭证测试器计数器、消除panic、补齐i18n
...
- credential_tester: testCredentialWithRetry返回ErrorType,修复网络错误计数器永久不递增的bug
- scanner: os.Exit(1)改为return,defer Cleanup可正常执行
- probe_parser: 5处panic改为error返回,调用链透传到init()
- common库: parsers/initialize/network/session共17处硬编码中文改用i18n
- services插件: 18个文件115处硬编码中文改用i18n
- locale: 补齐service/parser/network相关~25个中英文键
2026-05-18 04:55:20 +08:00
ZacharyZcR
c266912dcb
修复10个代码缺陷: panic防护, 死锁, 密钥泄漏, 错误吞没
...
- eval_random: randomInt参数max<=min时不再panic,返回CEL错误
- scanner: 长驻插件nil/panic时兜底发送ready通道,消除死锁
- poc_executor: Ceye API密钥改为环境变量CEYE_API/CEYE_DOMAIN
- Eval: ParseResponse加入oResp.Request nil检查
- Eval: reverseCheck中http.NewRequest错误不再忽略
- poc_executor: clusterpoc中CEL表达式求值错误记录日志
- winwmi: PowerShell执行失败完整记录错误信息
- sshkey: authorized_keys读取失败处理错误
- minidump: Scan结束后释放系统DLL句柄
- Windows插件: PE文件错误消息改用i18n
2026-05-18 03:47:42 +08:00
ZacharyZcR
2f2b30763c
修复硬编码中文,迁移废弃的 uuid 依赖
...
- flag.go: -local/-perf 参数改用 i18n.GetText,checkParameterConflicts 改用 i18n.Tr
- 补齐中英文 locale 中 flag_local_plugin/flag_perf_stats/param_local_multi_plugin
- satori/go.uuid 迁移为 google/uuid (satori 已废弃)
- CI 补充 lint Go 版本说明
2026-05-18 02:43:45 +08:00
ZacharyZcR
72403ebb32
Merge remote-tracking branch 'origin/dev' into dev
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
2026-05-16 06:57:16 +08:00
ZacharyZcR
4fa8fdc30e
chore: 砍掉 downloader/shellenv,新增 sshkey 插件
...
- 删除 downloader(curl/certutil 可替代)
- 删除 shellenv(劫持 ls 别名动静太大,实用性差)
- 新增 sshkey:生成 ed25519 密钥对,注入 authorized_keys,
私钥保存到当前目录,支持多用户(root 权限下自动注入 root)
2026-05-16 06:56:12 +08:00
ZacharyZcR
bf210dd94d
refactor: minidump 实现降级链凭据提取
...
不再检测到杀软就直接退出,改为三级降级:
1. 直接 MiniDumpWriteDump(无杀软时尝试,15秒超时)
2. comsvcs.dll(系统签名DLL,部分杀软不拦截)
3. reg save SAM/SECURITY/SYSTEM(离线方式,不碰 LSASS)
全部失败才退出,0.2 秒完成不会卡死系统
2026-05-16 06:51:42 +08:00
ZacharyZcR
cb1079598d
feat: cleaner 支持清理所有持久化痕迹,minidump 增加杀软前置检测
...
cleaner 新增 Windows 持久化完整清理:
- Winlogon Shell/Userinit 恢复默认值
- IFEO 映像劫持清理
- 注册表 Run/RunOnce 清理
- 计划任务、服务、启动文件夹清理
- BITS 任务、WMI 事件订阅清理
- Prefetch 记录清理
minidump 增加杀软前置检测,发现 Defender/EDR 直接退出,
避免 MiniDumpWriteDump hang 导致系统崩溃
2026-05-16 06:20:00 +08:00
ZacharyZcR
ec10097e76
fix: minidump 增加杀软检测和缩短超时,防止 hang 导致系统崩溃
...
- 新增 isAVBlocking 检测 Defender/EDR 进程,发现活跃杀软直接跳过
- dump 超时从 120 秒缩短到 15 秒(正常 dump 几秒完成)
- 三层防护:杀软检测 → 权限检测 → 超时兜底
2026-05-16 06:13:47 +08:00
ZacharyZcR
231563e82b
fix: 修复 socks5proxy/cleaner/minidump 三个插件问题
...
- socks5proxy: 监听地址从 127.0.0.1 改为 0.0.0.0,允许外部连接
- cleaner: 重写清理逻辑,精准匹配 fscan 产物,修复 glob 遍历大目录卡死问题,
history 清理改为真正删除 fscan 相关行
- minidump: SeDebugPrivilege 提升失败时直接退出,不再卡 120 秒超时
2026-05-16 03:17:44 +08:00