此工具用于收集给定文件的各种情报来源。Fileintel 采用模块化设计,因此可以轻松添加新的情报来源。
文件通过文件哈希(MD5、SHA1、SHA256)进行标识。输出为 CSV 格式并发送到 STDOUT,以便将数据保存或通过管道传输到其他程序。由于输出为 CSV 格式,Excel 等电子表格软件或数据库系统可以轻松导入数据。
本程序适用于 Python v2,但理论上也兼容 Python v3。如果发现不兼容 Python v3,请提交问题。
此代码已在 Windows 7 和 Mac OSX El Capitan 上测试。如果在其他类型的机器上尝试使用,请告知我!
fileintel 的介绍视频:https://youtu.be/MgJoy2fD0ZY
我的第一个工具 hostintel 的背景:https://github.com/keithjjones/hostintel
$ python fileintel.py -h
usage: fileintel.py [-h] [-a] [-v] [-n] [-o] [-t] [-r]
ConfigurationFile InputFile
Modular application to look up file intelligence information. Outputs CSV to
STDOUT.
positional arguments:
ConfigurationFile Configuration file
InputFile Input file, one hash per line (MD5, SHA1, SHA256)
optional arguments:
-h, --help show this help message and exit
-a, --all Perform All Lookups.
-v, --virustotal VirusTotal Lookup.
-n, --nsrl NSRL Lookup for SHA-1 and MD5 hashes ONLY!
-o, --otx OTX by AlienVault Lookup.
-t, --threatcrowd ThreatCrowd Lookup for SHA-1 and MD5 hashes ONLY!
-r, --carriagereturn Use carriage returns with new lines on csv.
首先,确保配置文件与您的计算机/安装环境相匹配。在配置文件中添加相应的 API 密钥和用户名。运行此工具需要 Python 和 Pip。由于必须从 GitHub 安装某些模块,请确保您的命令行中可以使用 git 命令。Git 在任何平台上都很容易安装。接下来,安装 Python 依赖(每次通过 git pull 拉取此仓库后也请运行此命令):
$ pip install -r requirements.txt
Mac OSX 上自带的 Python 版本可能存在一些问题 (http://stackoverflow.com/questions/31649390/python-requests-ssl-handshake-failure)。 您可能需要使用以下命令安装 requests 库的安全部分:
$ pip install requests[security]
如果您要使用 NSRL 数据库查询,请下载 NSRL "最小" 数据集(zip 文件)。将其放在一个可访问的目录中,并将配置文件指向该 zip 文件。无需解压 NSRL 数据。
如果您希望使用 7Zip(快速)而不是 Python 内置的 zip 库(慢速)来读取大型 NSRL zip 文件,则需要安装 7Zip。在 Windows 上安装 7Zip 很简单,但 Mac OS X 或 Linux 需要安装命令行工具 p7zip。对于 Mac OS X,可以使用 Brew 安装此工具。安装 7Zip 后,需要将配置文件中的路径指向 7z 可执行文件所在位置。
最后,我个人喜欢使用 Python 的 virtualenv。要为运行此工具创建定制的本地 Python 安装环境,建议您阅读:
http://docs.python-guide.org/en/latest/dev/virtualenvs/
$ python fileintel.py myconfigfile.conf myhashes.txt -a > myoutput.csv
您应该能够将 myoutput.csv 导入任何数据库或电子表格程序。
请注意,根据您的网络状况、API 密钥限制以及搜索的数据量,此脚本可能运行很长时间!请谨慎使用每个模块!作为长时间等待的回报,您将免去手动提取这些数据的麻烦。
“sampledata” 目录中包含一些示例数据。这些哈希是随机选取的,并非针对任何组织或个人。对示例数据运行此工具的效果如下:
$ python fileintel.py local/config.conf sampledata/smallerlist.txt -a > sampledata/smallerlist.csv
INFO: Using 7Zip from: /usr/local/bin/7z
Preprocessing NSRL database.... please hold...
*** Processing 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f ***
*** Processing 001025c6d4974fb2ccbea56f710282aca6c1353cc7120d5d4a7853688084953a ***
*** Processing 001025c6d4974fb2ccbea56f710282aca6c1353cc7120d5d4a7853688084953b ***
*** Processing 92945627f32dfde376ffb7091b5faad2 ***
*** Processing 92945627f32dfde376ffb7091b5faad1 ***
*** Processing CEEF161D68AE2B690FA9616361271578 ***
*** Processing D41D8CD98F00B204E9800998ECF8427E ***
*** Processing B284A42B124849E71DBEF653D30229F1 ***
*** Processing 0322A0BA58B95DB9A2227F12D193FDDEA74CFF89 ***
*** Processing E02CE6D73156A11BA84A798B26DE1D12 ***
*** Processing B4ED7AEDACD28CBBDE6978FB09C22C75 ***
*** Processing C6336EA255EFA7371337C0882D175BEE44CBBD49 ***
$ python fileintel.py local/config.conf sampledata/largerlist.txt -a > sampledata/largerlist.csv
INFO: Using 7Zip from: /usr/local/bin/7z
Preprocessing NSRL database.... please hold...
*** Processing 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f ***
*** Processing 001025c6d4974fb2ccbea56f710282aca6c1353cc7120d5d4a7853688084953a ***
*** Processing CEEF161D68AE2B690FA9616361271578 ***
*** Processing D41D8CD98F00B204E9800998ECF8427E ***
*** Processing B284A42B124849E71DBEF653D30229F1 ***
*** Processing 0322A0BA58B95DB9A2227F12D193FDDEA74CFF89 ***
*** Processing E02CE6D73156A11BA84A798B26DE1D12 ***
*** Processing B4ED7AEDACD28CBBDE6978FB09C22C75 ***
*** Processing C6336EA255EFA7371337C0882D175BEE44CBBD49 ***
...
*** Processing 09a64957060121a765185392fe2ec742 ***
*** Processing e0ab52a76073bff4a27bdf327230103d ***
*** Processing 02a5bd561c140236a3380785a3544b71 ***
*** Processing 152c3bb23cc9cb0b0112051b94f69d47 ***
*** Processing 2c9a5e7ce87259ec89e182416ac3a4f8 ***
*** Processing c777b094a3469610d81c139c952e380e ***
*** Processing aa58d9126ed96fa61f53e4f6c0bcd6b4 ***
*** Processing a68e53c42e2d0968e2fbcd168323725f ***
*** Processing a1651db6630f90b11576389aa714ad41 ***
本应用程序采用 Creative Commons BY-SA 许可证。