Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/knight0x07/bibi-windows-wiper-analysis
Ingeniería InversaAnálisis de MalwareForensia DigitalAnálisis de BinariosInteligencia de AmenazasRespuesta a Incidentes
GitHubknight0x07/bibi-windows-wiper-analysis

BiBi-Windows-Wiper-Analysis

Análisis técnico del wiper Bibi-Windows dirigido a organizaciones israelíes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
81hace 2 añosAún no revisado

Análisis Técnico del BiBi-Windows Wiper que Apunta a Organizaciones Israelíes

El 30 de octubre, el equipo de Respuesta a Incidentes de Security Joes descubrió un nuevo Wiper para Linux llamado "BiBi-Linux", implementado por un grupo hacktivista pro-Hamás para destruir su infraestructura. Y luego, el 1 de noviembre de 2023, la investigación de ESET tuiteó sobre una versión para Windows del Wiper Bibi implementada por BiBiGun, un grupo hacktivista respaldado por Hamás que debutó inicialmente durante el conflicto entre Israel y Hamás de 2023.

En esta publicación, veremos la versión para Windows del BiBi Wiper conocida como "BiBi-Windows Wiper".

Análisis Técnico

Tras su ejecución, el BiBi-Windows Wiper comprueba si se han pasado argumentos al BiBi Wiper. Los argumentos aquí son el directorio a destruir: bibi.exe <directorio_a_destruir>. Si no se proporciona ningún argumento, realiza la siguiente rutina para obtener las unidades de destino:

  • Lee la ruta hardcodeada: "C:\Users"

  • Obtiene las unidades de disco actualmente disponibles mediante GetLogicalDrives(), donde el valor de retorno es el bitmask; luego itera a través de las 26 unidades (A-Z). A continuación, realiza un bittest con el bitmask recuperado para determinar las unidades accesibles en el sistema y añade ":\" al nombre de la unidad.

  • Aquí excluye la unidad C comprobando i != 2, donde 2 es la posición del bitmask para la unidad C.

  • Luego, para las unidades disponibles excepto la unidad C, ejecuta GetDriveTypeA(), que recupera el tipo de unidad. El BiBi-Windows Wiper aquí solo apunta a los siguientes tipos de unidad:

    • DRIVE_FIXED
    • DRIVE_REMOVABLE
    • DRIVE_RAMDISK

1

Por lo tanto, el BiBi-Windows Wiper apunta a:

  • El directorio hardcodeado: "C:\Users"
  • Y todas las unidades disponibles excepto la unidad "C:"

Además, imprime los directorios objetivo en la consola y recupera NumberOfProcessors de GetNativeSystemInfo(). Según el numberofprocessors, calcula los hilos (threads) y luego los imprime en la consola.

2

Además, crea un nuevo hilo que lee los comandos almacenados en orden inverso y luego crea un nuevo proceso usando CreateProcessA para ejecutar esos comandos. Los siguientes son los comandos:

  • cmd.exe /c bcdedit /set {default} recoveryenabled no - Desactiva el Entorno de Recuperación de Windows
  • cmd.exe / c bcdedit / set {default} bootstatuspolicy ignoreallfailures - Fuerza al sistema a iniciar normalmente en lugar de hacerlo en el Entorno de Recuperación de Windows
  • cmd.exe /c wmic shadowcopy delete - Elimina las Copias de Sombra de Volumen usando WMIC
  • cmd.exe /c vssadmin delete shadows /quIet /all - Elimina las Copias de Sombra de Volumen usando VssAdmin

3

Además, crea otro hilo que ejecuta las rutinas principales del Wiper. Las rutinas del Wiper realizan las siguientes acciones:

  • Los argumentos para la Función del Wiper son:
    • Arg1: Ruta del directorio a destruir (puede ser proporcionada por el operador u obtenida como se explicó antes)
    • Arg2: Número de hilos
  • Luego inicia un bucle infinito donde el contador es la Ronda "[+] Round %d\n"; por lo tanto, una vez que el Wiper se ejecuta, ¡seguiría destruyendo los datos infinitamente!
  • Además, según el número de hilos, crea múltiples hilos en un bucle que ejecutan la función principal del Wiper.
  • El BiBi-Windows Wiper excluye los archivos con extensión ".exe", ".dll" y ".sys"

4

Análisis de la Función del Wiper

Ahora entendamos cómo el BiBi-Windows Wiper destruye los datos en la máquina.

  • El Wiper primero recorre el directorio a cifrar de forma recursiva y luego recupera el tamaño de archivo de los archivos objetivo.
  • Luego ejecuta la función wiper en bucle contra los archivos objetivo según el tamaño del archivo, donde el segundo argumento para la función wiper es "0xFF".
  • La función del Wiper implementa el Algoritmo Mersenne Twister de Generador de Números Pseudoaleatorios que genera números aleatorios como se muestra a continuación.

5

  • El número aleatorio generado por la función sub_140008BF0() luego realiza un módulo (%) con el valor "0xFF + 1 = 100" y la salida (resto) de la operación de módulo es el byte con el que se sobrescribe el archivo objetivo byte a byte.

7

Ejemplo a continuación contra un archivo que consiste en los datos "hello" y que es sobrescrito por estos 5 bytes aleatorios en un bucle.

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

Archivo sobrescrito con bytes aleatorios - ¡Destruido!

9

Ahora, una vez que los datos del archivo han sido sobrescritos con bytes aleatorios y el archivo ha sido destruido, el BiBi Wiper cambia el nombre del archivo de la siguiente manera:

  • Llama nuevamente a la función Mersenne Twister anterior, donde el argumento hardcodeado esta vez es "0x3D". Así que una vez que se genera el número aleatorio, realiza el módulo con "0x3E" y el valor de salida (resto) se almacena de manera similar.
  • Además, el valor del resto de salida se multiplica por 2 y luego el valor se indexa contra una cadena ancha (wide string) como se representa a continuación:
root@kitploit:~
rand_no = twisterfunc()
remainder_output = rand_no % (0x3D + 1)
wide_string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
filename_byte = wide_string[remainder_output * 2]

Así,
si el número aleatorio = 0xC6D15D79
mod_out = 0xC6D15D79 % 0x3E => 0x31
offset = 0x31 × 0x2 = 0x62
entonces el valor indexado 62 en la cadena ancha se convierte en uno de los caracteres para el nombre del archivo. En este caso, el valor es "n"

La misma rutina se ejecuta 0xA (10) veces y todos los valores indexados se concatenan formando el nombre de archivo aleatorio, p. ej. 1wnRvB6teT, y luego se añade la extensión ".BiBi" (BiBi es un apodo utilizado para el Primer Ministro de Israel, Benjamin Netanyahu) junto con el número de ronda al final de la siguiente manera: <rand_filename>.BiBi

10

Por lo tanto, de la siguiente manera, el BiBi-Windows Wiper destruiría todos los archivos en los directorios objetivo sobrescribiendo los datos de los archivos con bytes aleatorios. Ahora, como el bucle, es decir, las rondas, son hasta el infinito, el Wiper seguirá sobrescribiendo los archivos múltiples veces de forma recursiva con bytes aleatorios hasta el infinito y no se detendrá, ¡destruyendo así los archivos en la máquina por completo!

Ejecución del BiBi-Windows Wiper mostrando el directorio objetivo, núcleos de CPU, hilos, número de ronda, estadísticas y archivo destruido con extensión .BiBi

12

¡Gracias por leer! - knight0x07

Descargar herramienta