Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/neo23x0/loki
磁盘取证危害指标 (IOC) 管理漏洞扫描器内存取证哈希分析网络取证取证分析恶意软件分析数字取证威胁情报入侵检测事件响应电子邮件安全
3.8k612438个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
异常检测
异常检测 分类第 20 名
数字取证 分类第 20 名
磁盘取证 分类第 20 名
电子邮件安全 分类第 14 名
取证分析 分类第 20 名
事件响应 分类第 13 名
入侵检测 分类第 13 名
危害指标 (IOC) 管理 分类第 6 名
内存取证 分类第 13 名
网络取证 分类第 19 名
威胁情报 分类第 9 名
GitHubneo23x0/loki

Loki

基于IOC和YARA的扫描器,通过文件名正则表达式、YARA签名、哈希匹配以及端点上的C2回连检测,来识别入侵指标。

查看仓库网站

Not Maintained

我编写了一个名为 LOKI RS(Rust)的新开源 YARA 扫描器。 LOKI (Python) 现已正式废弃。

重要说明

该项目现已进入非活跃维护模式。这意味着我会合并针对错误修复和简单问题的拉取请求,但目前没有时间添加新功能或扩展现有功能。多年来,我一直在开发一款更先进的扫描器 THOR,它在很多方面都优于本项目。有一款免费版本 THOR Lite 可供使用;它速度更快、更稳定,并在我们的 CI 环境中经过严格测试——是一个更好的解决方案。您可以在此处找到开源、免费和商业扫描器的对比:此处。

我还开始开发一个基于 Rust 的 LOKI 版本,名为 LOKI 2。不过,我不确定它何时能达到当前 LOKI 版本的功能完整度。此外,我创建了一个流程图,帮助您决定哪个扫描器最适合您的需求。

Logo

Loki - 简易 IOC 与 YARA 扫描器

简易入侵指标扫描器

检测基于四种检测方法:

root@kitploit:~
1. 文件名 IOC
   对完整文件路径/名称进行正则匹配

2. Yara 规则检查
   对文件数据和进程内存进行 Yara 签名匹配

3. 哈希检查
   将已知恶意哈希(MD5、SHA1、SHA256)与扫描文件进行比对
   
4. C2 回连检查
   将进程连接端点与 C2 IOC 进行比对(自 v10 版起新增)
   

额外检查:

