Kali-anonsurf e anonsurf su Debian 10

Kali-anonsurf e anonsurf su Debian 10Kali-anonsurf e anonsurf su Debian 10

Anonsurf è la modalità anonima di ParrotOS  e Kali Linux, per forzare le connessioni attraverso Tor e/o la rete i2p.  Tor è un protocollo di crittografia SOCKS4 e SOCKS5. Tor esegue il tunnelling di tutto il traffico che circola nella rete dell’utente in modo anonimo, e nasconde la posizione di un utente e i dati di rete da chiunque monitora l’utente localmente e in remoto. L’utilizzo di Anonsurf si può avviare anche da terminale, ed oltre ad essere integrato in ParrotOS ed in Kali Linux, si può installare in Debian 10 Buster. Per utilizzare anonsurf è sempre meglio installare Tor browser, seguendo questa mia guida.

Installare kali-anonsurf:

$ sudo apt install git
$ git clone https://github.com/Und3rf10w/kali-anonsurf.git
$ cd kali-anonsurf/
$ sudo ./installer.sh

avviare con:

$ sudo anonsurf start

anonsurf ParrotOS:

$ sudo apt install git
$ git clone https://github.com/ParrotSec/anonsurf
$ cd anonsurf/binaries/
$ sudo anonsurf start

Comandi:

Parrot AnonSurf Module
Usage:
┌──[root@debianbox]─[/home/edmond]
└──╼ $ anonsurf {start|stop|restart|change|status}

start - Start system-wide anonymous
tunneling under TOR proxy through iptables 
stop - Reset original iptables settings
and return to clear navigation
restart - Combines "stop" and "start" options
change - Changes identity restarting TOR
status - Check if AnonSurf is working properly
myip - Show your current IP address
----[ I2P related features ]----
starti2p - Start i2p services
stopi2p - Stop i2p services

Kali-anonsurf e anonsurf su Debian 10

enjoy 😉

 

Configurazione Trunk Pjsip Asterisk su Linea Vodafone

 

Configurazione Trunk Pjsip Asterisk su Linea VodafoneConfigurazione Trunk Pjsip Asterisk su Linea Vodafone

Dopo aver fatto per primo, mesi fa, una guida su come utilzzare la propria linea telefonica Vodafone, con modem Asus DSL-AC68U , ho anche fatto un ulteriore guida, su come creare un trunk chan_sip su Asterisk. La guida utilizzava il trunk chan_sip, ma a volte le chiamate in ingresso non passavano dal centralino, a quel punto bastava fare una chiamata in uscita e tutto tornava a funzionare. Non ho fatto grandissimi test, per poter capire il perchè, ma sono passato ad utilizzare un trunk chan_pjsip, che al momento sembra funzionare benissimo. Di seguito mostrerò gli screenshoots del Trunk chan_pjsip e di Outbound Routes:

Configurazione Trunk Pjsip Asterisk su Linea Vodafone

Trunk pjsip general:

Trunk pjsip setting:

Configurazione Trunk Pjsip Asterisk su Linea VodafoneTrunk pjsip advanced:

Configurazione Trunk Pjsip Asterisk su Linea Vodafone Outbound Routes:

Outbound Routes dial pattern:

enjoy 😉

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

Raspberry con Owncloud Raspbian Buster Letsencrypt ApacheRaspberry con Owncloud Raspbian Buster Letsencrypt Apache

Guida su come realizzare un proprio server cloud, utilizzando owncloud, su raspberry pi 3/4, con Raspbian Buster, ma in alternativa si puo utilizzare un’altro modello di single board o Pc, con OS Debian based. Avevo gia fatto una guida precedentemente, utilizzando Raspbian Stretch. Inoltre utilizzando Let’s Encrypt si avranno certificati SSL gratuiti tramite un processo completamente automatizzato, progettato per eliminare la creazione manuale di certificati, per la convalida, l’installazione e il rinnovo. I certificati rilasciati da Let’s Encrypt sono validi per 90 giorni dalla data di emissione e sono oggi considerati affidabili da tutti i principali browser.

Prerequisiti ed info

  • Negli esempi sotto utilizzerò come nome di dominio example.com ed i comandi verranno eseguiti da root
  • Il raspberry dovrà avere quindi come dominio l’equivalente di example.com. Questo può essere modificato in /etc/hostname e poi riavviare.
  • Il vostro ip pubblico dovrà puntare quindi al dominio, nel caso non si avesse un ip pubblico, utilizzare un servizio di DNS.
  • Assicurarsi prima di aprire le porte 80/443 verso il proprio server, altrimenti non si potranno ottenere i certificati. Successivamente rimarrà aperta solo la 443.
  • La guida è stata testata su una installazione pulita di Raspbian Buster

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

Step 1) Installare i pacchetti necessari:

$ sudo su
# apt update; apt upgrade
# apt install apache2 mariadb-server libapache2-mod-php7.3 php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-intl php-imagick php7.3-zip php7.3-xml php7.3-mbstring ntfs-3g fail2ban certbot

Step 2) Configurazione Apache e Virtual Host basic

# rm -rf /var/www/html/
# mkdir -p /var/www/example.com/public_html
# nano /var/www/example.com/public_html/index.html

ed incollare dentro:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html
# nano /etc/apache2/sites-available/example.com.conf

ed incollare dentro:

<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/example.com/public_html

<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>

ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

poi:

# chown -R www-data: /var/www/example.com/
# mv /etc/apache2/sites-available/000-default.conf 000-default.conf.bak
# mv /etc/apache2/sites-enabled/000-default.conf 000-default.conf.bak
# a2ensite example.com
# systemctl restart apache2
# systemctl enable apache2

a questo punto collegandosi al server dovremmo vedere che funziona:

Raspberry con Owncloud Letsencrypt ApacheStep 3) Chiave e Letsencrypt

Creare una chiave robusta Dh (Diffie-Hellman) a 1024 oppure a 2048 bit, ci vorrà circa 20 minuti.

# openssl dhparam -out /etc/ssl/certs/dhparam.pem 1024

Per ottenere i certificati utilizzeremo certbot, installato precedentemente, che si occuperà dell’acquisizione e del rinnovo degli stessi. Utilizzeremo il plug-in Webroot che funziona creando un file temporaneo nella ${webroot-path}/.well-known/acme-challenge a cui si collegherà Letsencrypt per risolvere il DNS:

# mkdir -p /var/lib/letsencrypt/.well-known
# chgrp www-data /var/lib/letsencrypt
# chmod g+s /var/lib/letsencrypt

creare primo file di configurazione:

# nano /etc/apache2/conf-available/letsencrypt.conf

ed incollare dentro:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>

creare secondo file raccomandato:

# nano /etc/apache2/conf-available/ssl-params.conf

ed incollare dentro:

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off

abilitare moduli e files di configurazione:

# a2enmod ssl
# a2enmod headers
# a2enmod http2
# a2enconf letsencrypt
# a2enconf ssl-params
# systemctl reload apache2

a questo punto siamo pronti ad ottenere i certificati SSL utilizzando certbot:

# certbot certonly --agree-tos --email admin@example.com --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

se tutto è andato bene visualizzeremo questo:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem.
Your cert will expire on 2019-02-28. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you lose your account credentials, you can recover through
e-mails sent to xxxxxxx@gmail.com.
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

adesso andiamo a riconfigurare il file Virtual Host come sotto:

# nano /etc/apache2/sites-available/example.com.conf
ed incollare dentro:
<VirtualHost *:80> 
ServerName example.com
ServerAlias www.example.com

Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com

Protocols h2 http:/1.1

<If "%{HTTP_HOST} == 'www.example.com'">
Redirect permanent / https://example.com/
</If>

DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem


</VirtualHost>
ricaricare la nuova configurazione:
# systemctl reload apache2

adesso si può fare un TEST SSL

Rinnovo automatico dei certificati: Come dicevo all’inizio, i certificati di Let’s Encrypt hanno una durata di 90 giorni, dopodichè dovrebbero autorinnovarsi traminte un cronjob, altrimenti aggiornare manualmente con il comando:
# certbot renew --dry-run

Step 4) Installazione Owncloud

# cd /tmp
# wget https://download.owncloud.org/download/community/owncloud-latest.tar.bz2
# tar -xvf owncloud-latest.tar.bz2
# chown -R www-data:www-data owncloud
# mv owncloud /var/www/example.com/public_html/
# rm /var/www/example.com/public_html/index.html
# nano /etc/apache2/sites-available/example.com.conf

e fare puntare la DocumentRoot ad owncloud:

DocumentRoot /var/www/example.com/public_html/owncloud

Creazione database ed user mysql:

# mysql -u root -p

inserire password di root, e poi i 5 comandi sotto, e settare la password per l’utente owncloud

1) create database owncloud;
2) create user owncloud@localhost identified by 'password';
3) grant all privileges on owncloud.* to owncloud@localhost identified by 'password';
4) flush privileges;
5) exit;
fare una modifica al file php.ini, nella sezione File Uploads, portando upload_max_filesize = 5000M.
# nano /etc/php/7.3/apache2/php.ini

come ultimo ritocco, aumentare la capacità di upload, andando a modificare il file .user.ini

# nano /var/www/example.com/public_html/owncloud/.user.ini

portando: upload_max_filesize, e post_max_size a 5000M

# systemctl restart apache2

a questo punto il server owncloud è installato, ed è raggiungibile all’indirizzo https://example.com. Se si volesse utilizzare come storage un disco esterno, la guida continua:

Step 5) Creazione della cartella di storage e relativi permessi:

# mkdir /media/owncloud-usb
# groupadd www-data
# usermod -a -G www-data www-data
# chown -R www-data:www-data /media/owncloud-usb
# chmod -R 775 /media/owncloud-usb

adesso abbiamo bisogno di conoscere UUID del disco usb ed user e group di www-data, che serviranno per configurare /etc/fstab per il montaggio automatico:

# id -u www-data; id -g www-data
# blkid
# nano /etc/fstab

ed aggiungere in una sola riga qualcosa del genere in /etc/fstab:

UUID=32E49E5027A4F8A7 /media/owncloud-usb auto nofail,uid=33,gid=33,umask=0027$,dmask=0027,noatime 0 0
# reboot

Se tutto è andato bene andare all’indirizzo https://ip_dominio_del_server ed apparirà la pagina iniziale, dove si dovrà inserire nome utente e password per l’accesso al server owncloud, nome del database, user e password dell’utente owncloud, ed infine il punto di mount. Username: owncloud Password: password Database: owncloud Server: localhost

Raspberry con Owncloud Letsencrypt Apache

Raspberry con Owncloud Raspbian Buster Letsencrypt Apache

enjoy ?

Pen drive con Debian Buster Live Custom Persistente Criptata

Pen drive con Debian Buster Live Custom Persistente CriptataPen drive con Debian Buster Live Custom Persistente Criptata

Guida su come creare una chiavetta usb, equipaggiata con Debian Buster, in  modalità Live, con partizione persistente, e boot in  UEFI mode. L’obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in piena sicurezza senza rinunciare ad una partizione dove poter stipare tutti i dati sensibili. Per cifrare la partizione persistente userò LUKS. Tutti i comandi verranno eseguiti come root, con il comando ” su  – ” per non avere errori simili a questo:

Pacchetti da installare:

# su -
# apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake clang git libattr1-dev zlib1g-dev libfuse3-dev debootstrap squashfs-tools rsync

Creazione Environment:

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

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.19.0-6-amd64 linux-headers-4.19.0-6-amd64

Installazione dei pacchetti personalizzati (nel mio caso quelli sotto)

# apt install -y mate-desktop-environment-extra 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 encfs wireshark-gtk aircrack-ng nmap zenmap

a questo punto abbiamo bisogno di installare la versione di cryptsetup 2:2.2.1-1  presente nei repo testing, per evitare il problema di cui sotto:

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
nor crypto modules. If that's on purpose, you may want to uninstall the
'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs

Aggiungere i repo testing ed installare cryptsetup:

# echo 'deb http://ftp.it.debian.org/debian/ testing main contrib non-free' > /etc/apt/sources.list
# apt update
# apt install -t testing cryptsetup
# apt clean

Reinserire i repo stable:

# echo 'deb http://ftp.it.debian.org/debian/ buster main contrib non-free' > /etc/apt/sources.list
# apt update

Aggiungere utenti e password:

# passwd root
# adduser nome_utente
# exit

Comprimere il tutto in uno squash filesystem:

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

Copiare kernel e initramfs fuori chroot:

# cp $HOME/debian_live/chroot/boot/vmlinuz-4.19.0-6-amd64 $HOME/debian_live/image/vmlinuz-4.19.0-6-amd64
# cp $HOME/debian_live/chroot/boot/initrd.img-4.19.0-6-amd64 $HOME/debian_live/image/initrd.img-4.19.0-6-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sdb di 16G). Negli steps 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
# fdisk -l
# umount /dev/sdb*
# dd count=1 bs=512 if=/dev/zero of=/dev/sdb
# parted -s -- /dev/sdb mktable gpt mkpart efi 1 100M set 1 boot on
# parted -s -- /dev/sdb mkpart system 100 2G
# parted -s -- /dev/sdb mkpart persistence 2G 16G
# mkdir -p /mnt/{usb,efi,persistence}
# mkfs.fat -F32 -n EFI /dev/sdb1
# mkfs.fat -F32 -n SYSTEM /dev/sdb2
# mkfs.ext4 -L persistence /dev/sdb3

