kawaiipantsu/NetworkSambaScanner
GitHub: kawaiipantsu/NetworkSambaScanner
网络Samba扫描器,用于检测SMB/Samba漏洞。
Stars: 0 | Forks: 0
# 网络 Samba 扫描器
一个用于扫描网络范围 SMB/Samba 漏洞的 Go 终端应用程序。
## 功能
- **SMB 版本检测** – 通过原始协商数据包识别 SMBv1、SMBv2.x 和 SMBv3.x
- **共享枚举** – 通过 NetShareEnum 列出所有可用的共享(空会话、访客或配置的凭据)
- **权限测试** – 测试每个凭据下每个共享的读写访问权限
- **危险共享检测** – 标记 `ADMIN$`、`C$`、`IPC$`、`PRINT$` 等
- **严重性分类** – 发现结果评级为 INFO / WARNING / CRITICAL
- **多种报告格式** – 纯文本、自包含 HTML 和 PDF
- **电子邮件发送** – 通过 SMTP 使用 STARTTLS 或隐式 TLS 发送报告
- **cron 友好** – 设计用于单次 CLI 或计划 cron 执行
- **全局配置文件** – 所有设置在一个 YAML 文件中;所有功能均可单独切换
## 快速开始
```
# 构建
make
# 编写默认配置文件
./dist/networksambascanner --default-config
# 编辑配置
$EDITOR ~/networksambascanner/networksambascanner.yaml
# 运行扫描
./dist/networksambascanner
```
## 安装
```
# 安装到 /usr/local/bin,配置在 /etc/
sudo make install
# 或指定自定义前缀
sudo make install PREFIX=/opt/networksambascanner
```
## 配置文件位置(按顺序搜索)
1. `/etc/networksambascanner.yaml`
2. `/usr/local/etc/networksambascanner.yaml`
3. `$HOME/networksambascanner/networksambascanner.yaml`
4. `$HOME/etc/networksambascanner.yaml`
使用 `-c ` 传递参数以使用特定文件。
## 使用方法
```
networksambascanner [options]
-c, --config Path to config file
--default-config Write default config and exit
--default-config-path Print where --default-config would write to
--dry-run Show which hosts would be scanned (no network probes)
--show-config Print loaded config and exit
-v, --version Print version
-h, --help Show help
```
## Cron 示例
```
# 每日 02:00 扫描,将输出追加到 cron 日志
0 2 * * * /usr/local/bin/networksambascanner >> /var/log/networksambascanner/cron.log 2>&1
```
## 报告格式
| 格式 | 描述 |
|------|--------|
| `text` | 可读的纯文本 |
| `html` | 自包含的暗色主题 HTML 报告 |
| `pdf` | 通过 go-pdf/fpdf 生成 PDF 文档 |
## 构建目标
```
make # build for current platform
make build-debug # build with race detector
make test # run tests
make release # cross-compile Linux/macOS/Windows
make install # install to /usr/local/bin
make clean # remove dist/
```
## 依赖项
| 包名 | 目的 |
|------|------|
| `github.com/hirochachacha/go-smb2` | SMB2/3 客户端(共享枚举) |
| `github.com/fatih/color` | 终端颜色 |
| `github.com/schollz/progressbar/v3` | 实时进度条 |
| `github.com/go-pdf/fpdf` | PDF 生成 |
| `gopkg.in/yaml.v3` | YAML 配置解析 |
SMBv1 检测使用手工制作的原始 TCP 协商数据包,没有外部依赖。
标签:Cron任务, EVTX分析, Go语言, Samba服务, SMB协议, YAML配置, 并发扫描, 日志审计, 权限测试, 枚举共享, 版本识别, 程序破解, 系统安装, 网络安全, 邮件发送, 配置文件管理, 隐私保护