Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
BiBi-Windows-Wiper-Analysis — Analisi Tecnica del Wiper Bibi-Windows che Colpisce Organizzazioni Israeliane | Kitploit
Strumenti/GitHubGitHub/knight0x07/bibi-windows-wiper-analysis
Reverse EngineeringAnalisi MalwareDigital ForensicsAnalisi di BinariThreat IntelligenceRisposta agli Incidenti
GitHubknight0x07/bibi-windows-wiper-analysis

BiBi-Windows-Wiper-Analysis

Analisi Tecnica del Wiper Bibi-Windows che Colpisce Organizzazioni Israeliane

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
812 anni faNon ancora revisionato

Analisi Tecnica del Wiper BiBi-Windows che Prende di Mira le Organizzazioni Israeliane

Il 30 ottobre, il team Incident Response di Security Joes ha scoperto un nuovo wiper Linux chiamato "BiBi-Linux" Wiper, distribuito da un gruppo hacktivista pro-Hamas per distruggere le loro infrastrutture. E poi il 1° novembre 2023, ESET Research ha twittato riguardo a una versione Windows del wiper Bibi distribuita da BiBiGun, un gruppo hacktivista sostenuto da Hamas che era inizialmente comparso durante il conflitto Israele-Hamas del 2023.

In questo post, esamineremo la versione Windows del wiper BiBi nota come "BiBi-Windows Wiper"

Analisi Tecnica

All'esecuzione, il wiper BiBi-Windows controlla se sono stati passati argomenti al wiper BiBi. L'argomento in questo caso è la directory da distruggere - bibi.exe <directory_to_destroyed>. Se non viene fornito alcun argomento, esegue la seguente routine per recuperare le unità target

  • Legge il percorso hardcoded: "C:\Users"

  • Ottiene le unità disco attualmente disponibili usando GetLogicalDrives(), dove il valore di ritorno è la bitmask, quindi itera attraverso le 26 unità dalla A alla Z. Successivamente esegue un bittest con la bitmask recuperata per determinare le unità accessibili sul sistema e aggiunge ":\" al nome dell'unità.

  • Qui esclude l'unità C controllando i != 2, dove 2 è la posizione nella bitmask per l'unità C

  • Poi, per le unità disponibili escluse l'unità C, esegue GetDriveTypeA() che recupera il tipo di unità. Il wiper BiBi-Windows qui prende di mira solo i seguenti tipi di unità:

    • DRIVE_FIXED
    • DRIVE_REMOVABLE
    • DRIVE_RAMDISK

1

Pertanto il wiper BiBi-Windows prende di mira

  • La directory hardcoded - "C:\Users"
  • E tutte le unità disponibili tranne l'unità "C:"

Inoltre stampa le directory target sulla console e recupera NumberOfProcessors da GetNativeSystemInfo(); in base al numero di processori calcola i thread e poi lo stampa sulla console.

2

Inoltre crea un nuovo thread che legge i comandi memorizzati in ordine inverso e poi crea un nuovo processo usando CreateProcessA per eseguire tali comandi. Di seguito i comandi:

  • cmd.exe /c bcdedit /set {default} recoveryenabled no - Disabilita l'Ambiente di Ripristino di Windows
  • cmd.exe / c bcdedit / set {default} bootstatuspolicy ignoreallfailures - Forza il sistema ad avviarsi normalmente anziché nell'Ambiente di Ripristino di Windows
  • cmd.exe /c wmic shadowcopy delete - Elimina le copie shadow del volume usando WMIC
  • cmd.exe /c vssadmin delete shadows /quIet /all - Elimina le copie shadow del volume usando VssAdmin

3

Inoltre crea un altro thread che esegue le routine principali del wiper. Le routine del wiper eseguono le seguenti azioni:

  • Gli argomenti per la funzione Wiper sono:
    • Arg1 - Percorso della directory da distruggere (può essere fornito dall'operatore o recuperato come spiegato in precedenza)
    • Arg2 - Numero di thread
  • Poi avvia un ciclo infinito in cui il contatore è il valore del Round "[+] Round %d\n" - quindi una volta eseguito, il wiper continuerà a distruggere i dati all'infinito!
  • Inoltre, in base al numero di thread, crea più thread in un ciclo che eseguono la funzione wiper principale.
  • Il wiper BiBi-Windows esclude i file con estensione ".exe", ".dll" e ".sys"

4

Analisi della Funzione Wiper

Ora capiamo come il wiper BiBi-Windows distrugge i dati sulla macchina.

  • Il wiper prima attraversa ricorsivamente la directory target e poi recupera la dimensione dei file.
  • Poi esegue la funzione wiper in un ciclo sui file target in base alla dimensione del file, dove il secondo argomento della funzione wiper è "0xFF"
  • La funzione Wiper implementa l'algoritmo Mersenne Twister PseudoRandom Number Generator, che genera numeri casuali come mostrato di seguito.

5

  • Il numero casuale generato dalla funzione sub_140008BF0() viene poi sottoposto a modulo (%) con il valore "0xFF + 1 = 100" e l'output (resto) dell'operazione di modulo è il byte che viene sovrascritto nel file target byte per byte.

7

Esempio di seguito relativo a un file contenente i dati "hello" che viene sovrascritto da questi 5 byte casuali in un ciclo.

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

File sovrascritto con byte casuali - Distrutto!

9

Ora, una volta che i dati nel file sono stati sovrascritti con byte casuali e il file è stato distrutto, il wiper BiBi cambia il nome del file nel seguente modo:

  • Chiama nuovamente la precedente funzione Mersenne Twister, dove l'argomento hardcoded questa volta è "0x3D". Quindi, una volta generato il numero casuale, esegue il modulo con "0x3E" e il valore di output (resto) viene memorizzato in modo simile.
  • Inoltre, il valore del resto viene moltiplicato per 2 e poi il valore viene indicizzato in una wide string come rappresentato di seguito
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 stessa routine viene eseguita 0xA (10) volte e tutti i valori indicizzati vengono concatenati formando il nome di file casuale, es. 1wnRvB6teT; poi l'estensione ".BiBi" (Bibi è un soprannome usato per il Primo Ministro israeliano, Benjamin Netanyahu) viene aggiunta insieme al numero del round alla fine nel seguente modo - <rand_filename>.BiBi

10

Pertanto, in questo modo il wiper BiBi-Windows distruggerebbe tutti i file nelle directory target sovrascrivendo i dati nei file con byte casuali; poiché il ciclo, cioè i round, è infinito, il wiper continuerà a sovrascrivere i file più volte in modo ricorsivo con byte casuali all'infinito e non si fermerà, distruggendo così completamente i file sulla macchina!

Esecuzione del wiper BiBi-Windows che mostra la directory target, i core della CPU, i thread, il numero del round, le statistiche e il file distrutto con estensione .BiBi

12

Grazie per la lettura! - knight0x07

Scarica lo strumento