Montaggio delle partizioni EFI e di Sistema:

# mount /dev/sdb1 /mnt/efi/
# mount /dev/sdb2 /mnt/usb/

Installazione di Grub-EFI:

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

Copiare il sistema nella seconda partizione:

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

Creare il file grub.cfg:

# nano /mnt/usb/boot/grub/grub.cfg

ed incollare dentro:

set default="0"
set timeout=3
menuentry "Debian Custom Live" {
linux /live/vmlinuz-4.19.0-6-amd64 boot=live persistence persistence-encryption=luks
initrd /live/initrd.img-4.19.0-6-amd64
}

Creazione della partizione persistente criptata con LUKS:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

rispondere YES e creare la password:

# cryptsetup luksOpen /dev/sdb3 live
# mkfs.ext4 -L persistence /dev/mapper/live
# mount /dev/mapper/live /mnt/usb
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sdb*
# 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 al boot, dopodichè si potranno mettere i files importanti da portarsi dietro. Al primo avvio dare i comandi:

# apt update
# apt upgrade
# apt install -f

Pen drive con Debian Buster Live Custom Persistente Criptata

enjoy 😉

 

Broadcom BCM94352Z su Debian 10

Broadcom BCM94352Z su Debian 10Broadcom BCM94352Z su Debian 10

Guida su come installare la scheda wireless Broadcom BCM94352Z/BCM4352 su Debian 10:

$ lspci -vvnn | grep 14e4

output:

edmond@debianbox:~$ lspci -vvnn | grep 14e4
08:00.0 Network controller [0280]: Broadcom Limited BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)

 

Aggiungere i repository backport:

# printf "deb http://deb.debian.org/debian buster-backports main contrib" > /etc/apt/sources.list.d/buster-backports.list
# apt update

Installazione:

# apt-get install linux-image-$(uname -r|sed 's,[^-][I]-[^-][/I]-,,') linux-headers-$(uname -r|sed 's,[^-][I]-[^-][/I]-,,') broadcom-sta-dkms -y
# modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
# modprobe wl
# reboot

Broadcom BCM94352Z su Debian 10

enjoy 😉

 

TorBrowser su Debian 10

TorBrowser su Debian 10TorBrowser su Debian 10

Tor (acronimo di The Onion Router) è un sistema di comunicazione anonima per Internet basato sulla seconda generazione del protocollo di rete di onion routing. Tramite l’utilizzo di Tor è molto più difficile tracciare l’attività Internet dell’utente; difatti l’uso di Tor è finalizzato a proteggere la privacy degli utenti, la loro libertà e la possibilità di condurre delle comunicazioni confidenziali senza che vengano monitorate.  Per installare TorBrowser su Debian 10 Buster:

Aggiungere i repository backport:

# printf "deb http://deb.debian.org/debian buster-backports main contrib" > /etc/apt/sources.list.d/buster-backports.list
# apt update

Installazione:

# apt -t buster-backports install torbrowser-launcher tor tor-geoipdb torsocks

Workaround errore black screen all’avvio:

# nano /etc/apparmor.d/local/torbrowser.Browser.firefox

ed aggiungere:

owner /{dev,run}/shm/org.mozilla.*.* rw,
# reboot

poi lanciare tor:

$ torbrowser-launcher

TorBrowser su Debian 10

enjoy 😉

 

Nvidia Optimus con Bumblebee su Debian 10

Nvidia Optimus con Bumblebee su Debian 10Nvidia Optimus con Bumblebee su Debian 10

Tanti laptop hanno la doppia scheda video Intel e Nvidia, e quindi si può installare Bumblebee che supporta i laptop con tecnologia NVIDIA Optimus Praticamente si fa il rendering con Nvidia che sarà visalizzata con la scheda Intel.

Per identificare le schede:

$ su -
# apt install inxi
# inxi -G

output:

Graphics:
Device-1: Intel 4th Gen Core Processor Integrated Graphics driver: i915
v: kernel
Device-2: NVIDIA GM107M [GeForce GTX 860M] driver: N/A
Display: server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa
resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel Haswell Mobile v: 4.5 Mesa 18.3.6

Installazione:

# dpkg --add-architecture i386
# apt-get update
# apt-get install bumblebee-nvidia primus primus-libs:i386 libgl1-nvidia-glx:i386 mesa-utils libgl1-nvidia-glx

aggiungere il proprio nome utente al gruppo bumbeblee:

$ sudo adduser $USER bumblebee
$ sudo reboot

per testare scheda intel:

$ glxgears -info

per testare scheda nvidia:

$ optirun glxgears -info

