Linux勒索样本KillDisk分析报告
字数 1190 2025-08-25 22:58:56

Linux勒索样本KillDisk分析教学文档

一、样本概述

KillDisk是一款知名的恶意软件,最初由BlackEnergy组织开发,用于攻击乌克兰电网和银行系统。本分析针对其Linux平台的变种勒索样本,主要特点包括:

  • 修改系统grub导致开机异常
  • 加密系统多个关键目录下的文件
  • 使用三重DES加密算法
  • 每个文件使用随机生成的密钥加密
  • 勒索信息通过修改后的grub界面显示

二、样本基本信息

文件类型:Linux 64位可执行程序
样本特征

  • 未加密
  • 未加壳
  • 主要函数:main、print_bnr、bypass_dir、crypt_file、gen_key等

相关HASH值

8F43BDF6C2F926C160A65CBCDD4C4738A3745C0C
26633a02c56ea0df49d35aa98f0fb538335f071c
84a2959b0ab36e1f4e3abd61f378dc554684c9fc
95fc35948e0ce9171dfb0e972add2b5d03dc6938
92fe49f6a758492363215a58d62df701afb63f66
b2e566c3ce8da3c6d9b4dc2811d5d08729dc2900
2379a29b4c137afb7c0fd80a58020f5e09716437
25074a17f5544b6f70ba3e66ab9b08adf2702d41

三、技术分析

1. 执行流程

  1. 创建守护进程

    daemon(0, 0);  // 创建Linux守护进程
    
  2. 修改grub启动项

    • 通过print_bnr函数实现
    • 修改/etc/default/grub/boot/grub/menu.lst/boot/loader.rc
    • 写入/etc/grub.d/40_custom文件
    • 删除/etc/grub.d目录下非40_custom的文件
    • 执行update-grub命令更新配置
  3. 文件加密

    • 分两个阶段加密不同目录
    • 使用三重DES算法
    • 每个文件使用随机生成的密钥

2. 加密目标目录

第一阶段加密目录

/boot
/bin
/sbin
/lib/security
/lib64/security
/usr/local/etc
/etc
/mnt
/share
/media
/home

第二阶段加密目录

/usr
/tmp
/opt
/var
/root

3. 加密算法实现

  1. 密钥生成

    • 通过gen_key函数为每个文件生成3个随机密钥
    • 密钥生成基于随机数
  2. 文件加密过程

    • 文件分块处理,每块4096字节
    • 使用三个加密函数:crypt_allcrypt_10mbcrypt_1mb
    • 最终都调用my_ecb_crypt实现三重DES加密
  3. 加密特点

    • 每个文件使用独立随机密钥
    • 加密后无法恢复(除非有密钥)
    • 跳过grub相关文件避免系统完全无法启动

四、防御与检测

1. 防御措施

  1. 系统防护

    • 定期备份重要文件
    • 限制/etc/grub.d目录的写权限
    • 监控update-grub命令的执行
    • 使用文件完整性监控工具
  2. 安全实践

    • 保持系统更新
    • 限制root权限使用
    • 使用SELinux或AppArmor

2. 检测指标

  1. 文件系统变化

    • /etc/grub.d/40_custom异常修改
    • 关键目录文件被修改为加密状态
  2. 进程行为

    • 异常守护进程创建
    • 大量文件读取操作
  3. 网络行为

    • 比特币地址通信(虽然样本未明确包含)

五、勒索软件发展趋势

  1. 平台扩展

    • 从Windows向Linux、Android、IoT设备迁移
    • 云环境和数据库成为新目标
  2. 技术演变

    • 从简单文件加密到修改引导区
    • 多语言实现(C/C++, Java, Python, Go等)
  3. 开源影响

    • 开源勒索软件降低攻击门槛
    • 变种数量快速增长

六、相关资源

开源勒索软件参考:

https://github.com/eyecatchup/Critroni-php
https://github.com/PanagiotisDrakatos/JavaRansomware
https://github.com/NTNUCIC/ransomware
https://github.com/Monkey-D-Groot/Ransomware
https://github.com/gdbinit/gopher
https://github.com/NullArray/Cypher
https://github.com/qnighy/ransomware-demo
https://github.com/alextspy/Ransomware
https://github.com/CHRISTOPHERDIEHL/Ransomware
https://github.com/ultra723/ransomware
https://github.com/tfairane/AndroMalware
https://github.com/AlphaDelta/DUMB
https://github.com/mymortal/Ransomware
https://github.com/brucecio9999/CryptoWire-Advanced-AutoIt-ransomware-Project
https://github.com/lucdew/goransomware
https://github.com/zongyuwu/RansomRB
https://github.com/SadFud/GG-Ransomware
https://github.com/marcosValle/RansPy

参考链接:

https://www.bleepingcomputer.com/news/security/killdisk-ransomware-now-targets-linux-prevents-boot-up-has-faulty-encryption/
http://www.welivesecurity.com/2017/01/05/killdisk-now-targeting-linux-demands-250k-ransom-cant-decrypt/
https://www.bleepingcomputer.com/news/security/killdisk-disk-wiping-malware-adds-ransomware-component/
http://www.welivesecurity.com/2016/12/13/rise-telebots-analyzing-disruptive-killdisk-attacks/
http://blog.nsfocus.net/analysis-ukrenergo-blackout-event-ukraine/
Linux勒索样本KillDisk分析教学文档 一、样本概述 KillDisk是一款知名的恶意软件,最初由BlackEnergy组织开发,用于攻击乌克兰电网和银行系统。本分析针对其Linux平台的变种勒索样本,主要特点包括: 修改系统grub导致开机异常 加密系统多个关键目录下的文件 使用三重DES加密算法 每个文件使用随机生成的密钥加密 勒索信息通过修改后的grub界面显示 二、样本基本信息 文件类型 :Linux 64位可执行程序 样本特征 : 未加密 未加壳 主要函数:main、print_ bnr、bypass_ dir、crypt_ file、gen_ key等 相关HASH值 : 三、技术分析 1. 执行流程 创建守护进程 : 修改grub启动项 : 通过 print_bnr 函数实现 修改 /etc/default/grub 或 /boot/grub/menu.lst 或 /boot/loader.rc 写入 /etc/grub.d/40_custom 文件 删除 /etc/grub.d 目录下非40_ custom的文件 执行 update-grub 命令更新配置 文件加密 : 分两个阶段加密不同目录 使用三重DES算法 每个文件使用随机生成的密钥 2. 加密目标目录 第一阶段加密目录 : 第二阶段加密目录 : 3. 加密算法实现 密钥生成 : 通过 gen_key 函数为每个文件生成3个随机密钥 密钥生成基于随机数 文件加密过程 : 文件分块处理,每块4096字节 使用三个加密函数: crypt_all 、 crypt_10mb 、 crypt_1mb 最终都调用 my_ecb_crypt 实现三重DES加密 加密特点 : 每个文件使用独立随机密钥 加密后无法恢复(除非有密钥) 跳过grub相关文件避免系统完全无法启动 四、防御与检测 1. 防御措施 系统防护 : 定期备份重要文件 限制 /etc/grub.d 目录的写权限 监控 update-grub 命令的执行 使用文件完整性监控工具 安全实践 : 保持系统更新 限制root权限使用 使用SELinux或AppArmor 2. 检测指标 文件系统变化 : /etc/grub.d/40_custom 异常修改 关键目录文件被修改为加密状态 进程行为 : 异常守护进程创建 大量文件读取操作 网络行为 : 比特币地址通信(虽然样本未明确包含) 五、勒索软件发展趋势 平台扩展 : 从Windows向Linux、Android、IoT设备迁移 云环境和数据库成为新目标 技术演变 : 从简单文件加密到修改引导区 多语言实现(C/C++, Java, Python, Go等) 开源影响 : 开源勒索软件降低攻击门槛 变种数量快速增长 六、相关资源 开源勒索软件参考: 参考链接: