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







lunedì 4 dicembre 2017

MS Office: Disabilitare l'accelerazione grafica hardware in Office 2013/2016

In Office 2013 e successivi viene utilizzato un metodo di visualizzazione grafica del contenuto e dell'interfaccia utente più efficiente che sfrutta l'accelerazione grafica hardware gestita dal sistema operativo. Tale funzionalità è strettamente legata al driver della scheda video e, in alcuni contesti, può essere la causa di continui crash delle applicazioni Office.
L'accelerazione grafica hardware può essere disabilitata sia tramite interfaccia grafica sia intervenendo all'interno del registro di sistema.


Metodo 1: Disabilitazione Accelerazione grafica hardware tramite GUI

  • Avviare un'applicazione Office, ad esempio Word, e creare un documento vuoto;
  • Dal menu File selezionare Opzioni;
  • Selezionare Impostazioni Avanzate quindi, sul lato destro della finestra, scorrere l'elenco fino a trovare la sezione Visualizzazione;
  • All'interno di tale sezione selezionare la casella Disattiva accelerazione grafica hardware e cliccare sul pulsante OK. L'accelerazione grafica hardware verrà disattivata anche nelle altre applicazioni Office.

    Office, Disattiva accelerazione grafica hardware
    FIG 1 - Office, Disattiva accelerazione grafica hardware



Metodo 2: Disabiltiazione Accelerazione grafica hardware tramite registro di sistema

  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare regedit seguito da invio per avviare l'editor del registro di sistema;
  • Posizionarsi sulla chiave
    HKEY_CURRENT_USER\Software\Microsoft\Office\XX.0\Common\Graphics 
    dove al posto di XX va indicata la versione di office. 

    Ad esempio 

    Office 2013 

    HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Graphics 

    Office 2016 

    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common
    \Graphics
  • Creare, se non presente, un valore DWORD, nominarlo in DisableHardwareAcceleration e valorizzarlo ad 1.
    Office, Disattiva accelerazione grafica hardware tramite Editor del Registro di sistema
    FIG 2 - Office, Disattiva accelerazione grafica hardware tramite Editor del Registro di sistema


Di seguito è possibile scaricare i file .reg che permettono di abilitare/disabilitare l'accelerazione grafica hardware

mercoledì 8 novembre 2017

MS Exchange: Visualizzare lo stato delle code dei messaggi utilizzando EMS

Exchange Management Shell mette a disposizione il cmd-let Get-Queue per visualizzare lo stato delle code dei messaggi relative ai server mailbox e di trasporto. Il cmd-let è utile per verificare che il flusso dei messaggi all'interno dell'organizzazione non presenti intoppi o colli di bottiglia evidenziando il numero di email ancora da processare. La sintassi del comando è la seguente:

Get-Queue [-Filter <String>] [-Server <ServerIdParameter>]
oppure
Get-Queue [-Identity <QueueIdentity>]

Parametri principali


Exclude
Permette di specificare il tipo di code da escludere dai risultati. Accetta le proprietà InternalExternal o una delle proprietà DeliveryType (DeliveryAgentDnsConnectorDeliveryNonSmtpGatewayDeliverySmartHostConnectorDelivery) per filtrare le code.

Include
Consente di specificare il tipo di code da includere nei risultati. Accetta le stesse proprietà viste per Exclude.

Filter
Il parametro Filter viene utilizzato per specificare una o più code utilizzando la sintassi del filtro OPath: nome di una proprietà della coda seguito da un operatore di confronto e da un valore. Ad es. {NextHopDomain -eq "contoso.com"}

Identity
Tale parametro consente di specificare la coda da interrogare. Al parametro va passata in input la coda da visualizzare nel formato Server\coda, ad es. Server1\contoso.com



Esempi


Esempio 1
Get-Queue | FL
Visualizza informazioni dettagliate su tutte le code.

Esempio 2
Get-Queue -Exclude Internal
Visualizza solo le code che non hanno il valore Internal all'interno della proprietà NextHopCategory

Esempio 3

Get-Queue -Filter {MessageCount -gt 50}
Permette di elencare solo le code che contengono più di 50 messaggi.

Esempio 4

Get-Queue Server1\contoso.com | FL
Visualizza informazioni dettagliate sulla coda esistente sul server Server1.



venerdì 27 ottobre 2017

Outlook: Ripristinare l'opzione 'Esegui uno script' nella creazione guidata Regole

