Creare una Debian Stretch Live Custom persistente Sicura

 

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Guida su come creare una propria Debian Live personalizzata con partizione persistente in modalità UEFI. In passato avevo già fatto una guida simile per Debian Jessie, ma ho utilizzato direttamente l’immagine live ufficiale con firmware non-free. Questo metodo utilizza un’approccio diverso nella costruzione della live, ma l’obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in sicurezza senza memorizzare dati su disco, e senza rinunciare ad una partizione dove poter stipare dati sensibili. Per cifrare la partizione persistente userò LUKS.

Pacchetti da installare:

$ sudo apt install -y debootstrap grub-common grub-pc-bin grub-efi-amd64-bin efibootmgr syslinux squashfs-tools cryptsetup

Creazione Environment:

$ sudo mkdir $HOME/debian_live
$ sudo debootstrap --arch=amd64 --variant=minbase stretch $HOME/debian_live/chroot http://ftp.it.debian.org/debian/
$ sudo chroot $HOME/debian_live/chroot
# echo "debian-live" > /etc/hostname
# echo 'deb http://ftp.it.debian.org/debian/ stretch main contrib non-free' > /etc/apt/sources.list
# apt update

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.9.0-4-amd64 linux-headers-4.9.0-4-amd64

Installazione dei pacchetti personalizzati (nel mio caso solo quelli sotto)

# apt install -y mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd live-boot systemd-sysv network-manager net-tools wireless-tools nano gparted x11-xserver-utils x11-utils pciutils usbutils ntfs-3g rsync dosfstools syslinux firefox-esr chromium xserver-xorg-input-synaptics vpnc network-manager-gnome network-manager-vpnc-gnome network-manager-openvpn-gnome gtkterm vsftpd putty openssh-client firmware-linux-nonfree firmware-iwlwifi firmware-linux-free vlc terminator synaptic p7zip-full rar unrar zip ssh wget curl mesa-utils dnsmasq grub2-common grub-efi-amd64 grub-pc-bin xkb-data keyboard-configuration tzdata locales cryptsetup encfs wireshark-gtk aircrack-ng nmap zenmap

# apt clean

Password per root:

# passwd root
# exit

Comprimere il tutto in uno squash filesystem:

$ sudo mkdir -p $HOME/debian_live/image/
$ sudo mksquashfs $HOME/debian_live/chroot $HOME/debian_live/image/filesystem.squashfs -noappend -e boot

Copiare kernel e initramfs fuori chroot:

$ sudo cp $HOME/debian_live/chroot/boot/vmlinuz-4.9.0-4-amd64 $HOME/debian_live/image/vmlinuz-4.9.0-4-amd64
$ sudo cp $HOME/debian_live/chroot/boot/initrd.img-4.9.0-4-amd64 $HOME/debian_live/image/initrd.img-4.9.0-4-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sda di 16G)

Negli step successivi verranno create 3 partizioni:

  1. partizione in fat32 EFI
  2. partizione in fat32 che contiene il sistema Linux
  3. partizione in ext4 persistente criptata con LUKS
$ sudo fdisk -l
$ sudo umount /dev/sda*
$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sda
$ sudo parted -s -- /dev/sda mktable gpt mkpart efi 1 100M set 1 boot on
$ sudo parted -s -- /dev/sda mkpart system 100 2G
$ sudo parted -s -- /dev/sda mkpart persistence 2G 16G
$ sudo mkdir -p /mnt/{usb,efi,persistence}
$ sudo mkfs.fat -F32 -n efi /dev/sda1
$ sudo mkfs.fat -F32 -n system /dev/sda2
$ sudo mkfs.ext4 -L persistence /dev/sda3

Montaggio delle partizioni EFI e di Sistema:

$ sudo mount /dev/sda1 /mnt/efi/
$ sudo mount /dev/sda2 /mnt/usb/

Installazione di Grub-EFI:

$ sudo grub-install --target=x86_64-efi --efi-directory=/mnt/efi --boot-directory=/mnt/usb/boot --removable --recheck

Copiare il sistema nella seconda partizione:

$ sudo rsync -rv $HOME/debian_live/image/ /mnt/usb/live/

Creare il file grub.cfg ed incollare dentro:

$ sudo nano /mnt/usb/boot/grub/grub.cfg
set default="0"
set timeout=3

