分布式恶意软件分析编排框架
项目描述
Karton 
基于Python、Redis和S3的分布式恶意软件处理框架。
理念
Karton是一个强大的框架,用于创建灵活和轻量级的恶意软件分析后端。它可以很容易地将恶意软件分析系统连接到一个强大的管道中。
我们已经从事自动化业务很长时间。我们处理的威胁越来越多,我们必须自动化一切以跟上事件。因此,我们经常使用很多脚本粘合在一起,使用橡皮泥和WD-40。这些脚本是在分析员的紧张时刻编写的,脆弱而丑陋 - 但它们有效,并且产生了必须存储、进一步处理、发送到其他系统或与其他组织共享的情报。
我们需要一种方式,可以将我们的PoC脚本轻松插入到我们的分析管道中。我们还希望监控它们的执行,集中日志记录,提高鲁棒性,减少开发惯性...为此目的,我们创建了Karton。
*虽然Karton是为恶意软件分析设计的,但它非常适合任何面向微服务的项目。
安装
安装就像一个简单的pip install
命令一样简单
pip3 install karton-core
为了设置整个后端环境,您还需要S3兼容的存储和Redis,有关详细信息,请参阅文档。
示例用法
要使用Karton,您必须提供继承自Karton的类。
from karton.core import Karton, Task, Resource
class GenericUnpacker(Karton):
"""
Performs sample unpacking
"""
identity = "karton.generic-unpacker"
filters = [
{
"type": "sample",
"kind": "runnable",
"platform": "win32"
}
]
def process(self, task: Task) -> None:
# Get sample object
packed_sample = task.get_resource('sample')
# Log with self.log
self.log.info(f"Hi {packed_sample.name}, let me analyze you!")
...
# Send our results for further processing or reporting
task = Task(
{
"type": "sample",
"kind": "raw"
}, payload = {
"parent": packed_sample,
"sample": Resource(filename, unpacked)
})
self.send_task(task)
if __name__ == "__main__":
GenericUnpacker.main()
Karton系统
一些Karton系统是通用的,对每个人都很有用。我们决定与社区分享它们。
karton
此仓库。它包含karton.system
服务 - 主服务,负责在系统中调度任务。它还包含karton.core
模块,该模块被其他系统用作库。
karton-dashboard
一个小型Flask仪表板,用于任务、队列管理和监控。
karton-classifier
“路由器”。它识别样本/文件,并根据文件格式产生各种任务类型。因此,其他系统只需监听具有特定格式的任务(例如,仅zip
存档)。
karton-archive-extractor
通用存档解包器。上传到系统的存档将被解包,每个文件都将单独处理。
karton-config-extractor
恶意软件提取器。它使用Yara规则和Python模块从恶意软件样本和分析了静态配置。它是一根钓竿,而不是鱼 - 我们不共享模块本身。但写自己的很容易!
karton-mwdb-reporter
管道的重要组成部分。报告者将分析过程中产生的所有文件、标签、注释和其他情报提交到MWDB。如果您尚未使用MWDB或更喜欢其他后端,编写自己的报告者很容易。
karton-yaramatcher
自动在管道中的所有文件上运行Yara规则,并相应地标记样本。不包括规则;)。
karton-asciimagic
能够解码使用常见方法编码的文件的Karton系统,如hex
、base64
等。(你不会相信它有多普遍)。
karton-autoit-ripper
围绕AutoIt-Ripper的小型包装器,可以从编译的AutoIt可执行文件中提取嵌入的AutoIt脚本和资源。
DRAKVUF沙箱
带有DRAKVUF引擎的自动化黑盒恶意软件分析系统,不需要在虚拟机OS上安装代理。
这些系统可以这样使用,以形成一个基本的恶意软件分析管道:[图片链接]
采用Karton框架的社区项目
c3rb3ru5d3d53c/karton-unpacker
一个模块化的Karton框架服务,使用Qiling框架解包常见的打包器,如UPX等。
c3rb3ru5d3d53c/mwcfg / c3rb3ru5d3d53c/mwcfg-modules
适用于MalDuck的丰富功能模块化恶意软件配置提取工具
raw-data/karton-die-classifier
Detect-It-Easy分类器,适用于Karton框架
raw-data/karton-retdec-unpacker
适用于Karton框架的RetDec解包器模块
W3ndige/aurora / W3ndige/karton-similarity
具有模块化思想的恶意软件相似性平台。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
karton_core-5.5.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2f308ef84c68dbf65d871b77d2367e63cbab125c061155247b570cc92ebc156 |
|
MD5 | 165e6c9467295b147724005a2765d440 |
|
BLAKE2b-256 | 05a10b36a63819e3c9b0d1ade72a4602a2d3febd5994ea652417bf1cf38e159b |