Visualizzazione post con etichetta Kali Linux. Mostra tutti i post
Visualizzazione post con etichetta Kali Linux. 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.





martedì 19 giugno 2018

Kali Linux: Installare PowerShell su Kali Linux

Le distribuzioni Linux consentono di specificare più repository per l'installazione dei pacchetti. Tra i numerosi repository disponibili online c'è anche uno messo a disposizione da Microsoft che include PowerShell. Il repository di Microsoft è pensato per gli utenti Debian ma si adatta perfettamente anche a Kali Linux.

In questo articolo verrà mostrato, passo passo, come installare PowerShell in Kali Linux.

La prima operazione da effettuare consiste nel preparare il terreno installando/aggiornando le dipendenze. Dalla finestra terminale di Kali Linux eseguire il comando
apt update && apt -y install curl gnupg apt-transport-https
Aggiornamento delle dipendenze del pacchetto PowerShel
FIG 1 - Aggiornamento delle dipendenze del pacchetto PowerShell
Il passo successivo consiste nell'aggiungere la chiave GPG del repository in modo che APT rilevi la firma dei pacchetti. Sempre dalla finestra terminale eseguire
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Aggiungere la chiave GPG del repository Microsoft
FIG 2 - Aggiungere la chiave GPG del repository Microsoft

A questo punto il repository Microsoft va aggiunto all'elenco delle risorse in /etc/apt/sources.list.d/ con il comando
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/powershell.list 
Aggiungere il repository Microsoft all'elenco delle risorse
FIG 3 - Aggiungere il repository Microsoft all'elenco delle risorse
Aggiornare l'elenco dei pacchetti con il comando
apt update
Aggiornare l'elenco dei pacchetti
FIG 4 - Aggiornare l'elenco dei pacchetti
Installare il pacchetto libcurl3 
apt -y install libcurl3
Installazione pacchetto libcurl3
FIG 5 - Installazione pacchetto libcurl3
Procedere all'installazione del pacchetto PowerShell eseguendo
apt -y install powershell
Installazione pacchetto PowerShell
FIG 6 - Installazione pacchetto PowerShell
Al termine dell'installazione del pacchetto, avviare PowerShell con
pwsh
Nel caso in cui appaia il messaggio "FailFast: The terminfo database is invalid.", come mostrato in FIG 7, è probabile che la variabile d'ambiente TERM sia settata su xterm-256color.


Avvio PowerShell tramite pwsh
FIG 7 - Avvio PowerShell tramite pwsh
Per verificare il valore della variabile d'ambiente TERM digitare, da terminale, il seguente comando
printenv TERM
Visualizzazione valore variabile d'ambiente TERM
FIG 8 - Visualizzazione valore variabile d'ambiente TERM
In questo caso PowerShell può essere avviato da terminale digitando ed eseguendo
TERM=xterm pwsh
FIG 9 - Avvio PowerShell tramite TERM=xterm pwsh
Da PowerShell eseguire
Update-Help
per aggiornare tutti i file di help scaricandoli da Microsoft.
Aggiornamento dei file di Help di PowerShell
FIG 10 - Aggiornamento dei file di Help di PowerShell
L'installazione di PowerShell in Kali Linux è completa. Possiamo testare il funzionamento eseguendo un cmdlet PowerShell.
 Esecuzione cmdlet PowerShell
FIG 11 - Esecuzione cmdlet PowerShell





venerdì 8 giugno 2018

Kali Linux: Eseguire la scansione delle vulnerabilità delle applicazioni web con WMAP

Originariamente sviluppato a partire dal tool SQLMap, WMAP è un potente strumento che consente di verificare eventuali vulnerabilità di applicazioni web tramite il Framework Metasploit.
Si tratta di uno scanner di vulnerabilità di applicazioni web integrato in Metasploit. In questo articolo verranno mostrati i passi da seguire per verificare la presenza di eventuali vulnerabilità di un server web. A tale scopo verrà utilizzata la distribuzione Kali Linux che integra tutti gli strumenti necessari.

ATTENZIONE:
Danneggiare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.


Prima di procedere è consigliabile aggiornare tutti i pacchetti installati in Kali Linux alle versioni più recenti lanciando i seguenti 2 comandi da terminale
sudo apt-get update
sudo apt-get upgrade