A seguito aggiornamenti di sicurezza, in Outlook è stata inibita la possibilità di richiamare un'applicazione o uno script nella Creazione guidata Regole. Per riattivare tali opzioni è necessario agire tramite il registro di sistema:
  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare regedit seguito da invio per avviare l'editor del registro di sistema;
  • Posizionarsi sulla chiave
    HKEY_CURRENT_USER\Software\Microsoft\Office\XX.0\Outlook\Security
    dove al posto di XX va specificata la versione di Office installata.
    Ad es.
    per Office 2016
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security
    per Office 2013
    HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Security
  • Creare, se non presente, un nuovo valore DWORD rinominarlo in EnableUnsafeClientMailRules e assegnargli valore 1.
    Regedit, attivare esecuzione macro in Outlook tramite il valore EnableUnsafeClientMailRules
    FIG 1 - Regedit, attivare esecuzione macro in Outlook tramite il valore EnableUnsafeClientMailRules

A questo punto avviando Outlook e creando una regola troveremo le opzioni esegui uno script e avvia applicazione come mostrato in figura.
Outlook, Creazione guidata Regole
FIG 2 - Outlook, Creazione guidata Regole



venerdì 20 ottobre 2017

PowerShell: Visualizzare informazioni dettagliate sui dischi fisici installati nel sistema tramite il cmdlet Get-PhysicalDisk

Introdotto a partire da Windows 8/ Windows Server 2012, il cmdlet Get-PhysicalDisk consente di elencare i dischi fisici installati nel sistema e relative informazioni dettagliate.

Lanciando il comando senza alcun parametro verranno elencati i dischi installati nel sistema con alcune informazioni come il modello, il Serial Number, il tipo di disco (HDD o SDD), lo stato di 'salute' del disco, la dimensione, ecc. 

Get-PhysicalDisk
FIG 1 - Get-PhysicalDisk

Per visualizzare maggiori dettagli è possibile utilizzare il comando
Get-PhysicalDisk | Select *
Get-PhysicalDisk, visualizzare maggiori dettagli
FIG 2 - Get-PhysicalDisk, visualizzare maggiori dettagli


Tramite Select è possibile specificare solo le informazioni che ci interessano tra quelle disponibili. Ad es. per visualizzare solo il modello del disco e il tipo possiamo utilizzare il comando
Get-PhysicalDisk | Select Model, MediaType



Parametri principali


-CanPool
Passando al parametro il valore $True verranno elencati solo i dischi installati che consentono l'utilizzo in un pool di storage. Con $False, viceversa, verranno elencati solo i dischi che non possono essere utilizzati in uno storage pool.
Es.
Get-PhysicalDisk -CanPool $True

-CimSession
Esegue il comando su una sessione o un computer remoto.
Get-PhysicalDisk -CimSession <NomeServer1>

-FriendlyName
Permette di visualizzare le informazioni del disco passato al parametro
Get-PhysicalDisk -FriendlyName <NomeDisco>

-HealthStatus
Permette di visualizzare le informazioni dei dischi installati che hanno lo stato di 'salute' specificato dal parametro HealthStatus. I valori accettati sono Healthy, Unhealthy, Unknown, Warning.
Ad es. volendo visualizzare solo i dischi che hanno il valore HealthStatus impostato su Warning il comando è il seguente:
Get-PhysicalDisk -HealthStatus Warning

-Manufacturer
Il parametro Manufacturer consente di visualizzare le informazioni solo dei dischi prodotti dal produttore specificato.
Get-PhysicalDisk -Manufacturer WDC

-Model
Analogamente al parametro Manufacturer, Model consente di specificare il modello del disco.
Get-PhysicalDisk -Model "WDC WD5000AAKX-75U6AA0"

-Usage
Consente di visualizzare le informazioni dei dischi in base alla loro destinazione di utilizzo. I valori accettati sono  AutoSelect, HotSpare, Journal, ManualSelect, Retired, Unknown.
Get-PhysicalDisk -Usage Journal

-VirtualDisk
Passando al parametro un oggetto Virtual Disk consente di visualizzare le informazioni del disco fisico usato dal disco virtuale. L'oggetto VirtualDisk può essere trovato tramite il cmdlet Get-VirtualDisk.

-UniqueId
Permette di visualizzare le informazioni del disco con uno specifico ID.