Analizzare routers e devices IoT con RouterSploit

Analizzare routers e devices IoT con RouterSploitAnalizzare routers e devices IoT con RouterSploit

RouterSploit è uno script in python che serve ad analizzare devices IoT e routers per scoprire eventualmente exploit noti, e quindi mettere il tutto in sicurezza. Può essere anche usato per analizzare dispositivi embedded, stampanti, telecamere. Per installarlo su Debian Stretch/Buster basta seguire questi semplici passi:

sudo apt install python3-pip git
git clone https://www.github.com/threat9/routersploit
cd routersploit/
sudo pip3 install -r requirements.txt

Avviare RouterSploit:

cd routersploit/
sudo python3 rsf.py
use scanners/autopwn
set target 192.168.1.1

i comandi sopra avvieranno RouterSploit che analizzerà l’ip del router, successivamente cambiare target per gli altri devices.

Analizzare routers e devices IoT con RouterSploit

enjoy 😉

Aggiornare Owncloud alla versione 10.0.10 su Debian

Aggiornare Owncloud alla versione 10.0.10 su Debian
Aggiornare Owncloud alla versione 10.0.10 su Debian

Guida su come aggiornare Owncloud dalla versione 10.0.9 alla 10.0.10. Il miglior modo per effettuare l’aggiornamento è quello manuale. Il metodo che userò io è un pò “sporco”, ma secondo me risulta semplice veloce ed efficace. Aggiornare Owncloud alla versione 10.0.10 su Debian

Enable Maintenance Mode

cd /var/www/owncloud/
sudo -u www-data php occ maintenance:mode --on

Stop dei servizi essenziali

sudo service apache2 stop
sudo service cron stop

Download nuova versione

cd /opt/
sudo wget https://download.owncloud.org/community/owncloud-10.0.10.tar.bz2

Nel mio caso tenendo i miei DATI al di fuori della cartella Owncloud, procedo direttamente all’aggiornamento, sostituendo la cartella:

sudo tar xjvf owncloud-10.0.10.tar.bz2  -C /var/www/

Nel caso i DATI si trovassero all’interno della cartella Owncloud, allora bisognerà copiare il vecchio file di configurazione:

cd /opt/
sudo tar xjvf owncloud-10.0.10.tar.bz2
sudo cp /var/www/owncloud/config/config.php owncloud/config/config.php
sudo cp -R owncloud/ /var/www/

Aggiornamento

sudo -u www-data php /var/www/owncloud/occ upgrade

Attivazione servizi

sudo service cron start
sudo service apache2 start

Disable Maintenance Mode

cd /var/www/owncloud/
sudo -u www-data php occ maintenance:mode --off

enjoy 😉

(Solved) warning ldconfig not found in PATH Debian Buster

Passando da Debian Stretch a Debian Buster modificando i sources-list, alla fine dell’upgrade molto probabilmente non si potrà più installare un nuovo pacchetto poichè si presenterà l’errore seguente:

Preconfiguring packages …
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

questo errore si risolve con:

su
nano /root/.bashrc

aggiungere in fondo:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

riavviare:

reboot

enjoy 😉

HFS Http File Server su Debian Kali Parrot

 HFS Http File Server su Debian Kali Parrot

HFS Http File Server su Debian Kali Parrot

HFS è un  Http file server molto usato su Windows, ma volendo si può utilizzare anche su sistemi Linux. Io l'ho testato su Debian Stretch, su Kali Linux e su Parrot, e funziona benissimo. Di seguito la descrizione:

You can use HFS (HTTP File Server) to send and rceive files. It's different from classic file sharing because it uses web technology to be more compatible with today's Internet. It also differs from classic web servers because it's very easy to use and runs "right out-of-the box". Access your remote files, over the network. It has been successfully tested with Wine under Linux.

Installazione:

Scaricare hfs da git ed il file hfs.exe

git clone https://github.com/rejetto/hfs.git
cd hfs/
wget -c http://www.rejetto.com/hfs/download -O hfs.exe
sudo su
apt update; apt upgrade -y
dpkg --add-architecture i386
apt update; apt install wine32 -y

per avviare:

cd hfs/
wine hfs.exe

HFS Http File Server su Debian Kali Parrot

enjoy 😉

(Solved) Samba Computer in rete non visualizzati

(Solved) Samba Computer in rete non visualizzati

(Solved) Samba Computer in rete non visualizzati

In realtà il titolo doveva essere: (Solved) Samba e Computer in rete non visualizzati problema di accesso con password ed errori vari. Tutto questo perchè ho riscontrato problemi simili, su distribuzioni diverse, Debian Stretch, Ubuntu 18-10, Parrot OS. Ad ogni modo il tutto si risolve con piccoli ritocchi al file smb.conf.

sudo apt-get install samba samba-common python-glade2 smbclient
sudo nano /etc/samba/smb.conf

ed incollare nel menu [global]