menuentry "Debian Custom Live" {
    linux /live/vmlinuz-4.9.0-4-amd64 boot=live persistence persistence-encryption=luks
    initrd /live/initrd.img-4.9.0-4-amd64
}

Creazione della partizione persistente criptata con LUKS:

$ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sda3

rispondere YES

$ sudo cryptsetup luksOpen /dev/sda3 live
$ sudo mkfs.ext4 -L persistence /dev/mapper/live
$ sudo  mount /dev/mapper/live /mnt/usb
$ sudo su
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sda*
# exit

sopra non abbiamo fatto altro che creare una cartella live che verrà montata in /dev/mapper/, ed aprire e chiudere la partizione persistente. Per accedere alla partizione da adesso in poi bisognerà digitare una password, dopodichè si potranno mettere i files importanti da portarsi dietro.

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Perchè questa chiavetta è sicura?

  1. avviandola per prima cosa verrà chiesta la password per accedere al sistema
  2. il file system è in read only, quindi tutte le modifiche ed i files modificati verranno persi al riavvio.
  3. partizione persistente a cui non è possibile accedere senza password

Creare una Debian Stretch Live Custom persistente Sicura

enjoy 😉

 

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

 

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

Dopo avere installato Fluxion su Debian Stretch, il passo successivo è quello di provare a craccare la password di una rete wifi con cifratura WPA2. Con Fluxion si può tentare un attacco cercando di recuperare la password contando sull'ingenuità dell'utente che si collega, certamente è molto più facile in quelle rete pubbliche/private frequentate da tante persone, poichè ci sono diverse persone che si loggano in breve tempo, ed in mezzo a loro ci sarà sempre qualcuno meno attento. Quindi in questo caso useremo Fluxion e sarà l'utente a servirci la password su un piatto d'argento senza ricorrere ad una attacco bruteforce o dizionario.

Lanciare Fluxion che in modo automatico metterà la scheda in modalità mode monitor:

$ cd fluxion
$ sudo ./fluxion.sh

scegliere la lingua:

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

premere 1 per fare uno scanning su tutti i canali:

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

apparirà la finestra Wifi Monitor, che almeno nel mio caso non rileva nessuna rete, infatti come si vede sotto ho una finestra aperta nel terminale per fare un paio di riavvi della scheda, cosicchè da potermi mostrare le reti:

$ sudo /etc/init.d/network-manager restart

Cracking WIFI WPA2 con Debian Stretch e Fluxion

Cracking WIFI WPA2 con Debian Stretch e Fluxion

dopo che Wifi Monitor ha rilevato le reti, chiudere la finestra, e le reti appariranno nel terminale Fluxion, quindi scegliere la rete da attaccare, nel mio caso ho scelto ASUS-MS che è una mia rete wifi con 8 caratteri alfa numerici con maiuscole/minuscole, con cifratura WPA2:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

io ho utilizzato il menu 2 FakeAP-airbase-ng:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 Handshake:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

premere invio:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 e scegliere pyrit:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 scegliere Deauth all:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

si aprirà una finestra in alto a destra che dovrà mostrare necessariamente la cattura  della Handshake, in caso contrario riprovare. Successivamente premere 1 per fare un controllo Handshake

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 per la creazione di un certificato SSL:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

scegliere web interface:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

nella nuova finestra appariranno in diverse lingue alcune pagine di login, che serviranno come login per il primo che si conneterà:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

a questo punto siamo pronti a lanciare un attacco ed a metterci in modalità stealth. Come si può vedere nella finestra in alto a sinistra il server è in attesa di raccogliere le informazioni e lo stesso vale per la finestra in basso a sinistra. Nella finestra in altro a destra apparirà il client che si collegherà.

Cracking WIFI WPA2 con Debian Stretch e Fluxion

quando l'ignaro utente si collegherà ad internet si aprirà una pagina pop up ed immeterà la password che noi siamo pronti a "raccogliere":

Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion

come si vede sotto non bisogna fare altro che andare in /root/ e leggere la password in chiaro

Cracking WIFI WPA2 con Debian Stretch e Fluxion

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

PS: Questa guida è solo a scopo informativo, ricordo che il cracking senza il consenso del proprietario della rete è illegale,illegale,illegale

enjoy 😉

 

Installare Fluxion su Debian Stretch

 

Installare Fluxion su Debian Stretch

Installare Fluxion su Debian Stretch

