Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
BiBi-Windows-Wiper-Analysis — # Analyse technique du wiper Bibi-Windows ciblant des organisations israéliennes | Kitploit
Outils/GitHubGitHub/knight0x07/bibi-windows-wiper-analysis
Rétro-ingénierieAnalyse de MalwareCriminalistique NumériqueAnalyse de BinairesRenseignement sur les MenacesRéponse aux Incidents
GitHubknight0x07/bibi-windows-wiper-analysis

BiBi-Windows-Wiper-Analysis

# Analyse technique du wiper Bibi-Windows ciblant des organisations israéliennes

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt
81il y a 2 ansPas encore vérifié

Technical Analysis of BiBi-Windows Wiper Targeting Israeli Organizations

Le 30 octobre, l'équipe d'intervention en cas d'incident de Security Joes a découvert un nouveau wiper Linux nommé "BiBi-Linux", déployé par un groupe hacktiviste pro-Hamas pour détruire leur infrastructure. Puis, le 1er novembre 2023, ESET Research a tweeté à propos d'une version Windows du BiBi Wiper déployé par BiBiGun, un groupe hacktiviste soutenu par le Hamas qui a fait ses débuts pendant le conflit Israël-Hamas de 2023.

Dans cet article, nous allons examiner la version Windows du BiBi Wiper, connue sous le nom de "BiBi-Windows Wiper"

Technical Analysis

Lors de l'exécution, le BiBi-Windows Wiper vérifie si des arguments ont été passés au BiBi Wiper. L'argument ici est le répertoire à détruire - bibi.exe <directory_to_destroyed>. Si aucun argument n'est fourni, il exécute la routine suivante pour récupérer les lecteurs cibles :

  • Lit le chemin codé en dur : "C:\Users"

  • Obtient les lecteurs de disque actuellement disponibles à l'aide de GetLogicalDrives(), où la valeur de retour est le masque de bits, puis il parcourt les 26 lecteurs (A-Z). Ensuite, il effectue un test de bit avec le masque de bits récupéré pour déterminer les lecteurs accessibles sur le système et ajoute ":\" au nom du lecteur.

  • Ici, il exclut le lecteur C en vérifiant i != 2, où 2 est la position du bit pour le lecteur C

  • Ensuite, pour les lecteurs disponibles à l'exception du lecteur C, il exécute GetDriveTypeA(), qui récupère le type de lecteur. Le BiBi-Windows Wiper ne cible ici que les types de lecteurs suivants :

    • DRIVE_FIXED
    • DRIVE_REMOVABLE
    • DRIVE_RAMDISK

1

Par conséquent, le BiBi-Windows Wiper cible :

  • Le répertoire codé en dur - "C:\Users"
  • Et tous les lecteurs disponibles à l'exception du lecteur "C:"

Ensuite, il affiche les répertoires cibles sur la console, récupère le NumberOfProcessors via GetNativeSystemInfo() et, en fonction du nombre de processeurs, calcule les threads puis les affiche sur la console.

2

Ensuite, il crée un nouveau thread qui lit les commandes stockées en sens inverse, puis crée un nouveau processus à l'aide de CreateProcessA pour exécuter ces commandes. Voici les commandes :

  • cmd.exe /c bcdedit /set {default} recoveryenabled no - Désactive l'environnement de récupération Windows
  • cmd.exe / c bcdedit / set {default} bootstatuspolicy ignoreallfailures - Force le système à démarrer normalement plutôt que dans l'environnement de récupération Windows
  • cmd.exe /c wmic shadowcopy delete - Supprime les copies de clichés (Volume Shadow Copies) à l'aide de WMIC
  • cmd.exe /c vssadmin delete shadows /quIet /all - Supprime les copies de clichés (Volume Shadow Copies) à l'aide de VssAdmin

3

De plus, il crée un autre thread qui exécute les routines principales du Wiper. Les routines du Wiper effectuent les actions suivantes :

  • Les arguments de la fonction Wiper sont :
    • Arg1 - Chemin du répertoire à détruire (peut être fourni par l'opérateur ou récupéré comme expliqué précédemment)
    • Arg2 - Nombre de threads
  • Ensuite, il lance une boucle infinie où le compteur est la valeur du round "[+] Round %d\n" - par conséquent, une fois le Wiper exécuté, il continuera à détruire les données indéfiniment !
  • De plus, en fonction du nombre de threads, il crée plusieurs threads dans une boucle qui exécutent la fonction principale du Wiper.
  • Le BiBi-Windows Wiper exclut les fichiers avec les extensions ".exe", ".dll" et ".sys"

4

Analyse de la fonction Wiper

Comprenons maintenant comment BiBi-Windows Wiper détruit les données sur la machine.

  • Le Wiper parcourt d'abord le répertoire à chiffrer de manière récursive, puis récupère la taille des fichiers cibles.
  • Ensuite, il exécute la fonction wiper en boucle sur les fichiers cibles en fonction de la taille du fichier, où le second argument de la fonction wiper est "0xFF"
  • La fonction Wiper implémente le Mersenne Twister PseudoRandom Number Generator Algorithm, qui génère des nombres aléatoires comme illustré ci-dessous.

5

  • Le nombre aléatoire généré par la fonction sub_140008BF0() effectue ensuite un modulo (%) avec la valeur "0xFF + 1 = 100" et le résultat (reste) de l'opération modulo est l'octet qui est écrasé dans le fichier cible, octet par octet.

7

Exemple ci-dessous avec un fichier contenant les données "hello" et qui est écrasé par ces 5 octets aléatoires dans une boucle.

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

Fichier écrasé avec des octets aléatoires - Détruit !

9

Maintenant, une fois les données du fichier écrasées par des octets aléatoires et le fichier détruit, le BiBi Wiper renomme le fichier de la manière suivante :

  • Il appelle à nouveau la fonction Mersenne Twister précédente, dont l'argument codé en dur est cette fois "0x3D". Une fois le nombre aléatoire généré, il effectue un modulo avec "0x3E" et la valeur de sortie (reste) est stockée de la même manière.
  • Ensuite, la valeur du reste est multipliée par 2, puis cette valeur est utilisée comme indice dans une chaîne large (wide string) comme représenté ci-dessous :
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"

La même routine est exécutée 0xA (10) fois et toutes les valeurs indexées sont concaténées pour former le nom de fichier aléatoire, par ex. 1wnRvB6teT, puis l'extension ".BiBi" (Bibi est un surnom utilisé pour le Premier ministre israélien, Benjamin Netanyahu) est ajoutée avec le numéro du round à la fin de la manière suivante - <rand_filename>.BiBi

10

Ainsi, de cette manière, le BiBi-Windows Wiper détruit tous les fichiers des répertoires cibles en écrasant les données des fichiers avec des octets aléatoires. Comme la boucle, c'est-à-dire les rounds, est infinie, le Wiper continuera à écraser les fichiers plusieurs fois de manière récursive avec des octets aléatoires jusqu'à l'infini et ne s'arrêtera pas, détruisant ainsi complètement les fichiers de la machine !

Exécution du BiBi-Windows Wiper montrant le répertoire cible, les cœurs CPU, les threads, le numéro du round, les statistiques et le fichier détruit avec l'extension .BiBi

12

Merci d'avoir lu ! - knight0x07

Télécharger l’outil