giovedì 31 ottobre 2019

nmap

Nmap è un'utilità gratuita e open source per il rilevamento e il controllo della sicurezza della rete ampiamente utilizzata nella comunità degli utenti Linux in quanto è semplice da usare ma molto potente. Nmap funziona inviando pacchetti di dati su una destinazione specifica (tramite IP) e interpretando i pacchetti in entrata per determinare quali post sono aperti / chiusi, quali servizi sono in esecuzione sul sistema scansionato, se i firewall o i filtri sono impostati e abilitati, e infine quale sistema operativo è in esecuzione. Come avrete capito nmap vi permette di recuperare diversi tipi di informazioni sui dispositivi connessi alla rete, per questo non voglio incoraggiare l'uso di nmap a scopi dannosi.

Passiamo ai comandi...
Per installare nmap cercate il pacchetto "nmap" con il gestore dei pacchetti della vostra distribuzione. Nel caso di debian e derivate:
apt-get install nmap

Per utilizzare nmap bisogna essere amministratori, quindi nel caso di ubuntu:
sudo -l

Consideriamo 192.168.1.1 come l'indirizzo ip di destinazione sul quale vogliamo avere le informazioni. E' possibile sostituire tale indirizzo con qualsiasi altro, anche un sito web.

Un comando di base che può essere utilizzato per verificare rapidamente se un sito Web è attivo senza creare alcuna interazione "registrabile" con il server di destinazione:
nmap -sS 192.168.1.1

Quando si desidera verificare le porte aperte di una destinazione:
nmap -vv 192.168.1.1

Il seguente comando indica a nmap di provare a recuperare quale sistema operativo viene eseguito sul sistema di destinazione. Se tutte le porte sono filtrate i risultati potrebbero non essere affidabili. I numeri percentuali danno l'idea di incertezza:
nmap -O --osscan-guess 192.168.1.1

Per verificare i servizi attivi sulla destinazione:
nmap -sV 192.168.1.1

Ora vediamo come fare una scansione su tutta la nostra rete per trovare tutti i dispositivi connessi (il comando effettua la ricerca di tutti gli indirizzi che iniziano con 192.168.1):
nmap 192.168.1.0/24

Se vogliamo estendere la ricerca a tutte le sottoreti che iniziano con 192.168:
nmap 192.168.0.0/16

Se volete fare una scansione completa della rete 192 (attenzione perchè impiegherà parecchio tempo):
nmap 192.0.0.0/8

Per maggiori informazioni ed approfondimenti consultare la guida di riferimento:
https://nmap.org/book/man.html

lunedì 28 ottobre 2019

Giocare con dischi e partizioni

Dopo parecchio tempo che non scrivo più niente, mi devo dedicare un attimo a questo argomento, perchè ogni volta mi trovo a dover fare ricerche su comandi veramente utili.
In linux ci sono tanti comandi per gestire hard disk e partizioni, ma non li elencherò in questo post, mi limiterò invece a dare un elenco di esempi da utilizzare direttamente per essere subito operativi.

n.b. Non mi ritengo responsabile se utilizzando i seguenti comandi cancellerete dei dati, partizioni o interi hard disk... prima di "giocare" è sempre bene fare un backup.
Tutti i comandi vanno dati con i permessi di root.
Per diventare root in ubuntu:
sudo -s

In tutti gli esempi considero "sda" come sorgente (hard disk vecchio) ed "sdb" come destinazione (hard disk nuovo)

Elencare le partizioni di tutti gli hard disk:
fdisk -l

Elencare le partizioni su un hard disk GPT:
sgdisk -p /dev/sda

Effettuare qualsiasi operazione su partizioni MBR (attenzione perchè è possibile eliminare le partizioni e di conseguenza i file contenuti):
fdisk /dev/sda

Effettuare qualsiasi operazione su partizioni GPT (attenzione perchè è possibile eliminare le partizioni e di conseguenza i file contenuti):
gdisk /dev/sda

Conversione di un hard disk MBR in GPT:
sgdisk -g /dev/sda

Conversione di un hard disk GPT in MBR:
sgdisk -m /dev/sda

Clonare MBR da hard disk a hard disk:
dd if=/dev/sda of=/dev/sdb bs=512 count=1

Clonare solo la parte del boot loader contenuta nel MBR:
dd if=/dev/sda of=/dev/sdb bs=446 count=1

Clonare solo la parte contenente la tabella delle partizioni nel MBR:
dd if=/dev/sda of=/dev/sdb bs=1 skip=446 count=64

Copiare la tabella delle partizioni GPT:
sgdisk -R=/dev/sdb /dev/sda

Clonare boot loader e tabella prima partizione nel MBR:
dd if=/dev/sda of=/dev/sdb bs=462 count=1

Clonare la prima partizione:
dd if=/dev/sda1 of=/dev/sdb1

Clonare l'intero hard disk, compreso il MBR (in questo caso il secondo hard disk deve avere almeno la stessa capacità del primo):
dd if=/dev/sda of=/dev/sdb

Nel caso di clonazioni in presenza di hard disk danneggiati può essere utile utilizzare ddrescue al posto di dd:
ddrescue if=/dev/sda of=/dev/sdb