楼主: 菜叶片
收起左侧

[病毒样本] 飞星勒索病毒v1.1

  [复制链接]
菜叶片
 楼主| 发表于 2025-2-2 21:06:09 | 显示全部楼层
本帖最后由 菜叶片 于 2025-2-2 21:09 编辑
全身发抖 发表于 2025-2-2 21:03
这个怎么弄来着?老久没有编程了
这是Gemini写的 没测试 应该没什么问题?
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
import os

def chacha20_file_decrypt(input_file, output_file, key, nonce):
    """
    使用 ChaCha20 解密文件。

    Args:
        input_file (str): 输入文件路径。
        output_file (str): 输出文件路径。
        key (bytes): 32 字节的密钥。
        nonce (bytes): 8 字节的 nonce。
    """
    try:
        with open(input_file, 'rb') as infile:
            ciphertext = infile.read()

        cipher = Cipher(algorithms.ChaCha20(key, nonce), mode=None, backend=default_backend())
        decryptor = cipher.decryptor()
        plaintext = decryptor.update(ciphertext) + decryptor.finalize()

        with open(output_file, 'wb') as outfile:
            outfile.write(plaintext)

        print(f"文件已成功解密并保存到: {output_file}")

    except FileNotFoundError:
        print(f"错误:找不到文件: {input_file}")
    except Exception as e:
        print(f"解密过程中发生错误: {e}")


if __name__ == '__main__':
    key = bytes([0x20, 0x06, 0x02, 0x25, 0x4a, 0x69, 0x75, 0x59, 0x61, 0x6e, 0x20, 0x47, 0x69, 0x74, 0x48, 0x75,
                 0x62, 0x43, 0x4e, 0x4d, 0x72, 0x53, 0x75, 0x6e, 0x73, 0x68, 0x69, 0x6e, 0x65, 0x51, 0x41, 0x51])
    nonce = bytes([0x59, 0x65, 0x50, 0x69, 0x61, 0x6e, 0x58, 0x44])

    input_file = 'encrypted.txt'  # 替换为你的加密文件路径
    output_file = 'decrypted.txt' # 替换为你想要保存的解密文件路径

    # 创建一个测试加密文件
    with open(input_file, 'wb') as f:
        f.write(os.urandom(1024))

    # 加密文件
    cipher = Cipher(algorithms.ChaCha20(key, nonce), mode=None, backend=default_backend())
    encryptor = cipher.encryptor()
    with open(input_file, 'rb') as infile:
        ciphertext = encryptor.update(infile.read()) + encryptor.finalize()
    with open(input_file, 'wb') as outfile:
        outfile.write(ciphertext)

    chacha20_file_decrypt(input_file, output_file, key, nonce)
全身发抖
发表于 2025-2-2 21:11:21 | 显示全部楼层
糟了,忘了咋搞了,编译一个exe吧,顺便以后更新的时候附上解密器,免得有人的重要文件废了
momli
发表于 2025-2-2 21:14:01 | 显示全部楼层
全身发抖 发表于 2025-2-2 21:11
糟了,忘了咋搞了,编译一个exe吧,顺便以后更新的时候附上解密器,免得有人的重要文件废了

实机测自制杀毒?
0殺神在心0
发表于 2025-2-2 21:15:39 来自手机 | 显示全部楼层
菜叶片 发表于 2025-2-2 21:03
我就是自定义VEH啊
现在在用github开源的EDR检测到底是哪里出了问题

哥们 看了看上文 你这个理解有明显误区啊
勒索病毒 都有创建/删除/遍历这几个特征
这些都可以直接用MiniFilter获得到最后结果
你说注入被拦说你用了syscall 但你用创建线程注入的方法注入直接会被杀软注册的ThreadRoutineNotify回调抓住的吧
又不是apc注入那些(即使是 那你猜EtwTi是干嘛用的)
还有都用开源edr了 被研究烂的东西
开源edr查不出来不是很正常吗
全身发抖
发表于 2025-2-2 21:15:57 | 显示全部楼层
确切来说,是有"重要文件"的虚拟机
菜叶片
 楼主| 发表于 2025-2-2 21:17:05 | 显示全部楼层
DisaPDB 发表于 2025-2-2 18:35
本身syscall的目的是为了绕过用户态钩子让edr无法判断ntapi的真实调用方,你这种调用方式已经让系统调用 ...

谢谢大佬 找到问题了
调用链没有问题 但是 确实 栈回溯能检测出问题
调用堆栈很乱 指向了很多莫名其妙的内存地址
现在打算用别人的汇编项目 对Nt*函数的ret机器码Hook 进行栈欺骗
但是 很奇怪 我尝试通过设置执行硬件断点Hook ret所在地址 但是失败了 没有任何作用
驭龙
发表于 2025-2-2 21:41:37 | 显示全部楼层
anthonyqian 发表于 2025-2-2 20:51
The detection for this threat will be included in the next update of detection engine, expected vers ...

ESET这次的效率不错啊,我这边特征库30649P就已经可以杀了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
菜叶片
 楼主| 发表于 2025-2-2 21:52:54 | 显示全部楼层
0殺神在心0 发表于 2025-2-2 21:15
哥们 看了看上文 你这个理解有明显误区啊
勒索病毒 都有创建/删除/遍历这几个特征
这些都可以直接用Min ...

我知道啊 勒索病毒遍历还改文件 这掩盖不了
我也说了绕不过内核回调
但是我现在先想办法把能掩盖的系统调用掩盖掉
那个大佬也说了 有的写入内存之类的操作 是没有对应回调函数的
我也没说注入被拦是因为syscall... 引用的反射型dll注入github项目确实方法很久远了(16年前的 最初的反射型dll注入)
哎 我不会写shellcode 要是能写成shellcode 能比注入dll安全
注入dll有方法可以不创建线程?抱歉没听说过:(
全身发抖
发表于 2025-2-2 22:54:34 | 显示全部楼层
菜叶片 发表于 2025-2-2 21:52
我知道啊 勒索病毒遍历还改文件 这掩盖不了
我也说了绕不过内核回调
但是我现在先想办法把能掩盖的系统 ...

在win7上复测了,20分钟愣是嘛事没有
biue
发表于 2025-2-3 00:10:40 | 显示全部楼层
腾讯电脑管家 1X

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-9 10:11 , Processed in 0.107019 second(s), 15 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表