root@kitploit:~
1. Regin 文件系统检查(通过 --reginfs)
2. 进程异常检查(基于 [Sysforensics](http://goo.gl/P99QZQ))
3. SWF 解压扫描(自 v0.8 版起新增)
4. SAM 转储检查

Windows 二进制文件由 PyInstaller 编译,应作为 x86 应用程序在 x86 和 x64 系统上运行。

如何运行 LOKI 并分析报告

运行

  • 从发布页面下载最新版本的 LOKI
  • 解压程序包
  • 在可访问互联网的系统上运行 loki-upgrader.exe 以获取最新签名
  • 将程序文件夹带到目标扫描系统:可移动介质、网络共享、目标系统上的文件夹
  • 以管理员身份打开命令提示符 "cmd.exe" 并在此运行(您也可以在没有管理员权限的情况下运行 LOKI,但某些检查将被禁用,磁盘上的相关对象将无法访问)

报告

  • 生成的报告将显示绿色、黄色或红色的结果行。
  • 请自行分析发现结果:
    1. 将非保密样本上传至 Virustotal.com
    2. 在网上搜索文件名
    3. 在网上搜索规则名称中的关键字(例如 EQUATIONGroupMalware_1 > 搜索 "Equation Group")
    4. 在网上搜索样本的 MD5 哈希
  • 请通过右侧边栏中的 "Issues" 部分反馈误报(注明触发的误报指标,如哈希和/或文件名以及规则名称)

要求

如果使用编译后的 EXE,则不需要任何要求。

如果要自己构建:

  • yara:建议使用最新版本的 Windows (x86) 编译包——从此处下载:https://github.com/VirusTotal/yara-python/releases
  • colorama:用于着色
  • psutil:进程检查
  • pywin32:路径转换(PyInstaller 问题;仅限 Windows)

用法

root@kitploit:~
usage: loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]
               [-t remote-syslog-port] [-a alert-level] [-w warning-level]
               [-n notice-level] [--allhds] [--alldrives] [--printall]
               [--allreasons] [--noprocscan] [--nofilescan] [--vulnchecks]
               [--nolevcheck] [--scriptanalysis] [--rootkit] [--noindicator]
               [--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog]
               [--update] [--debug] [--maxworkingset MAXWORKINGSET]
               [--syslogtcp] [--logfolder log-folder] [--nopesieve]
               [--pesieveshellc] [--nolisten]
               [--excludeprocess EXCLUDEPROCESS] [--force]

Loki - 简易 IOC 扫描器

optional arguments:
  -h, --help            显示此帮助信息并退出
  -p path               要扫描的路径
  -s kilobyte           要检查的最大文件大小(KB,默认 5000 KB)
  -l log-file           日志文件
  -r remote-loghost     远程 syslog 系统
  -t remote-syslog-port 远程 syslog 端口
  -a alert-level        告警分数
  -w warning-level      警告分数
  -n notice-level       通知分数
  --allhds              扫描所有本地硬盘(仅限 Windows)
  --alldrives           扫描所有驱动器(包括网络驱动器和可移动介质)
  --printall            打印所有已扫描的文件
  --allreasons          打印导致分数的所有原因
  --noprocscan          跳过进程扫描
  --nofilescan          跳过文件扫描
  --vulnchecks          运行漏洞检查
  --nolevcheck          跳过 Levenshtein 距离检查
  --scriptanalysis      对脚本进行统计分析以检测混淆代码(beta)
  --rootkit             跳过 rootkit 检查
  --noindicator         不显示进度指示器
  --dontwait            退出时不等待
  --intense             高强度扫描模式(也扫描未知文件类型和所有扩展名)
  --csv                 以 CSV 日志格式输出到 STDOUT(机器处理)
  --onlyrelevant        仅打印警告或告警
  --nolog               不写入本地日志文件
  --update              从 "signature-base" 子仓库更新签名
  --debug               调试输出
  --maxworkingset MAXWORKINGSET
                        要扫描的进程最大工作集大小(MB,默认 100 MB)
  --syslogtcp           使用 TCP 而非 UDP 进行 syslog 日志记录
  --logfolder log-folder
                        未指定日志文件时用于日志记录的文件夹
  --nopesieve           不执行 pe-sieve 扫描
  --pesieveshellc       执行 pe-sieve shellcode 扫描
  --nolisten            不显示侦听连接
  --excludeprocess EXCLUDEPROCESS
                        指定要从扫描中排除的可执行文件名称,可多次使用
  --force               强制扫描特定文件夹(即使被 LOKI 代码中的硬排除项排除)

签名和 IOC

自 0.15 版起,Yara 签名位于子仓库 signature-base 中。通过 ZIP 文件下载 LOKI 时不会获得子仓库。克隆仓库时它将包含在内。

哈希和文件名的 IOC 文件存储在 './signature-base/iocs' 文件夹中。所有放置在 './signature-base/yara' 文件夹中的 '.yar' 文件将与已包含的规则集一起初始化。使用 'score' 值定义签名匹配时的消息级别。

您可以通过将文件添加到 './signature-base/iocs' 子文件夹来添加哈希、C2 和文件名 IOC。所有哈希 IOC 和文件名 IOC 文件必须采用 LOKI 使用的格式(参见默认文件)。文件名中必须包含字符串 "hash"、"filename" 或 "c2" 才能在初始化时被加载。

对于哈希 IOC(按换行符分隔;哈希类型自动检测)

root@kitploit:~
Hash;Description [Reference]

对于文件名 IOC(按换行符分隔)

root@kitploit:~
# (optional) Description [Reference]
Filename as Regex[;Score as integer[;False-positive as Regex]]

用户自定义扫描排除项

自 v0.16.2 版起,LOKI 支持通过 "./config" 文件夹中的 "excludes.cfg" 定义用户自定义排除项。每一行是一个正则表达式,应用于目录遍历期间的完整文件路径。这样您可以排除某些目录(无论其驱动器名称如何)、某些文件夹中的文件扩展名以及属于对防病毒扫描敏感的产品中的所有文件和目录。

'''exclude.cfg''' 内容如下:

root@kitploit:~
# Excluded directories
#
# - add directories you want to exclude from the scan
# - double escape back slashes
# - values are case-insensitive
# - remember to use back slashes on Windows and slashes on Linux / Unix / OSX
# - each line contains a regex that matches somewhere in the full path (case insensitive)
#   e.g.:
#   Regex: \\System32\\
#   Matches C:\Windows\System32\cmd.exe
#
#   Regex: /var/log/[^/]+\.log
#   Matches: /var/log/test.log
#   Not Matches: /var/log/test.gz
#

# Useful examples
\\Ntfrs\\
\\Ntds\\
\\EDB[^\.]+\.log
Sysvol\\Staging\\Nntfrs_cmp
\\System Volume Information\\DFSR

截图

Loki 扫描

Screen

Regin 匹配

Screen

Regin 误报

Screen

基于哈希的 IOC

Screen

基于文件名的 IOC

Screen

生成的日志文件

Screen

联系方式

LOKI 扫描器公司主页 https://www.nextron-systems.com/loki/

Twitter @cyb3rOps @thor_scanner

如果您对 APT 扫描的企业解决方案感兴趣,请查看 Loki 的“大哥” THOR。

编译扫描器

下载 PyInstaller,切换到 pyinstaller 程序目录并执行:

root@kitploit:~
python ./pyinstaller.py -F C:\path\to\loki.py

这将在子文件夹 ./loki/dist 中创建 loki.exe。

专业提示(可选)

要包含 msvcr100.dll 以提高目标操作系统兼容性,请将文件 ./loki/loki.spec 中包含 a.binaries, 的行修改为:

root@kitploit:~
a.binaries + [('msvcr100.dll', 'C:\Windows\System32\msvcr100.dll', 'BINARY')],

在 Mac OS X(或更高版本)或 Linux 上使用 LOKI

  • 为 loki 初始化一个 Python 虚拟环境。为此,您需要确保拥有 Python 模块 venv,然后运行 python -m venv path/to/venv,其中 path/to/venv 是虚拟环境的路径。通过运行 path/to/venv/bin/python --version 测试您的虚拟环境。 升级虚拟环境模块 pip、setuptools 和 wheel:运行 path/to/venv/bin/python -m pip install --upgrade pip setuptools wheel。
  • 安装库:path/to/venv/bin/python -m pip install colorama yara-python psutil rfc5424-logging-handler netaddr
  • 运行 loki-upgrader.py:path/to/venv/bin/python path/to/loki/loki-upgrader.py,其中 path/to/loki 是 Loki 仓库的路径。
  • 运行 loki:sudo path/to/venv/bin/python loki.py

Yara 源码

从此处下载 Yara 源码:此处

防病毒 - 误报

编译后的扫描器可能会被防病毒引擎检测到。这是因为扫描器是一个编译后的 Python 脚本,实现了某些文件系统和进程扫描功能,这些功能也常用于编译后的恶意软件代码。

如果您不信任编译后的可执行文件,请自行编译。

许可证

Loki - 简易 IOC 扫描器 版权所有 (c) 2015 Florian Roth

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

下载工具