Fluxion al momento è uno dei migliori tools per il cracking wifi, con password WPA/WPA2 senza ricorrere ed  attacchi bruteforce o dizionario. Per installare Fluxion su Debian Stretch, bisogna risolvere alcune dipendenze, sopratutto quella di pyrit, non più presente nei repository Debian.

Installazione dipendenze:

$ sudo apt install -y aircrack-ng reaver rfkill macchanger isc-dhcp-server curl hostapd lighttpsd nmap mdk3 php-cgi python-scapy python-pip forensics-extra unzip xterm libpcap-dev libpcap0.8-dev
$ sudo pip install psycopg2
$ sudo pip install libsass
$ sudo pip install scapy

Installazione pyrit:

git clone https://github.com/JPaulMora/Pyrit.git
cd Pyrit/
python setup.py clean
python setup.py build
sudo python setup.py install

Installazione Fluxion:

git clone https://github.com/wi-fi-analyzer/fluxion
cd fluxion/
sudo ./fluxion.sh

Installare Fluxion su Debian Stretch

Installare Fluxion su Debian Stretch

per l'utilizzo nella prossima guida metterò gli screenshots di un attacco ad una rete wifi con password wpa2. La rete sotto attacco sarà la mia.

enjoy 😉

 

Bloccare tastiera e mouse con schermo attivo

 

Bloccare tastiera e mouse con schermo attivo

Bloccare tastiera e mouse con schermo attivo

Se ci si deve allontana momentaneamente dal pc potrebbe essere utile renderlo velocemente inaccessibile, bloccando la tastiera, il mouse, e lasciando nel contempo lo schermo attivo. Per ottenere ciò in ambiente Linux basta installare xtrlock, creare un piccolo script e poi creare una scorciatoia di tastiera per attivare il blocco:

# apt install xtrlock
# nano /usr/local/bin/lockmk

incollare dentro:

#!/bin/bash
sleep 1 && xtrlock

settare i permessi e renderlo eseguibile:


# chmod a+x /usr/local/bin/lockmk

se si usa Mate, come desktop environment, andare in System>Preferences>Hardware>Keyboard Shortucts, poi andare su Add, scegliere il nome e come comando inserire:

bash -c "sleep 1 && xtrlock"

a questo punto col doppio click si memorizza la scorciatoia, pigiando per esempio CTRL-K, chiudere e poi fare le prove. Si blocca con CTRL-K e si sblocca, mettendo la password utente e premendo invio.

Bloccare tastiera e mouse con schermo attivo

enjoy 😉

 

Installare VeraCrypt su Debian 9 Stretch

 

Installare VeraCrypt su Debian 9 Stretch

Installare VeraCrypt su Debian 9 Stretch

VeraCrypt è un software open-source di crittografia di hard disk, partizioni e chiavette usb. E' un fork del defunto TrueCrypt, che io gia usavo più di 10 anni fa. VeraCrypt è disponibile per Linux, Mac OS, Windows, DragonFly BSD e Android. Ha un ottima interfaccia, rispetto a zuluCrypt che si trova nei repository.

Installazione su Debian Stretch:

$ mkdir veracrypt
$ cd veracrypt
$ wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2
$ tar xjvf veracrypt-1.19-setup.tar.bz2
$ sudo ./veracrypt-1.19-setup-gui-x64

alla fine dell'installazione si è pronti a creare una chiavetta usb cryptata da utilizzare con qualsiasi OS.

enjoy 😉

 

Utilizzo di Rsync su DD-WRT

 

Utilizzo di Rsync su DD-WRT

Utilizzo di Rsync su DD-WRT

Dopo avere installato rsync sul mio router Asus RT-AC68U, utilizzando Entware. ho iniziato con il backup incrementale dei miei 3 Raspberry pi. L'utilizzo di rsync è quello standard, ma nella versione per ARM, ci sono delle piccole mancanze/differenze. Per ottenere un backup incrementale del mio centralino asterisk su Raspberry pi, ho usato:

# rsync -zzahlrvp -e 'ssh -p 2233' --progress --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/lost+found"} / ddwrt@192.168.1.1:/mnt/sdaX/cartella_backup

Utilizzo di Rsync su DD-WRT

enjoy 😉

 

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

Il comando SCP in Linux è usato per trasferire files o cartelle in maniera sicura usando ssh, tra server locali e/o remoti.

Trasferire cartelle tra due hosts locale-remoto in Linux con SCP

 

Copiare file da locale a remoto:

