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 这里仅针对以下驱动器类型:

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

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

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

现在让我们了解 BiBi-Windows Wiper 如何摧毁机器上的数据。
Mersenne Twister PseudoRandom Number Generator Algorithm(梅森旋转伪随机数生成算法),该算法生成随机数,如下所示。
sub_140008BF0() 生成的随机数随后与值 "0xFF + 1 = 100" 执行取模(%),取模操作的输出(余数)即为逐字节覆盖到目标文件中的字节。
下面以包含数据 "hello" 的文件为例,它被循环中的这 5 个随机字节覆盖。
ogfile_val -> rand_num % (hardcoded_val + 1) -> overwrite_val
h - 0xDD9B40A5 % 0x100 -> 0xA5
e - 0x37905317 % 0x100 -> 0x17
l - 0x54B7A20C % 0x100 -> 0x0C
l - 0xDBD10533 % 0x100 -> 0x33
o - 0x18ED3C42 % 0x100 -> 0x42
文件被随机字节覆盖 - 已销毁!

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

因此,BiBi-Windows Wiper 会以这种方式摧毁目标目录中的所有文件:用随机字节覆盖文件中的数据。由于循环(即轮次)是无限的,Wiper 将持续以随机字节递归地多次覆盖文件,永不停歇,从而彻底摧毁机器上的文件!
BiBi-Windows Wiper 执行界面展示了目标目录、CPU 核心数、线程数、轮次编号、统计信息以及带有 .BiBi 扩展名的已销毁文件。

感谢阅读!- knight0x07