Visualizzazione post con etichetta crontab. Mostra tutti i post
Visualizzazione post con etichetta crontab. Mostra tutti i post

lunedì 18 febbraio 2019

Kali Linux: Visualizzare e modificare l'hostname da terminale

L'hostname (o host name) è il nome identificativo assegnato ad un dispositivo (host) all'interno di una rete e può essere composto da lettere, cifre e trattini. Generalmente agli host all'interno di una rete vengono assegnati nomi significativi che ne lasciano intuire il ruolo e spesso anche la posizione e il sistema operativo. In questo articolo mostrerò come visualizzare l'hostname delle propria postazione, come modificarlo temporaneamente, come modificarlo in maniera permanente e come assegnare un hostname randomico ad ogni avvio.


Visualizzare l'hostname

Per visualizzare il nome della propria postazione in Kali Linux basta eseguire da terminale il comando
hostname
Kali Linux, visualizzare l'hostname della propria postazione
FIG 1 - Kali Linux, visualizzare l'hostname della propria postazione



Modificare temporaneamente l'hostname

Per modificare temporaneamente il nome host si può far seguire al comando hostname il nome da assegnare
Ad es.
hostname PC1
Kali Linux, modificare temporaneamente l'hostname
FIG 2 - Kali Linux, modificare temporaneamente l'hostname





Modificare in maniera permanente l'hostname

Per assegnare permanentemente un nuovo nome host è necessario modificare i file hostname e host presenti nella directory /etc.
  • Da terminale digitare il comando leafpad /etc/hostname
    Kali Linux, aprire il file hostname utilizzando l'editor di testo leafpad
    FIG 3 - Kali Linux, aprire il file hostname utilizzando l'editor di testo leafpad
  • Sostituire il nome host visualizzato con quello desiderato quindi salvare e chiudere la finestra dell'editor;
    Kali Linux, modificare il file hostname utilizzando l'editor di testo leafpad
    FIG 4 - Kali Linux, modificare il file hostname utilizzando l'editor di testo leafpad
  • Ritornati alla finestra del terminale eseguire il comando leafpad /etc/hosts
    Kali Linux, aprire il file hosts utilizzando l'editor di testo leafpad
    FIG 5 - Kali Linux, aprire il file hosts utilizzando l'editor di testo leafpad
  • Sovrascrivere il vecchio nome host con quello desiderato quindi salvare e chiudere la finestra dell'editor;
    Kali Linux, modificare il file hosts utilizzando l'editor di testo leafpad
    FIG 6 - Kali Linux, modificare il file hosts utilizzando l'editor di testo leafpad
  • Riavviare il sistema digitando il comando reboot da terminale;
    Kali Linux, reboot del sistema
    FIG 7 - Kali Linux, reboot del sistema




Assegnare un hostname casuale ad ogni avvio del sistema

Per fare in modo che ad ogni avvio venga assegnato un nome casuale al nostro host è necessario creare uno script nella cartella /usr/bin/ e richiamarlo ad ogni avvio di sistema.

  • Creare un file vuoto nella cartella /usr/bin/ nominandolo rndhostname.sh digitando da terminale il seguente comando
    touch /usr/bin/rndhostname.sh
  • Aprire il file appena creato tramite l'editor di testo leafpad con il comando
    leafpad /usr/bin/rndhostname.sh

    Kali Linux, creazione file vuoto e avvio dell'editor leafpad
    FIG 8 - Kali Linux, creazione file vuoto e avvio dell'editor leafpad
  • Incollare il seguente script all'interno dell'editor quindi chiudere l'editor dopo aver salvato il file
    #!/bin/bash
    cp -n /etc/hosts{,.old}
    idomainname=$(domainname -i)
    fdomainname=$(domainname -f)
    newhn=$(cat /dev/urandom | tr -dc 'A-Za-z0-9' | head -c7)
    echo $newhn > /etc/hostname
    mv /etc/hosts /etc/hosts.old
    echo "127.0.0.1 localhost" > /etc/hosts
    echo "$idomainname  $fdomainname    $newhn" >> /etc/hosts
    echo "# The following lines are desirable for IPv6 capable hosts" >> /etc/hosts
    echo "::1     localhost ip6-localhost ip6-loopback" >> /etc/hosts
    echo "ff02::1 ip6-allnodes" >> /etc/hosts
    echo "ff02::2 ip6-allrouters" >> /etc/hosts
    service hostname.sh stop
    sleep 1
    service hostname.sh start
    service networking stop
    sleep 1
    service networking start
    service network-manager stop
    sleep 1
    service network-manager start
    xhost +$newhn
    exit
    

    Lo script assegna un nome randomico composto da 7 caratteri alfanumerici (tr -dc 'A-Za-z0-9' | head -c7). Modificando opportunamente la seguente riga all'interno del codice
    newhn=$(cat /dev/urandom | tr -dc 'A-Za-z0-9' | head -c7)
    possiamo impostare una diversa lunghezza e scegliere un range diverso di caratteri da utilizzare nel nome host.
    Kali Linux, script per la generazione casuale e assegnazione del nome host
    FIG 9 - Kali Linux, script per la generazione casuale e assegnazione del nome host
  • Forniamo allo script i permessi di esecuzione con il comando
    chmod +x /usr/bin/rndhostname.sh

    Kali Linux, aggiungere i permessi di esecuzione al file
    FIG 10 - Kali Linux, aggiungere i permessi di esecuzione al file 
  • Per fare in modo che lo script venga eseguito ad ogni avvio utilizzeremo crontab. Da terminale eseguire il comando
    crontab -e
    Kali Linux, crontab
    FIG 11 - Kali Linux, crontab
  • Di default il file crontab verrà aperto con l'editor di testo nano. Posizionarsi alla fine del file e aggiungere la seguente riga
    @reboot /usr/bin/rndhostname.sh 
    Kali Linux, modifica crontab per l'avvio dello script ad ogni boot
    FIG 12 - Kali Linux, modifica crontab per l'avvio dello script ad ogni boot
  • Salvare la modifica (CTRL+O) e premere invio per accettare il nome del file proposto e che sovrascriverà il file cronotab, quindi uscire dall'editor nano tramite la combinazione di tasti CTRL+X. Da questo momento ad ogni avvio verrà generato e assegnato un nuovo hostname casuale.