GNU/Linux >> Linux Esercitazione >  >> Linux

Il malware Windows può danneggiare un computer Linux quando viene eseguito con Wine?

Hai ragione sull'accesso al file system e a Internet, soprattutto perché la cartella home è mappata con il permesso di scrittura per impostazione predefinita. Ciò implica che può confondere i tuoi documenti inoltre, ad esempio aggiungendo macro ai documenti Open Office, eliminando i tuoi file mp3 o inviando file interessanti a qualcuno su Internet.

E sì, può scrivere sul tuo profilo Firefox e installare un componente aggiuntivo .

Connettersi a Internet significa che può recuperare comandi da un server C&C per trasformare il tuo computer in un drone.

Immagino che alcuni malware non riusciranno a trovare quelle posizioni al di fuori delle cartelle standard di Windows. Ma altri eseguiranno solo la scansione di tutte le unità per luoghi interessanti.


Teoricamente sì.

In primo luogo, un po' di background su Wine. Wine fornisce un caricatore eseguibile per l'esecuzione di eseguibili Windows. Anche installato o utilizzato opzionalmente è un gestore binfmt descritto qui, che è il modo in cui il kernel linux deduce quale caricatore eseguire - per esempio, da qualche parte integrato nel kernel c'è un gestore binfmt per i file ELF per Linux. Le chiamate di funzione da questi eseguibili vengono quindi tradotte dal runtime Wine nelle loro chiamate di sistema Linux equivalenti. Le FAQ di Wine affrontano la questione del fatto che wine sia un emulatore.

Quindi, tornando alla tua domanda:il malware Windows potrebbe infettare una macchina Linux? In teoria ho detto di sì:ecco le varie minacce che devi affrontare:

  • Bug nei gestori di formato. Se un eseguibile appositamente predisposto fa sì che Wine carichi in modo errato il file PE, potresti essere in grado di sfruttarlo.
  • Bug nella traduzione delle funzioni di Wine. È lo stesso che dire "bug nell'API di Windows", se vuoi - se certe funzioni tradotte in Wine sono suscettibili di overflow del buffer ecc., allora possono essere sfruttate.
  • Il fatto che le chiamate di funzione siano tradotte. Questo stesso fatto di per sé significa che possono verificarsi attività dannose.
  • La configurazione e le limitazioni dell'installazione di Wine. Quali file system hai mappato? L'eseguibile può sfuggire a questo "chroot"?

C'è una condizione chiave qui:essere consapevoli o pianificare di infettare Wine. Se il malware viene scritto con l'aspettativa che possa essere eseguito su Wine, può iniziare a utilizzare exploit specifici di Wine, eventualmente rilevando che Z:è mappato su / ed eseguendo le azioni appropriate. I punti precedenti nel mio elenco sopra sono i meno probabili, ma anche i più dannosi se si verificano.

Tuttavia, la maggior parte dei malware non è scritta per Wine. Puoi pensare a Wine come a un obiettivo di compilazione separato, quasi, dal momento che il modo in cui implementa l'API di Windows è diverso da come Windows implementa l'API. La maggior parte dei malware è mirata direttamente a Windows, quindi mi aspetto che il danno si verifichi solo per l'installazione di "Windows". In effetti, alcuni malware potrebbero non funzionare, dove gli sviluppatori di Wine hanno assunto un uso rigoroso di una funzione API e dove Windows consente qualcosa di diverso.

Quindi, per farla breve, Wine aumenta la tua superficie di attacco di una quantità considerevole consentendoti di eseguire programmi Windows arbitrari. Le stesse regole generali si applicano a Wine come si applicano a qualsiasi software:

  • Ne hai bisogno? In caso contrario, non installarlo.
  • È aggiornato? In caso contrario, aggiornalo.
  • Fai attenzione a cosa usi. Non sostituisce l'attenzione con ciò che scarichi, accedi ed esegui.

È passato molto tempo dall'ultima volta che ho fatto eccezioni strutturate in C (specifiche per MS ma emulate su Wine), ma la sintassi è simile a questa. Qualcuno che usa questo potrebbe divertirsi molto anche se Z non è mappato.

bool isLinux = 0;
__try {
    asm {
        mov AL, 172
        int 80h
    }
    isLinux = 1;
} __except {}
if (isLinux)
   asm {
      /* Linux shellcode here */
   }

Linux
  1. Come ripristinare un computer single-core con Linux

  2. Esegui facilmente il software Windows su Linux con Bottles

  3. Strumenti Linux per ispezionare le DLL di Windows

  4. Impossibile leggere il certificato durante l'esecuzione nel contenitore Linux Docker:funziona su Windows

  5. Come posso spostare i file con xargs su Linux?

GSConnect integra il telefono Android con il computer Linux

Modi per sviluppare app Windows su Linux

Come eseguire il software Windows su Linux con Bottles

Installa Windows 10 su Linux con VirtualBox

Puoi davvero sviluppare con le app della GUI Linux su Windows 10 con WSLg? Che ne dici di PyCharm?

I contenitori Windows possono essere ospitati su Linux?