WMAP utilizza il database PostgreSQL di Metasploit per memorizzare i risultati della scansione pertanto, prima di avviarlo, è necessario attivare/verificare la connessione al database. 
Avviare il servizio postgresql tramite il seguente comando da terminale
sudo service postgresql start
quindi inizializzare il database eseguendo il comando
sudo msfdb init
Avvio del servizio PostgreSQL e inizializzazione del database
FIG 1 - Avvio del servizio PostgreSQL e inizializzazione del database
Terminata l'inizializzazione del database, avviare la console Metasploit eseguendo
sudo msfconsole
Avvio della console Metasploit Framework
FIG 2 - Avvio della console Metasploit Framework
All'interno della console Metasploit Framework caricare il plugin WMAP digitando
load wmap
Caricamento del plugin WMAP nella console Metasploit Framework
FIG 3 - Caricamento del plugin WMAP nella console Metasploit Framework
Per poter effettuare la scansione delle vulnerabilità è necessario, tramite wmap_sites e lo switch -a, definire il sito da verificare specificandone l'URL/IP
Ad esempio, supponendo che il server web da verificare abbia indirizzo 192.168.0.10 si utilizza il comando
wmap_sites -a http://192.168.0.10


Definizione siti con wmap_sites
FIG 4 - Definizione siti con wmap_sites
E' possibile specificare più siti. Per visualizzare l'elenco dei siti definiti si utilizza il comando
wmap_sites -l
Visualizzare l'elenco dei siti definiti
FIG 5 - Visualizzare l'elenco dei siti definiti
A questo punto bisogna impostare il sito web come target utilizzando lo switch -t con l'URL/IP o lo switch -d con l'ID. L'ID è quello visualizzato dall'output del comando wmap_sites -l come visibile in FIG 5.
Ad es:
wmap_targets -t http://192.168.0.10
wmap_targets -d 0
oppure, per testare un particolare URL del sito
wmap_targets -t http://192.168.0.10/administrator/index.php


Definizione target con wmap_targets
FIG 6 - Definizione target con wmap_targets

Anche con wmap_targets è possibile utilizzare lo switch -l per visualizzare l'elenco dei target definiti
wmap_targets -l

Eseguire il comando 
wmap_run -t
per visualizzare/predisporre l'elenco dei moduli che verranno utilizzati per la scansione del sistema target definito.
Visualizzare i moduli abilitati con wmap_run
FIG 6 - Visualizzare i moduli abilitati con wmap_run
Per lanciare la scansione del sistema target, eseguire il comando
wmap_run -e
La scansione completa del sistema potrebbe impiegare diverso tempo quindi pazientate.
Esecuzione scansione del sistema target
FIG 7 - Esecuzione scansione del sistema target
Al termine della scansione utilizzare il seguente comando da terminale per visualizzare l'elenco delle vulnerabilità riscontrate
vulns
Visualizzare l'elenco delle vulnerabilità riscontrate
FIG 8 - Visualizzare l'elenco delle vulnerabilità riscontrate
Le vulnerabilità individuate saranno evidenziate tramite l'identificatore CVE (Common Vulnerabilities and Exposures). Per verificare la disponibilità di eventuali exploit basterà effettuare una ricerca su google o su www.exploit-db.com.






martedì 30 gennaio 2018

Kali Linux: Installazione Fonts Microsoft Core

Chi lavora in ambiente Linux spesso si scontra con documenti e/o pagine web che utilizzano caratteri diffusissimi in ambiente Windows ma che non sono installati sul proprio sistema operativo.
Per rimediare a tale inconveniente è possibile installare il pacchetto di font Microsoft Core che contiene, fra gli altri, i font Arial, Arial BlackComic Sans MS, Courier New, Times New Roman e Verdana.

Innanzitutto è necessario aggiornare l'elenco dei pacchetti eseguendo il seguente comando dalla finestra terminale:
sudo apt-get update

Per installare il pacchetto dei font, sempre dalla finestra terminale, eseguire il comando
sudo apt-get install ttf-mscorefonts-installer


Kali Linux, Fonts Microsoft Core
FIG 1 - Kali Linux, Fonts Microsoft Core

venerdì 26 gennaio 2018

Kali Linux: Scovare l'indirizzo IP del server protetto da Cloudflare

Milioni di siti web, al fine di proteggersi da attacchi DDos (Distributed Denial of Service) e aumentare la velocità di accesso, utilizzano il servizio Cloudflare.
Cloudflare agisce in maniera analoga ad un CDN (Content Delivery Network) ma molto più semplice da configurare. Il sistema si interpone tra il server che ospita il sito web e il visitatore filtrando gli utenti indesiderati (con conseguente risparmio di banda e risorse) e aumentando la sicurezza.
Per utilizzare Cloudflare è necessario registrarsi sul sito www.cloudflare.com, selezionare il servizio desiderato (quello per siti/blog personali è gratuito) quindi impostare i nameserver di Cloudflare come authoritative nameservers per il proprio dominio (generalmente questa operazione va effettuata dal pannello di gestione del dominio messo a disposizione dal proprio registrar).

