Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
BiBi-Windows-Wiper-Analysis — 针对以色列组织的 Bibi-Windows Wiper 技术分析 | Kitploit
工具/GitHubGitHub/knight0x07/bibi-windows-wiper-analysis
逆向工程恶意软件分析数字取证二进制分析威胁情报事件响应
GitHubknight0x07/bibi-windows-wiper-analysis

BiBi-Windows-Wiper-Analysis

针对以色列组织的 Bibi-Windows Wiper 技术分析

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
812年前尚未审核

BiBi-Windows Wiper 针对以色列组织的技术分析

10月30日,Security Joes 事件响应团队发现了一个名为 "BiBi-Linux" 的新型 Linux Wiper,由亲哈马斯黑客组织部署,用于摧毁其基础设施。随后在 2023 年 11 月 1 日,ESET Research 发推称出现了 Bibi Wiper 的 Windows 版本,该版本由 BiBiGun 部署,BiBiGun 是一个哈马斯支持的黑客组织,最初在 2023 年以色列-哈马斯冲突期间出现。

在本文中,我们将分析 BiBi Wiper 的 Windows 版本,即 "BiBi-Windows Wiper"。

技术分析

执行时,BiBi-Windows Wiper 会检查是否有任何参数传递给 BiBi Wiper。这里的参数是要被摧毁的目录 - bibi.exe <directory_to_destroyed>。如果未提供参数,它将执行以下例程来获取目标驱动器:

  • 读取硬编码路径:"C:\Users"

  • 使用 GetLogicalDrives() 获取当前可用的磁盘驱动器,返回值是位掩码(bitmask),然后遍历 A-Z(26 个)驱动器。接着用检索到的位掩码执行位测试,以确定系统上可访问的驱动器,并将 ":\" 追加到驱动器名称后。

  • 这里通过检查 i != 2 排除 C 盘,其中 2 是 C 盘对应的位掩码位置。

  • 然后对除 C 盘外的可用驱动器执行 GetDriveTypeA() 以获取驱动器类型。BiBi-Windows Wiper 这里仅针对以下驱动器类型:

    • DRIVE_FIXED
    • DRIVE_REMOVABLE
    • DRIVE_RAMDISK

1

因此,BiBi-Windows Wiper 的目标为:

  • 硬编码目录 - "C:\Users"
  • 以及除 "C:" 驱动器外的所有可用驱动器

此外,它会在控制台打印目标目录,并通过 GetNativeSystemInfo() 获取 NumberOfProcessors(处理器数量),然后根据处理器数量计算线程数,并将其打印到控制台。

2

此外,它还会创建一个新线程,读取反向存储的命令,然后使用 CreateProcessA 创建一个新进程来执行这些命令。命令如下:

  • cmd.exe /c bcdedit /set {default} recoveryenabled no - 禁用 Windows 恢复环境
  • cmd.exe / c bcdedit / set {default} bootstatuspolicy ignoreallfailures - 强制系统正常启动,而不是进入 Windows 恢复环境
  • cmd.exe /c wmic shadowcopy delete - 使用 WMIC 删除卷影副本
  • cmd.exe /c vssadmin delete shadows /quIet /all - 使用 VssAdmin 删除卷影副本

3

此外,它还会创建另一个线程来执行主要 Wiper 例程。Wiper 例程执行以下操作:

  • Wiper 函数的参数为:
    • Arg1 - 要摧毁的目录路径(可由操作员提供,或按前述方式获取)
    • Arg2 - 线程数
  • 然后它会启动一个无限循环,计数器是 Round "[+] Round %d\n" 的值 - 因此一旦 Wiper 被执行,它就会无限地持续摧毁数据!
  • 此外,根据线程数,它会在循环中创建多个线程,这些线程执行主要的 Wiper 函数。
  • BiBi-Windows Wiper 会排除扩展名为 ".exe"、".dll" 和 ".sys" 的文件

4

Wiper 函数分析

现在让我们了解 BiBi-Windows Wiper 如何摧毁机器上的数据。

  • Wiper 首先递归遍历要加密的目录,然后获取目标文件的大小。
  • 然后,它根据文件大小在循环中对目标文件执行 wiper 函数,其中 wiper 函数的第二个参数是 "0xFF"。
  • Wiper 函数实现了 Mersenne Twister PseudoRandom Number Generator Algorithm(梅森旋转伪随机数生成算法),该算法生成随机数,如下所示。

5

  • 由函数 sub_140008BF0() 生成的随机数随后与值 "0xFF + 1 = 100" 执行取模(%),取模操作的输出(余数)即为逐字节覆盖到目标文件中的字节。

7

下面以包含数据 "hello" 的文件为例,它被循环中的这 5 个随机字节覆盖。

ogfile_val -> rand_num % (hardcoded_val + 1) -> overwrite_val

root@kitploit:~
h - 0xDD9B40A5 % 0x100 -> 0xA5
e - 0x37905317 % 0x100 -> 0x17
l - 0x54B7A20C % 0x100 -> 0x0C
l - 0xDBD10533 % 0x100 -> 0x33
o - 0x18ED3C42 % 0x100 -> 0x42

文件被随机字节覆盖 - 已销毁!

9

现在,一旦文件中的数据被随机字节覆盖且文件已被销毁,BiBi Wiper 会按以下方式更改文件名:

  • 它会再次调用之前的梅森旋转函数,这次硬编码参数是 "0x3D"。一旦生成随机数,它就会与 "0x3E" 执行取模运算,并以类似方式存储输出(余数)值。
  • 然后,将输出余数值乘以 2,再将该值作为索引,从一个宽字符串中取字符,如下所示:
root@kitploit:~
rand_no = twisterfunc()
remainder_output = rand_no % (0x3D + 1)
wide_string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
filename_byte = wide_string[remainder_output * 2]

Thus,
if random num = 0xC6D15D79
mod_out = 0xC6D15D79 % 0x3E => 0x31
offset = 0x31 × 0x2 = 0x62
so the 62nd indexed value in the wide string becomes one of the character for the filename. In this case the value is "n"

同样的例程会执行 0xA(10)次,所有索引到的值会拼接在一起,形成随机文件名,例如 1wnRvB6teT,然后扩展名 ".BiBi"(Bibi 是以色列总理本杰明·内塔尼亚胡的昵称) 会连同 末尾的轮次编号 一起添加,格式如下 - <rand_filename>.BiBi

10

因此,BiBi-Windows Wiper 会以这种方式摧毁目标目录中的所有文件:用随机字节覆盖文件中的数据。由于循环(即轮次)是无限的,Wiper 将持续以随机字节递归地多次覆盖文件,永不停歇,从而彻底摧毁机器上的文件!

BiBi-Windows Wiper 执行界面展示了目标目录、CPU 核心数、线程数、轮次编号、统计信息以及带有 .BiBi 扩展名的已销毁文件。

12

感谢阅读!- knight0x07

下载工具