Nvidia Optimus con Bumblebee su Debian 10

enjoy 😉

 

(Solved) Fdisk command not found Debian 10

(Solved) Fdisk command not found Debian 10

In Debian Buster si presenta un errore quando si danno alcuni comandi con privilegi root, uno di questi è il comando fdisk-l, che risponde con: command not found. Questo problema si risolve in 2 modi:

1) eseguire il comando con:

# /sbin/fdisk -l

2) con un link simbolico:

# ln -s /sbin/fdisk /bin/fdisk

(Solved) Fdisk command not found Debian 10

enjoy 😉

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

Script per aggiornamento ip dinamico FreePBX Asterisk

Dopo l’ultima guida su come Configurare un trunk Asterisk su linea Vodafone, il mio centralino personale funziona benissimo (quasi). Naturalmente c’è sempre qualcosa da sistemare qua e là, e la prima cosa è quella dell’ip statico. Nel mio caso, avendo un ip dinamico, nel momento in cui cambia l’indirizzo (non spesso), le chiamate in ingresso non vengono inoltrate. Pur avendo un external FQDN con dyndns, ed aggiungendolo in FreePBX, purtroppo NON funziona. Quindi la soluzione è riscrivere nella tabella mysql il nuovo ip in maniera automatica. A questo proposito ho rispolverato uno script bash, che può essere modificato in base alle proprie esigenze:

#!/bin/bash
# This program gets the current IP address (as assigned by the ISP) from
# THIS SCRIPT IS STILL CONSIDERED EXPERIMENTAL - USE AT YOUR OWN RISK!!!
user="user"
pass="pw"
check=$(dig +short myip.opendns.com @resolver1.opendns.com) || { echo "Problem getting current IP address"; exit 1; }
if [[ ! $check =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Invalid IP address"; exit 1;
fi
readip=$(mysql asterisk -u $user -p$pass -se 'SELECT val FROM kvstore_Sipsettings where `key` = "externip"') || { echo "Can't read externip from MySQL asterisk database"; exit 1; }
if [ "$check" != "$readip" ]; then
# IP address has changed
# Send email
echo "This is an automated message - please do not reply. It appears that our external IP address has been changed to $check" | mail -s "External IP address may have been changed" you@someaddress.com
# Save new IP address to Asterisk SIP settings
mysql_response=$(mysql asterisk -u $user -p$pass -se 'update kvstore_Sipsettings set val='\"$check\"' where `key`="externip" ')
# Reload Asterisk
/var/lib/asterisk/bin/module_admin reload
fi

se ci sono problemi di formattazione, si può scaricare con:

$ wget https://www.dropbox.com/s/lrvyd83ezu62fb7/checkip.sh?dl=0 -O checkip.sh

le voci importanti da modificare sono: user, pw, ed aggiungere la propria mail eventualmente, per essere avvisati al cambiamento ip. Quindi:

# chmod u+rx checkip.sh
# mv checkip.sh /var/lib/asterisk/agi-bin/

se non presente dig, scaricarlo:

# apt install dnsutils

per testarlo subito eseguire:

# /var/lib/asterisk/agi-bin/./checkip.sh

Adesso è utile programmare un cron job che controlli l’indirizzo ip ad intervalli regolari. Io ho optato per un check ogni ora, anche se il mio ip non cambia così spesso:

# crontab -e

ed incollare qualcosa del genere:

*/60 * * * * /var/lib/asterisk/agi-bin/checkip.sh

adesso il nostro centralino asterisk non avrà più problemi a causa dell’ip dinamico. Testato e funzionante con Asterisk 14 FreePBX 14

Script Bash per aggiornamento ip dinamico FreePBX Asterisk

enjoy 😉

 

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

Questa guida, testata su Debian 10, fa vedere come dopo avere installato un interessante tool di Information gathering, FBI (Facebook Information)) si possono ottenere velocemente dati sensibili sui propri amici di Facebook.

$ sudo apt update; apt upgrade -y
$ sudo apt install git python2
$ git clone https://github.com/xHak9x/fbi.git
$ cd fbi/
$ sudo pip2 install -r requirements.txt

Avviare con:

$ python2 fbi.py

loggarsi con il proprio id facebook e dare il comando:

token

scaricare le info di tutti gli amici:

get_data
get_info

ottenere i numeri di telefono:

dump_phone

Trovare informazioni sensibili su Facebook con FBI

scoprire tutte le mail:

dump_mail

Trovare informazioni sensibili su Facebook con FBI

Trovare informazioni sensibili su Facebook con FBI

ecc. ecc. ecc.

enjoy 😉