xiomararodriguezgil22-cmd/Geo-anomaly-auth-detection-lab
GitHub: xiomararodriguezgil22-cmd/Geo-anomaly-auth-detection-lab
这是一个使用Elastic Stack和KQL查询检测认证事件中地理异常(如不可能旅行)的模拟SOC实验室项目。
Stars: 0 | Forks: 0
# 地理异常认证检测
本实验室模拟了一个SOC(安全运营中心)环境,专注于使用Elastic Stack和KQL查询来检测认证事件中的地理异常。
主要目标是利用地理位置数据、时间分析和基本的威胁搜寻技术,识别可疑和不可能的登录事件(“不可能旅行”)。
# 目标
通过地理定位分析、IP地址调查以及在Elastic Stack中使用KQL查询来检测可疑的认证事件。
# 实验室场景
使用Python生成了一个模拟的企业认证数据集,其中包含:
- 成功和失败的登录事件
- VPN使用情况
- TOR节点活动
- 来自多个国家的登录
- 不可能旅行事件
- 基于快速位置变化的可疑活动
# 使用的工具
- Elastic Stack
- Kibana
- Python
- KQL(Kibana查询语言)
# 方法论
1. 使用Python生成了一个`.ndjson`格式的模拟认证数据集。
2. 将数据集上传到Kibana,用于事件分析和可视化。
3. 使用KQL查询来识别:
- VPN活动,
- TOR连接,
- 可疑国家,
- 被入侵的用户,
- 失败的认证事件。
4. 使用以下信息对可疑事件进行分析:
- 时间戳,
- 地理位置,
- 纬度和经度,
- 位置之间的距离,
- 认证之间经过的时间。
5. 识别出多个“不可能旅行”事件,在这些事件中,同一用户在不可能的时间范围内从地理上不相容的国家进行了认证。
# 使用的KQL查询
## VPN活动
```
vpn:true
```
## TOR活动
```
tor_exit_node:true
```
## 可疑国家
```
country:"Russia" or country:"China" or country:"Iran"
```
## 特定用户调查
```
user:"finance.user"
```
# 发现
识别出多个与以下方面相关的可疑事件:
- VPN使用,
- TOR连接,
- 失败的认证尝试,
- 快速的地理位置变化,
- 不可能旅行事件。
其中检测到的一个事件显示,同一名用户在大约3分钟内先后从中国和墨西哥进行了认证,这需要达到一个物理上不可能的旅行速度。
# 证据
实验截图可以在以下目录中找到:
```
/screenshots
```
## 按国家/地区划分的总体认证分布
此可视化有助于识别数据集中认证事件数量最多的国家。

主要发现:
- 哥伦比亚显示出最多的认证事件。
- 还从以下国家/地区识别出额外活动:
- 中国,
- 伊朗,
- 朝鲜,
- 尼日利亚。
多个高风险国家/地区的存在,使得可以进一步进行地理定位和潜在的账户入侵调查。
## 可疑国家/地区活动
使用KQL查询过滤了来自可疑国家/地区的事件。

使用的查询:
```
country:"Russia" or country:"China" or country:"Iran"
```
主要发现:
- 多个用户显示出来自以下国家/地区的活动:
- 中国,
- 俄罗斯,
- 伊朗。
- 部分事件包括:
- VPN使用,
- TOR活动,
- 快速的位置变化,
- 来自异常位置的成功认证。
## TOR活动
使用以下查询识别了源自TOR出口节点的连接:
```
tor_exit_node:true
```

主要发现:
- 从以下国家/地区检测到TOR事件:
- 哥伦比亚,
- 秘鲁,
- 墨西哥,
- 美国,
- 中国,
- 伊朗。
TOR活动被认为是可疑的,因为此类基础设施通常用于匿名化和规避。
## VPN活动
使用以下查询分析了VPN认证的事件:
```
vpn:true
```

主要发现:
- 从多个国家/地区检测到VPN活动。
- 部分事件与以下情况相关:
- 成功的认证,
- TOR连接,
- 快速的地理位置变化。
# 主要发现
## 不可能旅行 #1
在调查过程中,识别出一个与用户相关的不可能旅行事件:
```
finance.user
```
该用户从以下位置进行了认证:
| 时间戳 | 国家/地区 | 城市 |
|---|---|---|
| 2026-05-13 05:18 | 中国 | 北京 |
| 2026-05-13 05:21 | 墨西哥 | 墨西哥城 |

这两个地点之间的近似距离超过12,000公里,而时间差约为3分钟。
所需的旅行速度在物理上是不可能的。
这可能表明:
- 凭据泄露,
- 使用VPN/TOR,
- 未授权访问,
- 地理位置规避。
## 不可能旅行 #2
识别出另一个涉及用户的不可能旅行事件:
```
admin01
```
| 时间戳 | 国家/地区 | 城市 |
|---|---|---|
| 2026-05-13 07:10 | 美国 | 迈阿密 |
| 2026-05-13 08:17 | 朝鲜 | 平壤 |

检测到涉及账户`admin01`的可疑认证活动,该账户首先在美国迈阿密成功认证,随后约一小时后又在朝鲜平壤成功认证。
这两个地点之间的地理距离超过12,000公里,需要的旅行速度大于11,000公里/小时,这在物理上是不可能的。
该事件被归类为潜在的不可能旅行案例和可能的凭据泄露。
## 不可能旅行 #3
识别出与用户相关的可疑活动:
```
mlopez
```
| 时间戳 | 国家/地区 | 城市 |
|---|---|---|
| 2026-05-13 12:22 | 墨西哥 | 墨西哥城 |
| 2026-05-13 12:42 | 伊朗 | 德黑兰 |

在墨西哥和伊朗之间大约20分钟的时间内检测到成功的登录事件。
墨西哥城与德黑兰之间的近似距离约为12,500公里,需要的旅行速度约为37,272公里/小时。
没有任何传统的交通方式能在20分钟内实际完成这样的旅行。
此外,之前为该用户识别到了与TOR相关的活动,而在两次认证事件期间,VPN使用均保持禁用状态。
# 结论
本实验室成功模拟了用于识别可疑认证活动、VPN/TOR规避以及与登录事件相关的地理异常的基本SOC检测技术。
该项目演示了如何使用Elastic Stack和KQL查询来调查模拟认证事件,并检测类似于在现实世界网络安全环境中观察到的行为。
标签:AMSI绕过, Elastic Stack, IP地址调查, KQL查询, MIT许可证, OISF, Python, TOR检测, VPN检测, 不可能旅行检测, 事件检测, 地理定位分析, 地理异常, 威胁检测, 威胁猎技术, 安全运营中心(SOC), 异常登录检测, 无后门, 日志管理, 时间分析, 模拟数据集, 流量重放, 用户行为分析, 网络安全, 认证安全, 越狱测试, 逆向工具, 隐私保护