CuckooSandbox 自定义规则-监控注册表

目标:监控利用ATBroker,来达到自启动行为
思路:监控关键注册表写入

from lib.cuckoo.common.abstracts import Signature
import re

class TestReg(Signature):
    name = "test_reg"
    description = "just for test registry"
    severity = 40  #这里给40分是因为这个分数最终会除5
    categories = ["reg"]
    authors = ["none"]
    minimum = "2.0"

    # 这里一定要写要监控的API名称,否则会监控所有的API
    # 这里过滤的api名称,直接影响到on_call函数中的call["arguments"]["regkey"]
    # 因为不是所有api都有这个regkey参数,如果不写过滤可能会在on_call报错
    filter_apinames = [
        "RegSetValueExA",
        "RegSetValueExW",
        "NtSetValueKey",
    ]

    # 当API被调用的时候,用正则过滤你要监控哪些注册表键
    indicator = ".*\\\\SOFTWARE\\\\(Wow6432Node\\\\)?Microsoft\\\\Windows NT\\\\CurrentVersion\\\\Accessibility\\\\.*"

    def on_call(self, call, process):
        regkey = call["arguments"]["regkey"]
        regvalue = call["arguments"]["value"]

        # 当上面的API被调用的时候,使用正则过滤注册表键,使用self.mark打印出来
        if re.match(self.indicator,regkey,re.IGNORECASE):
            self.mark(process=process['process_name'], reg_key=regkey, reg_value=regvalue)

    # 如果在on_call函数中有调用mark函数,这里就返回has_marks()
    def on_complete(self):
        return self.has_marks()

效果图:

这里写图片描述

匹配到任何Signature,都会出现在沙箱报告的Signatures部分下面

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值