
Analisi Tecnica del Wiper Bibi-Windows che Colpisce 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"
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à:

Pertanto il wiper BiBi-Windows prende di mira
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.

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:

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

Ora capiamo come il wiper BiBi-Windows distrugge i dati sulla macchina.
algoritmo Mersenne Twister PseudoRandom Number Generator, che genera numeri casuali come mostrato di seguito.
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.
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
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!

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:
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

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

Grazie per la lettura! - knight0x07