简单的 Bash IOC 扫描器
Fenrir 是一个简单的 IOC 扫描器 bash 脚本。它可以扫描 Linux/Unix/OSX 系统,查找以下入侵指标(IOC):
哈希值
MD5、SHA1 和 SHA256(使用 md5sum、sha1sum、sha -a 256)
文件名称
字符串 - 检查完整路径的子字符串,例如 "/var/temp/p.exe" 中的 "temp/p.exe"
字符串
在文件中进行 grep 搜索
C2 服务器
检查 'lsof -i' 和 'lsof -i -n' 输出中的 C2 服务器字符串
热时间范围
使用不同模式的 stat 命令 - 定义最小和最大纪元时间戳,获取在此之间创建的所有文件
基本特性:
FENRIR 是继 THOR 和 LOKI 之后的第三款工具。THOR 是我们的全功能 APT 扫描器,面向企业客户,拥有多种模块和导出类型。LOKI 是一款免费且开源的 IOC 扫描器,使用 YARA 作为签名格式。
这两款前辈工具的问题在于,它们在 Linux 平台上都有特定的要求。我们为特定 Linux 版本构建 THOR,以匹配 YARA 模块所需的正确 libc。LOKI 在 Linux 上运行需要安装 Python 和 YARA。
我们面临的问题是在不安装代理或软件包的情况下,检查超过 100 个不同的 Linux 系统是否存在某些入侵指标(IOC)。我们已经有一个 Ansible 剧本,用于在一组定义的 Linux 远程系统上分发 THOR。该剧本在远程系统上创建一个 RAM 驱动器,将本地程序二进制文件复制到远程系统,运行它,然后检索日志。这确保了程序在远程系统上的占用最小。我已将 Ansible 剧本适配用于 Fenrir。(目前仍未经测试)
Fenrir 仍处于“测试”阶段。请通过 GitHub 的“Issues”部分报告错误(以及解决方案)。
如果您发现脚本中评估部分的更好/更稳定/更不易出错的解决方案,请反馈给我。我不是全职的 bash 程序员,所以预计还有一些改进空间。
用法: ./fenrir.sh 目录
目录 - 递归扫描的起始点
所有设置都可以在脚本头部配置。

Fenrir 执行以下操作:
在演示目录上运行扫描,显示不同的匹配类型。

检测 C2 连接

检测 GZIP 压缩日志文件中的字符串

配置

Ansible 剧本

关于 Linux 文件系统上 CREATED 文件时间戳的 stat 问题

通过 Twitter @Cyb3rOps