workgroup = WORKGROUP
client use spnego = no
client ntlmv2 auth = no
client max protocol = NT1

dove le stringhe 2 e 3, evitano l'errore sotto indicato:

edmond@debianbox:~$ smbclient -L 192.168.1.1
WARNING: The "syslog" option is deprecated
Enter edmond's password:
Server does not support EXTENDED_SECURITY but 'client use spnego = yes and 'client ntlmv2 auth = yes'

mentre con la stringa 4 si potranno vedere i pc della nostra rete nel menu Network>Windows Network>Workgroup, ed in più dopo aver digitato la password finalmente si riesce ad accedere.

sudo reboot

(Solved) Samba Computer in rete non visualizzati

enjoy 😉

 

Trova Sostituisci ricorsivamente da terminale Linux

Trova  Sostituisci ricorsivamente da terminale Linux

Trova  Sostituisci ricorsivamente da terminale Linux

Per trovare e sostituire una parola in un file di testo è molto semplice, ed ogni sistema operativo offre una semplice interfaccia per ottenere questo. Ma se si ha una cartella con all'interno altre cartelle, che a loro volta contengono centinaia di files di testo, allora il lavoro si fa estremamente duro. Questa guida serve a semplificare tutto, ed il risultato sarà immediato e velocissimo. Gli strumenti che offre Gnu-Linux sono: Find, Grep, Sed.

trovare il testo:

grep -r "testo_da_trovare"

sostituire il testo:

find ./ -exec sed -i 's/testo_trovato/testo_da_sostituire/g' {} \;

Trova  Sostituisci ricorsivamente da terminale Linux

enjoy 😉

 

NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

Dopo le indicazioni su come configurare NordVPN su Debian Stretch, in questa guida mostrerò come integrare la VPN h24 sul Modem/Router ASUS DSL-AC68U con firmware Asuswrt-Merlin. Il presupposto quindi è che questo firmware sia già onboard.

Scaricare i files con i server vpn:

$ mkdir vpn_server; cd vpn_server/
$ wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip
$ unzip opvn.zip
$ rm ovpn.zip

accedere all’interfaccia del router e andare nel menu vpn:

NordVPN su ASUS DSL-AC68U Merlin

andare in Client VPN:

NordVPN su ASUS DSL-AC68U Merlin

Aggiungere un profilo:

NordVPN su ASUS DSL-AC68U Merlin

inserire user e passord della VPN, e caricare il server scelto:

NordVPN su ASUS DSL-AC68U Merlin

abilitare la VPN:

NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

a questo punto tutta la rete interna sarà sotto VPN, protetta e sicura.

enjoy 😉

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

Guida su come configurare una VPN, in questo caso NordVPN, su Debian Stretch, in modo grafico, utilizzando Network Manager oppure avviandola direttamente dal  terminale. Io ho un abbonamento con NordVPN,  quindi ho user e password. Il perchè utilizzare una VPN, i pro ed i contro, non è oggetto di questo post. Dico solo che questa VPN ha sede a Panama e non memorizza logs.

sudo apt-get install openvpn network-manager-openvpn-gnome ca-certificates unzip
sudo service network-manager restart
cd /etc/openvpn
sudo wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip
sudo unzip ovpn.zip
sudo rm ovpn.zip
cd ovpn_udp
ls -al

per far partire la VPN, basta scegliere un server della lista, io consiglio di testarne diversi per poter scegliere quello più performante:

sudo openvpn us844.nordvpn.com.udp.ovpn

OpenVPN chiederà le credenziali, quindi inserire user e password.

Configurazione di Network Manager

Scaricare i seguenti files:

mkdir vpn_server; cd vpn_server/
wget https://nordvpn.com/api/files/zip
unzip zip
rm zip

cliccare sopra l'immagine

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

enjoy 😉

 

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

Con l’arrivo del nuovo Raspberry pi 3 B+ nella mia collezione, ho deciso di dedicarlo alla video sorveglianza installando Zoneminder. Per avere delle ottime performance, è necessrio avere una sd card performante, io ho optato per una SanDisk Extreme PRO 64GB, MicroSDXC Classe 10. Si può anche utilizzare un ssd esterno come capiente storage. Tutti i comandi sotto saranno eseguiti come root:

# apt update; apt upgrade -y
# apt install -y build-essential openssh-server apache2 mysql-server mysql-client bison flex php php7.0-curl php7.0-cli php7.0-mysql php-pear php7.0-gd curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev libasound2-dev libogg-dev libapache2-mod-php7.0 sendmail ffmpeg vlc vlc-data zoneminder
# rm -rf /etc/mysql/my.cnf
# cp /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/my.cnf
# nano /etc/mysql/my.cnf

ed aggiungere:

sql_mode = NO_ENGINE_SUBSTITUTION

come sotto:

# * Basic Settings
#
user            = mysql
sql_mode = NO_ENGINE_SUBSTITUTION
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
# systemctl restart mysql

mettere in sicurezza mysql