Cloudflare dispone di numerosi data center sparsi per il mondo. Attraverso una tecnologia proprietaria denominata Anycast e attraverso i propri nameserver, Cloudflare dirotta tutte le richieste di accesso al sito al data center più vicino al visitatore. Il data center verifica l'attendibilità del visitatore analizzandone diverse caratteristiche tra cui l'indirizzo IP, la risorsa richiesta, il numero di richieste, la loro frequenza, ecc. Solo nel caso in cui il visitatore venga ritenuto affidabile, Cloudflare provvede a prelevare i dati contenuti nella cache aggiornata e, dopo aver applicato alcune ottimizzazioni, li restituisce al visitatore in maniera del tutto trasparente. 
Cloudflare
FIG 1 - Cloudflare
I visitatori non verranno mai in "contatto" con l'indirizzo IP del server che ospita il sito web.

Purtroppo, causa imperizia di alcuni amministratori che non limitano l'accesso ai propri server solo agli indirizzi IP di Cloudflare, molti siti web rimangono vulnerabili ed esposti ad attacchi. In questi casi, infatti, l'indirizzo pubblico del server "origine" rimane esposto e può essere individuato con l'utilizzo di alcuni tool come la piattaforma CensysCloudFlair.

Di seguito verrà mostrato come individuare l'indirizzo IP pubblico di un server "origine" vulnerabile protetto da Cloudflare utilizzando Kali Linux.

ATTENZIONE:
Danneggiare o violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.


  • Posizionarsi sul sito https://censys.io e, se non si dispone già di un'account, crearne uno cliccando su Signup e seguendo le istruzioni a video. Al termine eseguire il logon con il proprio account.
    Sito web Censys.io
    FIG 2 - Sito web Censys.io
  • Posizionarsi sulla pagina https://censys.io/account/api e prendere nota di API ID e Secret;

    Censys, API ID e Secret
    FIG 3 - Censys, API ID e Secret
  • Aprire una finestra terminale di Kali Linux e digitare i seguenti comandi
    export CENSYS_API_ID=<API_ID_Assegnato>
    export CENSYS_API_SECRET=<API_Secret_Assegnato> 

    sostituendo 
    <API_ID_Assegnato><API_Secret_Assegnato> con i valori API ID e Secret ottenuti nel passo precedente;
    Kali Linux, impostare variabili d'ambiente CENSYS_API_ID e CENSYS_API_SECRET
    FIG 4 - Kali Linux, impostare variabili d'ambiente CENSYS_API_ID e CENSYS_API_SECRET
  • Clonare il repository digitando, nella finestra terminale, il seguente comando
    git clone https://github.com/christophetd/cloudflair.git
  • Kali Linux, clonazione repository cloudflair
    FIG 5 - Kali Linux, clonazione repository cloudflair

  • Installare le dipendenze del pacchetto eseguendo i comandi 

    cd cloudflair
    pip install -r requirements.txt
  • Kali Linux, installazione dipendenze di CloudFlair
    FIG 6 - Kali Linux, installazione dipendenze di CloudFlair

  • Per individuare l'indirizzo IP del server "origine" eseguire il comando
    python cloudflair.py myvulnerable.site
    sostituendo myvulnerable.site con l'indirizzo del sito web che si intende verificare. L'output sarà simile a quello mostrato in FIG 7 e sono evidenziati gli indirizzi IP dei server "origine".
    Output CloudFlair
    FIG 7 - Output CloudFlair






giovedì 11 gennaio 2018

Kali Linux: Attivare una VPN in pochi minuti con VPNBOOK

La VPN (Virtual Private Network) è una rete di telecomunicazioni privata che può, tra le altre cose, essere utilizzata per nascondere il proprio indirizzo IP pubblico e proteggere la nostra privacy oppure per sbloccare qualche sito non raggiungibile dal nostro paese.
In questo articolo mi limiterò a indicare i passaggi per attivare in pochi minuti una VPN in Kali Linux utilizzando VPNBOOK, un servizio gratuito che consente  di usare una VPN free con OpenVPN o PPTP.

