[S.Li.P] Fwd: Virus per Gnu/Linux
Lucio
lucio a sulweb.org
Mar 29 Ott 2019 10:03:15 CET
@Davide: Il problema è dare una definizione univoca o almeno largamente
accettata di cosa sia un virus. Io ci ho rinunciato ed uso il termine
"virus" in contesti in cui altri direbbero che non so di cosa parlo (e
magari avrebbero ragione). In realtà un rootkit mi fa molta più paura di
un virus...
Ai fini di questa discussione io userò il termine "virus" per intendere
qualsiasi programma progettato per
- installarsi aggirando la volontà dell'utente e le autorizzazioni da
lui esplicitamente concesse
- nascondersi in modo da sembrare un altro programma legittimo
In questi termini i rootkit rientrano nei virus (della peggior specie se
chiedi a me) ed una certa parte del software proprietario sarebbe da
considerare un virus (esempio varie uova di pasqua di mamma Microsoft),
ma spero che il contesto renda chiaro che non sto parlando di quello.
@Mauro: non esiste una procedura standard per trovare e togliere un
virus. Non esiste nemmeno su Windows, tanto che gli antivirus devono
essere continuamente aggiornati per saper gestire i nuovi virus man mano
che vengono scoperti (o prodotti dalle stesse case degli antivirus
direbbe qualche malfidente...). Posso però raccontarti cosa è successo a
me e come ho risolto.
Il 28 agosto, poco prima di mezzanotte, ho iniziato ad avere problemi
sul mio PC portatile. La ventola girava al massimo di continuo, anche
con nessun programma avviato (se non altro, nessun programma visibile
all'utente).
Inizialmente avevo pensato si trattasse di qualche sito che avviava uno
script bacato (di solito navigo con molte linguette aperte). Tuttavia
anche chiudendo il browser e tenendo solo il desktop XFCE attivo, il
carico di sistema non accennava a scendere.
Guardando i processi attivi con top, ho notato un processo dal nome per
me nuovo (tsm). Qui sta il problema: io sono un sysadmin e conosco la
maggior parte dei processi in esecuzione su un sistema linux, ma un
utente medio non li conosce e non saprebbe distinguere un processo
legittimo da un intruso. Una ricerca su Google può aiutare, ma saper
scremare ad occhio quelli legittimi velocizza molto la ricerca.
Il fatto che cercando "tsm linux process" su Google non apparisse alcun
risultato rilevante ha fatto subito aumentare i sospetti.
Una volta identificato il processo per nome, ho guardato il suo PID
numerico, sempre in top (prima colonna). Ovviamente non ricordo quale
fosse, ma ipotizziamo fosse il numero 666. Nel terminale sono andato ad
analizzare da dove provenisse questo processo:
# cd /proc/666
# ls -l cwd exe
Se si è fortunati, il comando ls ci mostrerà quale sia la cartella in
cui lavora quel processo (file cwd) e dove si trova il file eseguibile
che fa partire quel processo (file exe). Nel mio caso non ricordo se
l'ho trovato così, ma mi pare di no, perché quel processo sapeva come
nascondere queste informazioni.
Sono quindi andato per esclusione, sempre grazie al fatto che conosco il
sistema. Ero sicuro di non aver avviato io quel processo, quindi doveva
essere stato avviato da qualche altro processo legittimo.
Su GNU/Linux fortunatamente non ci sono segreti ed i possibili punti di
partenza automatici non sono poi molti:
1) gli script di avvio del sistema: stile SystemV per i nostalgici
(quindi /etc/rc.local & Co.) e quelli di systemd per chi si trova nel 2019.
2) le operazioni pianificate: /etc/cron* e le equivalenti di systemd
visibili con #systemctl list-timers
3) script di avvio a livello utente: $HOME/.profile, $HOM£/.bashrc e simili
4) operazioni pianificate a livello utente: sempre cron (comando
$crontab -e dato come utente normale invece che come root) e le
equivalenti systemd (comando $systemctl --user list-timers dato come
utente non root)
5) la cartella di avvio automatico dell'ambiente grafico (di solito
$HOME/.config/autostart)
Nel mio caso le operazioni cron a livello utente (punto 4 della lista
qui sopra) erano quelle che il virus aveva usato per avviarsi da solo.
Aveva creato una cartella $HOME/.nullcache/ ed aveva installato lì
dentro alcuni files eseguibili dal contenuto ovviamente ignoto, ma che
erano i responsabili dell'avvio via cron del processo tsm.
Trattandosi di un'infezione a livello utente e non root, ho immaginato
che il virus fosse entrato sfruttando qualche problema di sicurezza di
Chrome o di Firefox o di Thunderbird. Ho aggiornato tutti i software
installati, cancellato la cartella $HOME/.nullcache e sono andato a
dormire tranquillo.
$ history | grep nullcache
[...]
8943 29/08/19 00:04:10 rm -rf .nullcache/
[...]
Alcuni giorni dopo l'infezione si è ripresentata, ma questa volta ci ho
messo molto meno ad identificarla ed eliminarla:
$ history | grep nullcache
[...]
9270 03/09/19 20:31:18 stat .nullcache/
9271 03/09/19 20:31:26 rm -rf .nullcache/
Ho di nuovo aggiornato tutti i software (probabilmente 4 giorni prima
l'aggiornamento di sicurezza non era ancora arrivato sui repo di
Debian). Da lì in avanti non ho più avuto problemi.
Alla fine quel che prevedevo 13 anni fa nel mio articolo "Virus per
Linux: utopia o solo questione di tempo?" sembra essersi avverato.
L'unico problema è che, vuoi per sfiga o per contrappasso, la vittima
sono stato io...
https://softwareliberopinerolo.org/articoli/65
Il 29/10/19 08:41, Davide Corio via SLiP ha scritto:
> Virus veri e proprio no, non mi è mai capitato.
> RootKit parecchi.
>
> Se non erro però è capitato a Lucio. O forse anche nel suo caso non era
> un vero e proprio virus?
>
> In ogni caso, antivirus per gnu/linux ce ne sono.
> Penso che il più diffuso tra quelli open sia ancora ClamAV
>
> Il giorno mar 29 ott 2019 alle ore 08:36 Mauro . via SLiP
> <slip a liszt.softwareliberopinerolo.org
> <mailto:slip a liszt.softwareliberopinerolo.org>> ha scritto:
>
> Ciao,
>
> volevo chiedere se a qualcuno è mai
> capitato di avere un virus su un sistema
> operativo Linux, per sapere da cosa te ne accorgi e
> se può essere eliminato.
> --
> SLiP mailing list
> SLiP a liszt.softwareliberopinerolo.org
> <mailto:SLiP a liszt.softwareliberopinerolo.org>
> https://liszt.softwareliberopinerolo.org/listinfo/slip
>
>
>
> --
> Davide Corio
> enlightx a gmail.com <mailto:enlightx a gmail.com>
>
Maggiori informazioni sulla lista
SLiP