# mysql_secure_installation
# service mariadb restart
# systemctl status mariadb.service

Creazione del database:

# mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
# mysql -uroot -p -e "grant all on zm.* to 'zmuser'@localhost identified by 'zmpass';"
# mysqladmin -uroot -p reload
# chmod 740 /etc/zm/zm.conf
# chown root:www-data /etc/zm/zm.conf
# adduser www-data video
# a2enmod cgi
# a2enconf zoneminder
# a2enmod rewrite
# systemctl restart apache2
# chown -R www-data:www-data /usr/share/zoneminder/
# systemctl enable zoneminder
# service zoneminder start

per evitare errori modificare il file php.ini aggiungendo Europe/Rome nella sezione Module Settings:

# nano /etc/php/7.0/apache2/php.ini

date.timezone = Europe/Rome

# systemctl restart apache2

a questo punto zoneminder sarà raggiungibile all’indirizzo http://ip_seerver/zm

Per utilizzare un ssd esterno come storage, bisogna configurare /etc/fstab per il montaggio automatico:

# systemctl stop zoneminder
# mkdir -p /ssd/zoneminder/events/
# rm -rf /var/cache/zoneminder/events/
# nano /etc/fstab

ed aggiungere qualcosa del genere:

/dev/sdX1 /ssd ext4 defaults 0 2
/ssd/zoneminder/images /var/cache/zoneminder/images none defaults,bind  0 2
/ssd/zoneminder/events /var/cache/zoneminder/events none defaults,bind 0 2

per poter scrivere sul nuovo storage:

# chown -R www-data:www-data /ssd/zoneminder/
# reboot

Zoneminder su Raspberry pi 3 B+ Raspbian Stretch

al riavvio tutto dovrebbe funzionare, e si potrà procedere alla configurazione di Zoneminder

enjoy 😉

Configurazione Trunk PJSIP Messagenet Freepbx 14

 

Configurazione Trunk PJSIP Messagenet e Freepbx 14

Configurazione Trunk PJSIP Messagenet Freepbx 14

Ho deciso di aggiornare il mio centralino, passando da Raspbian Jessie a Raspbian Stretch, e quindi a Freepbx 14, e di passare da chan_sip a chan_pjsip, sia per quanto riguarda i Trunk che per l'estensioni. Per quanto riguarda la creazione del trunk pjsip con Messagenet, ho notato che è meno intuitivo rispetto al chan_sip di una mia vecchia guida, Ad ogni modo condividerò di seguito gli screenshots di una configurazione di un trunk Messagenet funzionante:

I parametri dell'esempio saranno:

Sip server: sip.messagenet.it
Porta: UDP 5061
Username Messagenet:5XXXXXXXXX
Password Messagenet: NXXXXXX
Numero geografico: 02XXXXXXXX

General:

Configurazione Trunk PJSIP Messagenet Freepbx 14

match pattern:

Configurazione Trunk PJSIP Messagenet  Freepbx 14

pjsip setting general:

Configurazione Trunk PJSIP Messagenet Freepbx 14

pgsip setting advanced:

Configurazione Trunk PJSIP Messagenet Freepbx 14

pjsip setting advanced 2:

Configurazione Trunk PJSIP Messagenet Freepbx 14

queste configurazioni vanno a modificare i files:

pjsip.registration.conf:

[Messagenet02]
type=registration
transport=0.0.0.0-udp
outbound_auth=Messagenet02
retry_interval=60
max_retries=10
expiration=3600
line=yes
endpoint=Messagenet02
auth_rejection_permanent=yes
contact_user=02XXXXXXX
server_uri=sip:sip.messagenet.it:5061
client_uri=sip:54XXXXXXXX@sip.messagenet.it:5061


pjsip.endpoint.conf:

[Messagenet02]
type=endpoint
transport=0.0.0.0-udp
context=from-pstn
disallow=all
allow=ulaw,alaw
aors=sip:sip.messagenet.it:5061
language=it
outbound_auth=Messagenet02
from_domain=sip.messagenet.it
from_user=54XXXXXXXX
t38_udptl=no
t38_udptl_ec=none
fax_detect=no
trust_id_inbound=no
t38_udptl_nat=no
direct_media=no
rewrite_contact=yes
rtp_symmetric=yes
message_context=incoming
dtmf_mode=auto


pjsip.auth.conf:

[Messagenet02]
type=auth
auth_type=userpass
password=NXXXXXXXXX
username=54XXXXXXXX

pjsip.aor.conf:

[Messagenet02]
type=aor
qualify_frequency=60
contact=sip:54XXXXXXXX@sip.messagenet.it:5061


pjsip.identify.conf:

[Messagenet02]
type=identify
endpoint=Messagenet02
match=sip.messagenet.it

Configurazione Trunk PJSIP Messagenet Freepbx 14

a questo punto con un Trunk PJSIP funzionante si potrà passare alla creazione delle Exstension, Inbound Route e Outbound Route.

enjoy 😉