martedì 30 gennaio 2018

Kali Linux: Installazione Fonts Microsoft Core

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

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

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


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

lunedì 29 gennaio 2018

Windows 10: Personalizzare le impostazioni tramite uno script PowerShell

Windows 10 integra numerose funzioni/impostazioni molte delle quali nascoste e difficili da individuare. Chi ha la necessità di personalizzare spesso una nuova installazione di Windows 10, di Windows Server 2016 oppure intende applicare la stessa configurazione a più computer può trovare utile Windows 10 Initial Setup Script.
Una volta scaricato lo script Win10.ps1 è possibile aprirlo e modificarlo con un qualsiasi editor di testo, tuttavia è consigliabile utilizzare editor dotati di evidenziazione della sintassi come Notepad++, Sublime Text, Emacs , ecc.


Windows 10 Initial Setup Script, Editing del file Win10.ps1
FIG 1 - Windows 10 Initial Setup Script, Editing del file Win10.ps1

Si tratta di uno script PowerShell ben strutturato contenente un lungo elenco di impostazioni, organizzate a coppie, con effetto opposto: nella colonna di sinistra sono presenti i comandi che disabilitano una funzionalità di Windows mentre a destra ci sono i comandi opposti che permettono di riabilitare la funzione disattivata in precedenza (questi ultimi sono per default disabilitati in quanto preceduti dal simbolo # che trasforma in un commento tutto quello che segue sulla stessa riga).
I comandi che non sono commenti, ovvero che non presentano il simbolo # iniziale, verranno applicati a Windows all'esecuzione dello script. 
Lo script può essere avviato, utilizzando un account con privilegi elevati, semplicemente cliccando sul file Win10.ps1 con il tasto destro del mouse e selezionando Esegui con Powershell dal menu contestuale. 


Esegui con PowerShell
FIG 2 - Esegui con PowerShell

Lo script può essere lanciato anche da riga di comando permettendo di specificare le funzioni da eseguire.
Ad es. se si intende disabilitare la telemetria e abilitare il firewall di Windows 10 è possibile lanciare il seguente comando
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 DisableTelemetry EnableFirewall

In alternativa è possibile passare allo script un file di testo contenente l'elenco delle funzioni da eseguire
Ad es.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -preset preset.txt
Il contenuto del file preset.txt avrà un aspetto simile al seguente
#Privacy Settings
DisableTelemetry
DisableWebSearch

#Service Tweaks
EnableFirewall
DisableAutoplay

Al termine dell'esecuzione verrà richiesto di premere un tasto per procedere al riavvio del sistema.




venerdì 26 gennaio 2018

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

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

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

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

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

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


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

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

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

  • Installare le dipendenze del pacchetto eseguendo i comandi 

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

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






martedì 23 gennaio 2018

Windows 10: Modificare il livello batteria di riserva

Chi lavora con un portatile sa bene che quando la batteria scende al di sotto di una determinata soglia, il sistema operativo entra in modalità sospensione per evitare la perdita dei dati causata da uno spegnimento improvviso. Il livello della batteria raggiunto il quale Windows entra in sospensione può essere modificato agendo tramite le impostazioni presenti nel Pannello di controllo:
  • Avviare il Pannello di controllo (WIN+R e digitare control seguito da invio) e cliccare su Hardware e suoni;
    Windows 10, Pannello di Controllo
    FIG 1 - Windows 10, Pannello di controllo
  • Nella finestra successiva cliccare su Opzioni risparmio energia;
    Windows 10, Pannello di controllo - Hardware e suoni
    FIG 2 - Windows 10, Pannello di controllo > Hardware e suoni
  • Cliccare su Modifica impostazioni combinazione relativo all'elemento attivo;

    Windows 10, Pannello di controllo > Hardware e suoni > Opzioni risparmio energia
    FIG 3 - Windows 10, Pannello di controllo > Hardware e suoni > Opzioni risparmio energia
  • Cliccare sul collegamento Cambia impostazioni avanzate risparmio energia;
    Windows 10, Modifica combinazioni per il risparmio di energia
    FIG 4 - Windows 10, Modifica combinazioni per il risparmio di energia
  • Nella finestra Opzioni risparmio energia, scorrere l'elenco e cliccare sulla sezione Batteria. All'interno di tale sezione, nell'elenco ad albero, cliccare sull'elemento Livello batteria di riserva. I due valori, relativi all'alimentazione a batteria e da rete elettrica, rappresentano la percentuale residua di carica in corrispondenza della quale si avvia la modalità di alimentazione di riserva/sospensione. Personalizzare tali valori in base alle proprie esigenze.

    Windows 10, Opzioni risparmio energia
    FIG 5 - Windows 10, Opzioni risparmio energia


mercoledì 17 gennaio 2018

MS Exchange: Ricerca all'interno delle Public Folders utilizzando EMS

Per recuperare gli attributi di una cartella o un insieme di cartelle pubbliche in Exchange Management Shell (EMS) è disponibile il cmdlet Get-PublicFolder.
Il cmdlet può essere utilizzato da solo oppure insieme ad uno o più parametri di seguito elencati.

Parametri principali


GetChildren
Permette di specificare se restituire solo gli elementi figlio della cartella specificata da -Identity. Non può essere utilizzato con il parametro Recurse.

Identity
Il parametro Identity permette di specificare una determinata public folder. Consente di indicare anche il path utilizzando il formato \TopLevelPublicFolder\PublicFolder.

Recurse 
Il parametro recurse specifica che il comando restituirà la cartella pubblica indicata e tutti i sui figli.

Mailbox
Il parametro Mailbox consente di specificare l'identità della casella di posta di cartelle pubbliche gerarchica. Il parametro accetta l'Alias, il Display Name, il Distinguished Name (DN) o il Domain\Account.

ResultSize
Con ResultSize è possibile specificare il numero massimo di risultati da restituire. Il valore massimo predefinito è 10.000. Se non si intende impostare alcun limite al numero di risultati restituiti, al parametro va passato il valore Unlimited. Resultsize può essere specificato solo con i parametri Recurse o GetChildren.


Esempi


Esempio 1
Get-PublicFolder
Il cmdlet senza parametri restituisce la cartella pubblica radice (IPM_SUBTREE).

Esempio 2
Get-PublicFolder -Identity "\Agenzia1\Documenti\Legale"
Il comando restituisce la cartella pubblica Legale presente in \Agenzia1\Documenti\. Per visualizzare anche il contenuto delle sottocartelle di Legale è possibile utilizzare il parametro -Recurse come indicato di seguito
Get-PublicFolder -Identity "\Agenzia1\Documenti\Legale" -Recurse

Esempio 3
Get-PublicFolder -Mailbox "Ufficio1" -ResidentFolders
Restituisce le cartelle pubbliche che risiedono nella cartella pubblica della casella Ufficio1.

Esempio 4
Get-PublicFolder -recurse -resultsize unlimited | where {$_.name -like "sala*"}
Ricerca le cartelle il cui nome inizia per sala all'interno delle cartelle pubbliche.


Get-PublicFolder, ricerca cartelle pubbliche
FIG 1 - Get-PublicFolder, ricerca cartelle pubbliche




giovedì 11 gennaio 2018

Kali Linux: Attivare una VPN in pochi minuti con VPNBOOK

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

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

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


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

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

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

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

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

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




martedì 9 gennaio 2018

Kali Linux: Sfruttare vulnerabilità di Intel Active Management Technology per accedere ad un sistema remoto

Introduzione

Presentata per la prima volta all'Intel Developer Forum Fall del 2004, Active Management Technology (AMT) consente, tramite le funzionalità integrate e applicazioni di gestione e sicurezza di terze parti, la gestione remota del sistema permettendo di aggiornarlo, ripararlo e proteggerlo. Tale tecnologia, inclusa nei processori Intel Core con Intel vPro e in determinati processori Intel Xeon, opera a livello firmware e consente di gestire un sistema remoto indipendentemente dal sistema operativo installato anche se è spento o se presenta componenti guasti (ad. es il disco fisso).

Intel Active Management Technology (AMT), Intel Standard Manageability (ISM) e Intel Small Business Technology con versioni del firmware dalla 6.x alla 11.6 presentano una grave falla che permette di prendere il controllo dei sistemi gestiti con tali tecnologie.  La vulnerabilità non è presente sui PC consumer, sui server Intel che utilizzano Intel Server Platform Services (Intel SPS), sui processori Intel Xeon E3 e E5 che utilizzano il firmware Intel SPS. Maggiori dettagli sono disponibili sulla pagina messa a disposizione da Intel.


Come funziona

L'accesso da remoto a Intel Active Management Technology avviene attraverso una semplice interfaccia web gestita da un servizio in ascolto sulle porte 16992 e 16993. All'accesso vengono generalmente richieste utenza e password che vanno a costruire la passphrase inviata impiegando lo standard HTTP Digest Authentication: all'utenza e alla password viene applicata una funzione hash utilizzando un nonce del firmware AMT insieme ad alcuni bit di metadata. La "response" venuta fuori da tale operazione viene inviata all'AMT, analizzata da quest'ultimo e, se ritenuta valida, l'utente verrà autorizzato all'accesso all'interfaccia di gestione. La vulnerabilità consente di avere accesso al AMT inviando una response vuota.
Decompilando in C il firmware Intel si nota un codice simile al seguente che chiarisce come sia possibile ottenere l'accesso al sistema inviando una response vuota
if(strncmp(computed_response, user_response, response_length))
 deny_access();

L'idea di fondo è quella di confrontare la response dell'utente (user_response) con quello che si attende il sistema (computed_response) e verificare se siano identiche o meno. La funzione strncmp limita il confronto al numero di caratteri indicato da response_length. Il problema nasce dal fatto che response_length viene calcolato sulla lunghezza di user_response pertanto fornendo una response vuota (lunghezza 0) non avviene alcun confronto e il sistema autorizza l'accesso.

Tale vulnerabilità è facilmente sfruttabile utilizzando un proxy, o un analogo editor di traffico, che consente al malintenzionato di inviare una response vuota. Di seguito mostrerò i passaggi, a scopo didattico, per accedere da remoto a AMT bypassando l'autenticazione utilizzando Kali Linux che integra già tutto il necessario.

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



Dimostrazione di un attacco

Innanzitutto è necessario disporre dell'indirizzo IP del sistema da attaccare. Tramite il motore di ricerca SHODAN  è possibile ricercare i sistemi vulnerabili a questo tipo di attacco.
Motore di ricerca Shodan
FIG 1 - Motore di ricerca Shodan


Avviare Firefox e nella barra degli indirizzi digitare l'indirizzo del sistema a cui vogliamo connetterci seguito dal numero di porta :16992.
Ad es.
http://192.168.1.1:16992
Apparirà la schermata di logon indicata in FIG 2
Schermata di Log On Intel Active Management Technology
FIG 2 - Schermata di Log On Intel Active Management Technology

Per raggiungere lo scopo verranno utilizzare alcune funzioni della suite di sicurezza Burp Suite, in particolare verranno utilizzare le funzioni Proxy, Intercept al fine di intercettare e modificare al volo i dati che vengono inviati al server. Avviare Burp Suite cliccando sull'apposita icona.
Kali Linux, Burp Suite
FIG 3 - Kali Linux, Burp Suite

Cliccare sul pulsante Next.
Burp Suite
FIG 4 - Burp Suite

Cliccare su Start Burp.
Burp Suite, Start Burp
FIG 5 - Burp Suite, Start Burp

Selezionare la scheda Proxy quindi assicurarsi che nella scheda Intercept sia presente la dicitura Intercept is on.


Burp Suite, Proxy, Intercept
FIG 6 - Burp Suite, Proxy, Intercept


Ritornare a Firefox e impostare il proxy come mostrato in FIG 7 (dal menu hamburger, Preferences, Advanced, selezionare Network quindi cliccare sul pulsante Settings).
Firefox, impostazione Proxy
FIG 7 - Firefox, impostazione Proxy


Nella pagina http://192.168.1.1:16992 cliccare sul pulsante Log on.
Ritornare a Burp Suite e cliccare sul pulsante Forward.
Burp Suite, intercettazione
FIG 8 - Burp Suite, intercettazione

In Firefox viene aperta la finestra di richiesta credenziali, inserire admin come user name e password a caso quindi cliccare su OK.
Intel Active Management Technology, inserimento credenziali
FIG 9 - Intel Active Management Technology, inserimento credenziali

Ritornare in Burp Suite, eliminare il valore contenuto in response e cliccare su Forward per inviare i dati modificati al server.
Burp Suite, modifica della response
FIG 10 - Burp Suite, modifica della response
Burp Suite, modifica della response
FIG 11 - Burp Suite, modifica della response
A questo punto siamo all'interno dell'interfaccia di gestione AMT. Possiamo creare un nostro account amministratore con una nostra password per gestire il sistema senza passare per Burp Suite o utilizzare programmi di terze parti come MeshCommander per prendere il controllo remoto della macchina.
Interfaccia Intel Active Management Technology
FIG 12 - Interfaccia Intel Active Management Technology
MeshCommander
FIG 13 - MeshCommander



Come Proteggersi

Intel, attraverso la pagina https://newsroom.intel.com/news/important-security-information-intel-manageability-firmware/ fornisce un tool per verificare se il proprio sistema è vulnerabile e una guida su come intervenire per ridurre i rischi derivati.
Se l'aggiornamento del firmware non è possibile si può pensare di disabilitare l'AMT sul sistema utilizzando tool di terze parti come quello scaricabile dal seguente link https://github.com/bartblaze/Disable-Intel-AMT