Prima di procedere con la configurazione/attivazione della VPN, prendere nota del proprio indirizzo IP pubblico sfruttando uno dei tanti servizi accessibili tramite browser che si trovano in rete (ad es. www.mio-ip.it).

Avviare Firefox e connettersi al sito www.vpnbook.com, cliccare su Free VPN e scegliere tra una delle VPN proposte nell'elenco (FIG 1). In fondo a tale pagina sono indicate la username e la password che serviranno in seguito per l'attivazione della VPN (FIG 2).
VPNBOOK, Free VPN
FIG 1 - VPNBOOK, Free VPN


VPNBOOK, credenziali per la VPN Free
FIG 2 - VPNBOOK, credenziali per la VPN Free

Cliccando sulla VPN desiderata apparirà la finestra di download di un file .zip. Salvare il file in locale.
VPNBOOK, salvataggio file della VPN
FIG 3 - VPNBOOK, salvataggio file della VPN
Una volta scaricato il file .ZIP è necessario scompattarlo. Cliccarci su con il tasto destro del mouse e, dal menu contestuale, selezionare Extract Here.
VPNBOOK, estrazione del file VPN
FIG 4 - VPNBOOK, estrazione del file VPN

Accedere alla cartella appena creata, cliccare con il tasto destro del mouse su una parte vuota della finestra e selezionare Open in Terminal.
Kali Linux, Avvio del Terminale
FIG 5 - Kali Linux, Avvio del Terminale

Digitare il comando sudo openvpn seguito dal nome del file .ovpn che si intende caricare.
Ad es.
sudo openvpn vpnbook-euro1-udp25000.ovpn
Kali Linux, Avvio OpenVPN
FIG 6 - Kali Linux, Avvio OpenVPN

Alla richiesta dell'utenza e della password inserire quelle indicate in fondo alla pagina VPNBOOK (FIG 2).
VPNBOOK, inserimento credenziali della VPN
FIG 7 - VPNBOOK, inserimento credenziali della VPN

Dopo qualche secondo la VPN risulterà attivata.
VPN free attivata
FIG 8 - VPN free attivata
A questo punto verificando nuovamente l'indirizzo IP pubblico rilevato dai siti web si noterà che è diverso da quello di partenza.




martedì 28 marzo 2017

Kali Linux: Recuperare le informazioni di un sito web utilizzando il Framework Katana

Per verificare l'attendibilità di un sito web può essere utile recuperare più informazioni possibili sul dominio. Informazioni come data di registrazione del dominio, intestatario, data di creazione e di scadenza, ecc. possono essere recuperate tramite lo strumento WHOIS

Online si trovano diversi servizi specializzati che offrono lo strumento WHOIS e, indicando il sito web che si intende verificare, visualizzano tutte le informazioni disponibili. In questo articolo mostrerò come recuperare tali informazioni utilizzando lo strumento Katana in Kali Linux.


Aggiornare Kali Linux

La prima operazione da effettuare è quella di aggiornare la distribuzione Kali Linux utilizzando i seguenti comandi da terminale
apt-get update
apt-get dist-upgrade


Installare Katana

Il passo successivo consiste nell'installazione del Framework Katana:
  • Avviare il terminale;
  • Digitare il comando
    git clone https://github.com/PowerScript/KatanaFramework.git

    seguito da invio e attendere il download del framework;
    Download Framework Katana
    FIG 1 - Download Framework Katana
  • Accedere alla directory KatanaFramework con il comando
    cd KatanaFramework 
  • Impostare i permessi sulla directory install con il comando
    chmod 777 install 
  • Procedere con l'installazione eseguendo
    ./install 
    Installazione Framework Katana
    FIG 2 - Installazione Framework Katana


Recuperare le informazioni di un dominio tramite Katana

  • Terminata l'installazione eseguire la console di Katana digitando
    ktf.console 

    Console Framework Katana
    FIG 3 - Console Framework Katana
  • Per visualizzare i moduli messi a disposizione dal Framework digitare
    showm
    Elenco moduli del Framework Katana
    FIG 4 - Elenco moduli del Framework Katana
  • Il modulo da utilizzare per il nostro scopo è web/whois. Avviarlo tramite il comando
    use web/whois
  • Eseguire il comando set target seguito dal sito che si intende analizzare, ad es. set target www.example.com 
  • A questo punto, per visualizzare le informazioni del sito web indicato nel passo precedente, basta digitare il comando run
    Visualizzare le informazioni del sito web utilizzando il modulo web/whois
    FIG 5 - Visualizzare le informazioni del sito web utilizzando il modulo web/whois