themikewylie/threat-hunting-lab-zia
GitHub: themikewylie/threat-hunting-lab-zia
基于 ZIA 代理日志的威胁狩猎实战实验室,通过 GitHub Codespaces 提供零配置的交互式学习环境。
Stars: 0 | Forks: 0
# 威胁狩猎实验室 – ZIA
欢迎来到官方实验室环境:
## **实战威胁狩猎:构建动态狩猎计划**
本次互动实验室将引导您使用真实世界风格的安全 Web 网关(ZIA 风格)代理日志,构建可重复的威胁狩猎方法论。
这**不是**一个预先录制的演示。
您将:
* 建立基线
* 识别异常
* 使用最低出现频率 (LFO)
* 制定并验证假设
* 为您的发现进行辩护
# 目标
在本实验结束时,您将能够:
* 构建结构化的狩猎工作流
* 识别大型数据集中的长尾异常
* 狩猎可疑的 HTTP/HTTPS 行为
* 将发现转化为检测机会
* 将狩猎结果转化为程序改进并实现运营化
# 实验环境概述
本实验完全在您的浏览器中使用 **GitHub Codespaces** 运行。
* 无需安装
* 无需本地 Python 设置
* 无需 WSL
* 无需 Homebrew
您将获得:
* Linux 环境
* Bash shell
* Python 3
* Jupyter Notebook
* 预加载的数据集
* 预安装的库
# 开始 (5 分钟)
查看分步实验指南 [此处](https://github.com/themikewylie/threat-hunting-lab-zia/blob/main/Lab_Step_by_Step_Setup_Guide.pdf)。
此 [视频](https://youtu.be/U-X8FxnuHCw) 提供了本指南的分步演示。
## 步骤 1 — 登录 GitHub
1. 访问:[https://github.com](https://github.com)
2. 使用您的 GitHub 凭据登录。
如果您没有 GitHub 账户,请先创建一个。
## 步骤 2 — 打开仓库
1. 访问实验仓库:
[https://github.com/themikewylie/threat-hunting-lab-zia](https://github.com/themikewylie/threat-hunting-lab-zia)
2. 点击右上角附近的绿色 **Code** 按钮。
3. 选择 **Codespaces** 标签页。
4. 点击 **Create codespace on main**
这将启动一个新的浏览器标签页并开始构建您的云端开发环境。
## 步骤 3 — 等待 Codespace 构建
首次创建 Codespace 可能需要几分钟。
在后台,GitHub 正在:
* 创建 Linux 容器
* 安装依赖项
* 配置 Python
* 准备您的实验环境
请耐心等待。请**不要**刷新页面。
完成后,您将看到:
* 浏览器中的 VS Code 风格界面
* 编辑器中打开的 `README.md` 文件
* 底部的终端面板
## 步骤 4 — 验证终端访问权限
在屏幕底部的终端面板中,输入:
```
ls -lah
```
按 **Enter**。
您应该看到仓库中的文件和目录列表。
这确认了:
* 容器正在工作
* 您拥有终端访问权限
* 仓库已成功克隆
## 步骤 5 — 验证所需的实验目录
在屏幕左侧(资源管理器面板),确认您看到:
* `/data`
* `/lab-guides`
* `/notebooks`
如果您看到这些文件夹,说明您的环境已正确加载。
如果没有:
* 点击资源管理器图标(左上角的文件图标)
* 展开仓库文件夹
## 步骤 6 — 打开 Jupyter Notebook
1. 导航至:
```
/notebooks
```
2. 打开:
```
getting_started.ipynb
```
## 步骤 7 — 安装所需的扩展 (首次设置)
首次在 Codespaces 中打开 Jupyter notebook 时,您可能会看到安装以下内容的提示:
* Python 扩展
* Jupyter 扩展
这些是必需的。
在屏幕底部,点击 **Install**。
## 步骤 8 — 运行第一个 Python 测试单元
在 `getting_started.ipynb` 内部,您将看到一个简单的 `print()` 语句。
点击第一个代码单元格内部。
然后执行以下操作之一:
* 按 **Shift + Enter**
* 或点击 ▶ **Run** 按钮
如果一切配置正确,您将看到输出显示在单元格下方。
这确认了:
* Python 正常工作
* Jupyter 已连接
* 内核处于活动状态
## 步骤 9 — 选择正确的 Python 解释器
运行第一个代码单元格时,系统可能会提示您安装/启用:
**Python + Jupyter 扩展**
1. 点击 **Install** 或 **Enable**
2. 等待安装完成
每个 Codespace 只需执行一次此操作。
您可能还会被提示选择 Python 环境。
点击:
```
Select Kernel → Python Environments…
```
然后选择:
```
Python 3.12.1 ~/python/current/bin/python3
```
这确保了:
* 您正在使用正确的解释器
* 所有实验依赖项安装正确
* 您的 notebook 可以执行 Python 代码
如果您没有选择正确的环境,单元格可能无法运行。
## 步骤 10 — 运行 Notebook 单元格
确认 Python 可用后:
您有两个选择:
### 选项 A — 一次运行一个单元格 (推荐用于学习)
在每个单元格上按 **Shift + Enter**,并随时查看输出。
最适合理解正在发生的事情。
### 选项 B — 运行所有 (推荐用于快速设置)
点击 notebook 顶部的 **Run All**。
这将:
* 安装所需的 Python 包 (通过 `pip`)
* 加载 CSV 文件
* 验证数据访问权限
## 步骤 11 — 监控包安装
如果是首次运行,您可能会看到 `pip` 安装输出。
这是正常的。
滚动查看输出并确认:
* 安装成功
* 没有红色的错误消息
* 依赖项已安装的确认信息
## 步骤 12 — 验证 CSV 数据正确加载
Notebook 将从以下位置读取实验数据集:
```
../data/
```
您应该看到以下确认信息:
* `lab_github.csv` 加载成功
* `lab_phishing.csv` 加载成功
* `lab_dprk.csv` 加载成功
* 显示 dataframe 预览
* 没有发生文件路径错误
如果您看到显示的行和列,则您的环境已完全准备就绪。
# 故障排除提示
### Notebook 无法运行?
* 确保已安装 Python + Jupyter 扩展
* 确认选择了正确的解释器 (Python 3.12.1)
### 找不到 CSV?
* 确认您是从 `/notebooks` 目录运行的
* 确认 `/data` 目录存在
### 终端不可见?
* 点击 **View → Terminal** 重新打开它
### 其他所有方法都失败了?
* 重启内核
# 您现在拥有的内容
如果所有步骤均成功,您现在拥有:
* 一个功能齐全的云端实验室环境
* Python 3.12 已配置
* Jupyter Notebook 可运行
* 访问所有实验数据集
* 用于基于 bash 狩猎的终端访问权限
## 您已准备好开始威胁狩猎。
**祝狩猎愉快。**
标签:GitHub Codespaces, HTTP/HTTPS, IP 地址批量处理, LFO, NoSQL, Python, SWG, Threat Hunting, ZIA Logs, Zscaler, 云端环境, 代码示例, 假设驱动, 基线建立, 安全培训, 安全网关, 实验室, 应用安全, 异常检测, 数据分析, 无后门, 最小频率出现, 沙箱, 网络安全, 防御战术, 隐私保护