Per rispondere direttamente alla domanda nel titolo:
Non puoi.
Cancella tutto, reinstalla macOS e ripristina i file dal backup ( non dalla macchina infetta).
Per completezza, vale la pena menzionare che esistono attacchi che, ad es. infettare il firmware dei dispositivi di archiviazione, rendendo necessario l'intero hardware da distruggere per garantire il 100% di sicurezza. A meno che tu non abbia ragione di credere che tu sia stato personalmente preso di mira da un governo, però, questa non è una preoccupazione realistica - al contrario, l'infettare qualsiasi parte dei dati effettivamente archiviati su disco è più facile e una minaccia molto realistica. Anche se tu fossi solo la vittima di un attacco automatico e non mirato, pulire tutto è una precauzione necessaria.
Perché?
Se un utente malintenzionato ha accesso root, può, tra le altre cose, sostituire qualsiasi binario con la propria versione che può fare quello che vuole, il che significa che non ci si può fidare di nulla sul tuo sistema più. Quasi letteralmente qualsiasi cosa che provi a fare potrebbe finire per fare qualcosa completamente diverso . Se l'hacker lo desidera, potrebbe restituire cat
per restituire la versione dei file corretta ad es. nascondere le voci del registro che mostrano attività indesiderate; ls
potrebbe non riuscire a mostrare i file aggiunti dall'hacker; qualsiasi editor di testo potrebbe pretendere di salvare ciò che scrivi ma in realtà ignorare silenziosamente le tue modifiche, ecc. ecc.
Non posso almeno mantenere i miei file? Ho elementi di cui è stato eseguito il backup qualche tempo fa / non ho eseguito il backup affatto
La ragione per cui non vuoi copiare i tuoi file è che ci sono un sacco di tipi di file non eseguibili che possono sfruttare alcune vulnerabilità o altro e reinfettare il tuo sistema. Archivi compressi di vario tipo e PDF sono portatori comuni, ma non rappresentano l'unico pericolo. È probabilmente sicuro copiare su un file di testo in chiaro, non eseguibile (ricorda di non usare il sistema operativo compromesso per farlo, però), ma ricorda che l'attacer avrebbe potuto cambiare assolutamente qualsiasi cosa in assolutamente qualsiasi modo che volevano, quindi trattare tutto come si tratterebbe di un file casuale scaricato per errore da un sito Web ombreggiato.
Più realisticamente ...
Devi anche pensare a perché l'hacker farebbe qualcosa del genere. Sostituire cat
e ls
con versioni maligne è interamente possibile, ma rendere l'output abbastanza sofisticato da indurvi a pensare che tutto sia a posto è molto più complesso. Se l'hacker voleva solo spiarti, installava un keylogger e lasciava tutto il resto da solo. Se volevano usare la macchina in una botnet, installerebbero il software necessario e lascerebbero tutto il resto da soli. Se volevano i tuoi soldi in particolare, avrebbero installato ransomware e lo sapresti già.
Nessuno dei casi sopra citati comporta la modifica della cronologia di bash o la modifica del nome host della macchina. Un keylogger o un rootkit simile può essere reso praticamente inosservabile. Quindi, mentre un utente malintenzionato può fare qualcosa, di solito ciò significa che non sarai mai in grado di indovinare che ci sono, tranne per es. osservando che il carico è più elevato del solito quando la macchina compromessa ha partecipato a una botnet. O se non gli dispiacesse sapere che erano dentro, è molto, molto più facile bloccare semplicemente un utente (ad esempio cambiando la password dell'account) piuttosto che fare casino con la cronologia di bash. (O, ancora, ransomware).
Quindi cosa è successo qui e cosa dovresti fare?
Le altre risposte già descrivono ciò che personalmente sono d'accordo è lo scenario più probabile: alcuni tipi di influenza, come il server DHCP che cambia il tuo nome host. Nel qual caso sei intransigente e bene.
L'alternativa è che qualcuno abbia fatto irruzione manualmente nella tua macchina e stia cercando goffamente di nasconderlo o intenzionalmente di scherzare con te. Questo potrebbe essere un membro della famiglia, o un collega, o altra acquiescenza; forse potrebbero aver infranto la tua password. Se che il caso e sei sicuro di non aver installato nessun rootkit o keylogger nel frattempo, allora basta cambiare le password rilevanti (root e dell'utente) essere abbastanza. Ma non puoi davvero sapere cosa hanno fatto o non hanno fatto, e una volta che hai già accesso root è assolutamente banale installare un pacchetto malware già pronto, quindi se davvero credi che qualcuno abbia ottenuto un accesso root non autorizzato, allora, come spiegato sopra, cancella tutto.