# scp -v /path/local/file.txt remoteuser@remotehost:/remote/path/

se si utilizza una porta differente:

# scp -v -P 2200 /path/local/file.txt remoteuser@remotehost:/remote/path/

Copiare file da remoto a locale

# scp -v remoteuser@remotehost:/path/file.txt /path/local

Copiare cartella in maniera ricorsiva e compressa da locale a remoto:

# scp -vrC -P 2200 /path/local/folder remoteuser@remotehost:/remote/path/

Copiare cartella in maniera ricorsiva e compressa da remoto a locale:

# scp -vrC -P 2200 remoteuser@remotehost:/remote/folder/ /path/local/

Limitare la banda:

# scp -vrC -l 500 -P 2200 /path/folder remoteuser@remotehost:/remote/path/

Copiare file/cartella tra 2 hosts remoti:

# scp -v remoteuser1@remotehost1:/path/file.txt remoteuser2@remotehost2::/path/directory/

 

enjpy 😉

Backup del Sistema con Rsync

Backup del Sistema con Rsync

Backup del Sistema con Rsync. Rsync è un leggero e potente strumento per il backup. Permette di eseguire backup incrementali, salvando i soli file modificati o aggiunti rispetto all’ultima operazione di backup, sia in locale che in remoto. Si può utilizzare per un backup dell’intero sistema o di cartelle specifiche.

Installazione:

# apt install rsync -y

Rsync locale:

# rsync -zav /percorso/origine /percorso/backup

per cancellare nella cartella di destinazione i file non più presenti nella cartella di origine basta aggiungere l’opzione –delete:

# rsync --delete -zav /percorso/origine /percorso/backup

Backup del Sistema:

per escludere dal backup files o cartelle si utilizza l’opzione –exclude:

# rsync -zaAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /percorso/backup

Rsync da locale a remoto con ssh:

$ rsync -zavh -e ssh /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

se si utilizza una porta diversa per ssh:

$ rsync -zavh -e 'ssh -p 2200' /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

per visualizzare il progresso del backup:

$ rsync -zavh -e 'ssh -p 2200' --progress /cartella/origine_file/ remoteuser@remotehost:/cartella/backup

Rsync da remoto a locale con ssh:

$ rsync -zvah -e 'ssh -p 2200' remoteuser@remotehost:/percorso/del/file /cartella/destinazione

Rsync senza password ssh:

# ssh-keygen

alle domande successive premere sempre invio e copiare la chiave sul server:

# ssh-copy-id -i $HOME/.ssh/id_rsa.pub remoteuser@remotehost

a questo punto se tutto è andato bene non verrà più richiesta la password e si può accedere direttamente:

# ssh remoteuser@remotehost

Backup automatico:

a questo punto si può decidere che tipo di backup effettuare:

ogni giorno alle 23:00

00 23 * * *

ogni sabato alle 23:00

00 23 * * 6

oppure al 1° di ogni mese alle 23:00:

00 23 1 * *

$ crontab -e

ed inserire l’opzione desiderata:

00 23 * * * rsync -zav /percorso/origine /percorso/backup

Backup del Sistema con Rsync

enjoy 😉

 

Wireshark abilitare interfacce di rete

 

wireshark abilitare interfacce di rete

 

Wireshark abilitare interfacce di rete. In questa guida verranno descritti i passaggi per abilitare le interfacce di rete in  wireshark Dopo avere avviato il programma bisogna andare in Capture-Options per scegliere l'interfaccia di rete per lo sniffing, ma di default queste non compaiono su Debian. Per abilitarle:

sudo apt-get install wireshark libcap2-bin
sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 755 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap

a questo punto saranno visibili nel menu Capture-Options.

enjoy 😉

 

Installare RetroShare amd64 su Debian Sid

 

 

 

 

RetroShare è una applicazione multipiattaforma per la condivisione di files su rete F2F, ritenuta molto sicura in quanto si autentifica con GPG e ci si connette tramite un tunnel ssh. Sul sito ufficiale ci sono pacchetti pronti per diverse distribuzioni. Nel caso specifico Debian, esiste solo il pacchetto a 32bit per Squeeze, siccome io uso Sid amd64, mi sono dovuto arrangiare:

 

wget

sudo dpkg -i retroshare_0.5.3-0.5256~oneiric_amd64.deb

 

una volta avviato la configurazione è intuitiva.

 

enjoy 😉