dfirsec/ioc_finder
GitHub: dfirsec/ioc_finder
一个基于文件名快速匹配 IOC 的搜索工具,适用于哈希值尚未可用时的应急响应初步筛查场景。
Stars: 0 | Forks: 0
# IOC Finder

一种在哈希值尚不可用的情况下,用于搜索与 IOC 匹配的文件名的快速简便方法。
## 描述
IOC Finder 是一个 Python 脚本,允许您搜索与妥协指标 (IOC) 匹配的文件名。这是一种在哈希值尚不可用时,识别 IOC 与文件名之间潜在匹配项的快速简便的方法。
该脚本支持两种操作模式:
- **IOC 模式**:在给定的驱动器路径或目录中搜索 IOC。
- **文件模式**:处理包含 IOC 的文件,并在驱动器路径或目录中搜索匹配项。
根据提供的选项,可以执行部分匹配或精确匹配搜索。
## 功能
- 搜索与 IOC 匹配的文件名
- 支持部分匹配或精确匹配搜索
- 生成包含匹配文件名及相关信息的 CSV 文件
- 在控制台以表格格式显示结果
## 系统要求
- Python 3.9 或更高版本
- Windows 操作系统
## 安装
1. 克隆仓库:
```
git clone https://github.com/dfirsec/ioc_finder.git
```
2. 导航到项目目录:
```
cd ioc_finder
```
3. 使用 poetry 安装所需的依赖项:
```
poetry install
```
## 用法
可以使用以下命令运行 IOC Finder:
1. 创建虚拟环境
```
poetry shell
```
2. 使用以下命令运行:
```
python ioc_finder.py [options] path
```
可用选项如下:
`-c`:搜索包含 IOC 字符串(部分匹配)的文件名。
`-i` \, \ ...:指定一个或多个要搜索的 IOC。使用逗号或空格分隔多个 IOC。
`-f`:使用包含 IOC 的 "known_iocs.txt" 文件搜索匹配项。
将您的 IOC 文件名添加到 *'known_iocs.txt'* 文本文件中。
```
# 在此行下方添加 IOC 文件名
badstuff.txt
badexe.exe
Xdggrphr.lnk
lookhere.dll
```
`path` 参数应为要扫描的目录或驱动器的路径。
## 示例
在 "c:\" 目录中搜索包含 IOC 字符串 "bad" 的文件名:
```
python ioc_finder.py c:\ -i bad
```
在字符串末尾添加 '.' 将返回该字符串 + 任意扩展名。
```
python ioc_finder.py c:\ -i bad.
+------------------------------------------|+---------+------------+----------------------------------+
| File name | Size | Created | Hash |
+------------------------------------------|+---------+------------+----------------------------------+
| c:\Program Files\Microsoft\bad.exe | 120214 | 2018-12-21 | 34d70beb5434t4rgfvbd73799b50d125 |
| c:\Windows\bad.txt | 670 | 2019-02-29 | cd5bc2aaed4c6brjyth1eabcf34285de |
| c:\Windows\bad.lnk | 429 | 2018-02-15 | 500758431b795b776e4erdfwed700cef |
+------------------------------------------+----------+------------+----------------------------------+
```
在 "c:\data" 目录中搜索 IOC 字符串 "bad" 之前和之后任意通配符匹配的文件名:
```
python ioc_finder.py c:\data -c -i bad
```
在 "D:\docs" 目录中搜索特定的 IOC:"virus"、"trojan" 和 "spyware":
```
python ioc_finder.py -i virus,trojan,spyware D:\docs
```
在 "E:\files" 目录中使用 "known_iocs.txt" 文件搜索 IOC:
```
python ioc_finder.py -f E:\files
```
## 输出
IOC Finder 在 "results" 文件夹中生成一个 CSV 文件,其中包含匹配的文件名及相关信息。CSV 文件的命名格式为 "hostname_timestamp.csv",其中 "hostname" 是当前机器的名称,"timestamp" 是脚本执行的日期和时间。
结果也会在控制台以表格格式显示。
### 示例运行...
```
python ioc_finder.py c:\ -f
> Searching for IOCs on SYS-NAME: 38934 files [00:08, 4794.81 files/s]
✔ Found 2 IOCs on SYS-NAME
--> Results saved to results\SYS-NAME_20200220-203455.csv
```
结果将保存到文件中,并显示名称、大小、创建日期和哈希值:
```
+------------------------------------------|+---------+------------+----------------------------------+
| File name | Size | Created | Hash |
+------------------------------------------|+---------+------------+----------------------------------+
| c:\Program Files\Microsoft\badexe.exe | 140288 | 2018-12-20 | 34d70beb5434c95bd73799b55ea0d125 |
| c:\Windows\badstuff.txt | 470 | 2019-08-23 | cd5bc2aaed4c6b8a21eabcf34285d69e |
| c:\Windows\Xdggrphr.lnk | 462 | 2019-08-23 | 5007584931b795b776e6b15f4d700cef |
| c:\Windows\lookhere.dll | 6836 | 2019-08-23 | 68baa20566a1afa2319e6afc5942e056 |
+------------------------------------------+----------+------------+----------------------------------+
```
## 贡献
欢迎贡献!如果您发现任何问题或有改进建议,请创建 issue 或提交 pull request。
## 许可证
本项目基于 MIT 许可证授权。
标签:Conpot, CSV生成, EDR, IOC, Python, Python3, Web技术栈, Windows安全, 失陷标示, 安全脚本, 库, 应急响应, 开源安全工具, 数字取证, 文件名搜索, 无后门, 模糊匹配, 精确匹配, 网络安全, 网络安全审计, 脆弱性评估, 自动化脚本, 逆向工具, 逆向工程平台, 隐私保护