lunedì 18 gennaio 2016

MS Exchange: Eseguire la pulizia/sincronizzazione dei DAG tramite EMS in MS Exchange 2013-2016

Nell'articolo MS Exchange: Eseguire la pulizia/sincronizzazione dei DAG tramite EMS in MS Exchange 2007-2010 abbiamo visto come forzare la sincronizzazione dei DAG con le informazioni aggiornate presenti in Active Directory utilizzando il cmdlet Clean-MailboxDatabase, evitando di dover attendere l'esecuzione della manutenzione schedulata.

In MS Exchange 2013 e 2016 il problema della visualizzazione tramite GUI delle caselle disconnesse è ancora presente ma il cmdlet Clean-MailboxDatabase non esiste più: il cmdlet è stato sostituito da Update-StoreMailboxState.

A differenza di Clean-MailboxDatabase che agiva su un intero database, il cmdlet Update-StoreMailboxState ci consente di operare anche su una singola casella.

La sintassi è la seguente:
Update-StoreMailboxState -Database "DatabaseIdParameter" -Identity "StoreMailboxIdParameter" [-Confirm [SwitchParameter]] [-WhatIf [SwitchParameter]]

Dove entrambi i parametri -Database e -Identity sono obbligatori pertanto è necessario conoscere il MailboxGUID.

Per conoscere il MailboxGuid delle caselle è possibile eseguire il seguente comando da EMS:
Get-MailboxDatabase | Get-MailboxStatistics | Format-List DisplayName,MailboxGuid,Database,DisconnectReason,DisconnectDate

A questo punto, conoscendo il MailboxGUID, possiamo aggiornare le informazioni/stato di una singola mailbox tramite Update-StoreMailboxState:
Update-StoreMailboxState -Database <DatabaseIdParameter> -Identity <StoreMailboxIdParameter>
ad es.
Update-StoreMailboxState -Database DAG01 -Identity 99ee9ee9-85ee-999-e9ee-9999999e9e9e

Se intendiamo aggiornare tutte le mailbox presenti su un particolare database:
Get-MailboxStatistics -Database <nome_database> | ForEach {Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$False}
ad es.
Get-MailboxStatistics -Database DAG01 | ForEach {Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$False}

Se si intende aggiornare lo stato per tutte le mailbox disconnesse di un particolare database:
Get-MailboxStatistics -Database <nome_database> | Where {$_.DisconnectReason -ne $null } | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$False}

Per agire su tutte le caselle disconnesse dell'infrastruttura:
Get-MailboxServer | Get-MailboxDatabase | Where {$_.DisconnectReason -ne $null } | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$False}

venerdì 15 gennaio 2016

Ransomware Ransom32

Il ransomware è un tipo di malware che una volta eseguito sul sistema della vittima ne prende il controllo (impedendone l'accesso o cifrando i dati) e chiede un riscatto per rimuovere la limitazione. Uno dei primi ransomware ad avere grande diffusione è stato Cryptolocker che provvedeva a cifrare i dati dell'utente e a richiedere un riscatto. Nel corso del tempo si sono viste varianti sempre più sofisticate alcune delle quali utilizzano chiavi di crittografia asimmetriche RSA a 2.048 o 4.096 bit generate dinamicamente e memorizzano le chiavi di decodifica su server remoti.

In questi primi giorni del 2016 si sta diffondendo un nuovo ransomware chiamato Ransom32. Il malware è stato analizzato approfonditamente da Fabian Wosar, esperto di sicurezza di Emsisoft.
Ransom32 può essere creato/scaricato attraverso un sito raggiungibile tramite TOR. Ransom32, infatti, non è solo un malware ma rappresenta un vero è proprio servizio (RaaS - Ransomware as a Service) che consente di generare il proprio malware. Il servizio fornito è semplice ed efficace: chiunque può creare la propria copia personalizzata del ransomware purché disponga di un indirizzo bitcoin (indirizzo che dovrebbe essere utilizzato dalla vittima per pagare il riscatto). Gli sviluppatori di Ransom32 guadagnano prelevando, da ogni riscatto pagato, il 25%.

La peculiarità di questo ransomware sta nel fatto che è stato interamente sviluppato utilizzando la piattaforma NW.js (conosciuta anche come Node.js) che consente agli sviluppatori di creare applicazioni native per Linux, Mac e Windows utilizzando HTML5, CSS3, Javascript a WebGL. L'utilizzo di tale piattaforma consente di creare un eseguibile Chromium che viene eseguito dal browser. Proprio questa caratteristica rende Ransom32 allo stesso tempo interessante e temuto: il ransomware può essere potenzialmente eseguito su diverse piattaforme (Linux, Mac e Windows).

Creazione e Download

Una volta raggiunto l'indirizzo del servizio RaaS tramite TOR (non fornisco l'indirizzo per ovvi motivi) è necessario affiliarsi fornendo il proprio indirizzo bitcoin e cliccare su Join.


Ransom32 - Join
FIG 1 - Ransom32 - Join
Eseguita la join ci si trova davanti alla propria console. Nella parte superiore della console (Ransom32 - Stats) vengono indicate le statistiche come il numero di installazioni del proprio client Ransom32, il numero di persone che visualizzano la schermata di blocco al termine della cifratura dei dati, il numero di transazioni bitcoin verso il proprio indirizzo (numero di pagamenti) e l'ammontare dei pagamenti. Nella parte inferiore della console (Client download)è possibile creare la propria versione di Ransom32 con impostazioni personalizzate.


Ransom32 - Stats
FIG 2 - Ransom32 - Stats
Le opzioni messe a disposizione dalla console per la creazione del proprio ransomware sono le seguenti:

BTC amount to ask:  Ammontare del riscatto espresso in bitcoin (BTC).

Fully lock the computer: Per default la schermata di blocco del ransomware viene visualizzata, se minimizzata, dopo un tot numero di secondi. Tale opzione permette di configurare la schermata di blocco in modo che la vittima non riesca a minimizzarla. Impedendo alla vittima di minimizzare la finestra gli si impedisce di poter verificare che i suoi dati siano stati effettivamente cifrati e inoltre la si costringe a cercare un'altro modo di pagare il riscatto dato che sulla postazione sarà impossibile utilizzare il browser.

Low CPU usage: I dati dell'utente verranno criptati utilizzando la CPU in modo moderato (al di sotto del 25%). Durante la cifratura dei dati la finestra di blocco non verrà visualizzata. Tale opzione allunga i tempi di completamento dell'operazione ma permette di non far insospettire la vittima con un rallentamento eccessivo del sistema.

Show the lockscreen before encrypting: Per default la schermata di blocco viene visualizzata dopo che una parte dei file è stata cifrata (file con dimensione inferiore ai 50MB) e continua a cifrare il resto dei dati in background. É possibile impostare che la schermata di blocco venga visualizzata prima che inizi il processo di cifratura.

Show a message Box: Questa opzione permette di impostare un messaggio che viene visualizzato prima dell'installazione e prima di qualsiasi timeout impostato (Latent Timeout).

Latent Timeout: Con questa opzione è possibile specificare un tempo di timeout che il client attende dopo la sua installazione prima di procedere alla cifratura dei dati e alla connessione al server. Il client non tenta di connettersi al server prima della scadenza del timeout impostato ma resta "dormiente" nel sistema (in questo caso l'installazione non sarà visibile da console fino a che il client non contatterà il server).

Una volta settate le impostazioni desiderate basta cliccare sul pulsante di download per scaricare la propria copia personalizzata di Ransom32. Il file consiste in un RAR autoestraibile (con estensione .SCR) di circa 22MB (scompattato occupa circa 67MB). 


Installazione e cifratura dati
Ransom32 tenta di mascherarsi come Chrome utilizzando il nome e l'icona del browser Google (ovviamente il file non è firmato digitalmente e mancano le informazioni relative alla versione).

Quando si esegue il file autoestraente, numerosi file vengono estratti in %userprofile%\AppData\Roaming\Chrome Browser e viene creato un collegamento (chiamato ChromeService) all'interno della cartella di Esecuzione automatica. Il collegamento viene utilizzato per eseguire il ransomware all'avvio del sistema e richiama il file chrome.exe: un package NW.js contenente codice Javascript che provvede a cifrare i dati dell'utente e a visualizzare i messaggi del ricatto.

I file estratti sono:
  • chrome - Licenza Chromium
  • chrome.exe - Eseguibile principale 
  • ffmpegsumo.dll - HTML5 video decoder DLL che viene fornito con Chromium.
  • g - File contenente le impostazioni del malware settate all'interno della console: indirizzo bitcoin, messaggio di errore, ecc 
  • icudtl.dat - File usato da Chromium
  • locales - Cartella contenente vari language packs usati da Chrome.
  • msgbox.vbs - Si tratta del messaggio che viene visualizzato nel caso il malintenzionato abbia settato "Show a message Box" nella console.
  • nw.pak - file richiesto dalla piattaforma NW.JS
  • rundll32.exe - Si tratta di un eseguibile TOR rinominato in modo da confondere gli utenti Windows. Attraverso tale file il malware comunica con il server utilizzando TOR.
  • s.exe - si tratta delle eseguibile Shortcut.exe di OptimumX rinominato. Si tratta di un eseguibile legittimo che viene utilizzato dal malware per creare il collegamento ChromeService all'interno della cartella Esecuzione Automatica
  • u.vbs - Si tratta di uno script VBS che provvede a cancellare una specifica cartella e il suo contenuto

Apertura del file .SCR in Winrar
FIG 3 - Apertura del file .SCR in Winrar
Lo script di WinRAR contenuto all'interno del file .SCR provvede ad estrarre i file in determinate cartelle e ad eseguire l'autorun del ransomware. All'interno dello scripto (si veda FIG 3) ci sono alcuni parametri:
Setup=chrome i  – Indica il file eseguibile da avviare al termine dell'estrazione (chrome.exe)
TempMode indica che i file vengono spostati in %TEMP% 
Silent=1 indica che l'installazione/estrazione dei file viene eseguita in modalità silente, senza la visualizzazione di messaggi


In dettaglio i file vengono estratti nelle seguenti cartelle
%Temp%\nw3932_17475
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\ChromeService.lnk
%AppData%\Chrome Browser\
%AppData%\Chrome Browser\.chrome\
%AppData%\Chrome Browser\.chrome\cached-certs
%AppData%\Chrome Browser\.chrome\cached-microdesc-consensus
%AppData%\Chrome Browser\.chrome\cached-microdescs
%AppData%\Chrome Browser\.chrome\cached-microdescs.new
%AppData%\Chrome Browser\.chrome\lock
%AppData%\Chrome Browser\.chrome\state
%AppData%\Chrome Browser\chrome
%AppData%\Chrome Browser\chrome.exe
%AppData%\Chrome Browser\ffmpegsumo.dll
%AppData%\Chrome Browser\g
%AppData%\Chrome Browser\icudtl.dat
%AppData%\Chrome Browser\locales\
%AppData%\Chrome Browser\msgbox.vbs
%AppData%\Chrome Browser\n.l
%AppData%\Chrome Browser\n.q
%AppData%\Chrome Browser\nw.pak
%AppData%\Chrome Browser\rundll32.exe
%AppData%\Chrome Browser\s.exe
%AppData%\Chrome Browser\u.vbs

I file che vengono cifrati da Ransom32 sono quelli con le seguenti estensioni:

*.jpg, *.jpeg, *.raw, *.tif, *.gif, *.png, *.bmp, *.3dm, *.max, *.accdb, *.db, *.dbf, *. mdb, *.pdb, *.sql, *.*SAV*, *.*SPV*, *.*grle*, *.*MLX*, *.*SV5*, *.*game*, *.*Slot*, *.dwg, *.dxf, *.c, *.cpp, *.cs, *.h, *.php, *.asp, *.rb, *.java, *.jar, *.class, *.aaf, *.aep, *.aepx, *.PLB, *.prel, *.prproj, *.aet, *.ppj, *.psd, *.indd, *.indl, *.indt, *.indb, *.inx, *.idml, *.pmd, *.xqx, *.xqx, *.ai, *.eps, *.ps, *.svg, *.swf, *.fla, *.as3, *.as, *.txt, *.doc, *.dot, *.docx, *.docm, *.dotx, *.dotm, *.docb, *.rtf, *.wpd, *.wps, *.msg, *.pdf, *.xls, *.xlt, *.xlm, *.xlsx, *.xlsm, *.xltx, *.xltm, *.xlsb, *.xla, *.xlam, *.xll, *.xlw, *.ppt, *.pot, *.pps, *.pptx, *.pptm, *.potx, *.potm, *.ppam, *.ppsx, *.ppsm, *.sldx, *.sldm, *.wav, *.mp3, *.aif, *.iff, *.m3u, *.m4u, *.mid, *.mpa, *.wma, *.ra, *.avi, *.mov, *.mp4, *.3gp, *.mpeg, *.3g2, *.asf, *.asx, *.flv, *.mpg, *.wmv, *.vob, *.m3u8, *.csv, *. EFX, *.sdf, *.vcf, *.xml, *.ses, *.dat

I file cifrati non vengono rinominati e quelli presenti all'interno delle seguenti cartelle non vengono intaccati dal malware
\Windows\
\winnt\
\ProgramData\
boot\
temp\
tmp\
$RECYCLE.BIN\ 

Quando il malware ha terminato di cifrare i dati visualizza il seguente messaggio.
Ransom32 Lock Screen
FIG 4 - Ransom32 Lock Screen
All'interno del messaggio viene indicato alla vittima ciò che è accaduto ai suoi file, l'ammontare del riscatto, istruzioni su come pagarlo e l'indirizzo bitcoin a cui effettuare il pagamento. Generalmente il messaggio viene visualizzato in inglese. La schermata di blocco consente alla vittima di decriptare un singolo file, per provare alla vittima che l'operazione può essere effettuata.

La crittografia utilizzata è AES (Advanced Encryption Standard) a 128-bit con CTR mode.Per ogni file viene creata una nuova chiave. La chiave per decriptare i dati viene reperita dal client contattando il server.

Rimuovere Ransom32 e tentare il recupero dei dati
Per rimuover Ransom32 avviare il sistema in modalità provvisoria (con supporto di rete se possibile), e installare ed eseguire una scansione con SpyHunter o con Malwarebytes
Se si intende procedere manualmente è possibile terminare tutti i processi chrome.exe e cancellare la cartella %AppData%\Chrome Browser\. Cancellare anche il file %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\ChromeService.lnk e verificare il contenuto della chiave Run (sia in HKLM che in HKCU) all'interno del registro di sistema.
Il recupero dei dati potrebbe essere un'operazione non fattibile. Se si dispone di backup è possibile effettuare un ripristino, in caso contrario è possibile fare dei tentativi per recuperare i propri dati ma il successo non è garantito.
E' possibile utilizzare i seguenti programmi per cercare di recuperare i propri dati:
Shadow Explorer: Consente di visualizzare/ripristinare le copie shadow dei file. Generalmente i malware rimuovono tali copie ma tentare non nuoce.

ShadowExplorer
FIG 5 - ShadowExplorer

Panda Ransomware Decrypt: Con questa applicazione si può tentare decriptare i file. Nel caso si disponga della copia originale di un file che è stato cifrato sul sistema possiamo indicarli entrambi al programma che tenterà di estrarre la chiave di cifratura.

Panda Ransomware Decrypt
FIG 6 - Panda Ransomware Decrypt

Kaspersky Utility: Un insieme di utility fornite da Kaspersky per eliminare virus e per decriptare file di dati resi inaccessibili dai diversi ransomware.

Kaspersky RannohDecryptor
FIG 7 - Kaspersky RannohDecryptor
Altri tentativi che è possibile effettuare è quello di utilizzare software per il recupero dei dati come:
Recuva
Photorec
EaseUS Data Recovery
R-Studio

giovedì 14 gennaio 2016

Windows Quick Tip: Eseguire un Backup delle operazioni pianificate di Windows

Le operazioni pianificate di Windows consentono di automatizzare operazioni ripetitive anche di una certa complessità. Effettuare una copia di backup delle operazioni pianificate è un operazione tutto sommato semplice. I tasks possono essere esportati tramite l'Utilità di pianificazione oppure da riga di comando tramite schtasks:

schtasks /Query [/S <system> [/U <username> [/P [<password>]]]] /XML /TN <taskname>

In alcun casi potrebbe essere necessario effettuare il backup manuale. Ad esempio, nel caso in cui il sistema operativo non si avvii i tool sopra indicati non ci sarebbero di alcun aiuto ma possiamo collegare l'hard disk ad un altro sistema e tentare il recupero dei task (sempre che il mancato avvio di Windows non sia dovuto all' HD guasto).

All'interno della cartella C:\Windows\Tasks (dove C: rappresenta la partizione in cui è installato il sistema operativo) sono presenti i file con estensione .job che contengono le definizioni delle operazioni pianificate. Copiare l'intero contenuto della cartella C:\Windows\Tasks. Terminata la copia, spostarsi all'interno della cartella C:\Windows\System32\Tasks  (potrebbero essere necessario utilizzare un account Amministratore). All'interno della cartella troveremo diversi file senza estensione. Copiare anche l'intero contenuto di questa seconda cartella.

A questo punto abbiamo una copia di backup delle operazioni pianificate. Per ripristinarle, sulla stessa workstation o su un nuovo sistema, basta copiare i file nelle cartelle corrispondenti. Ovviamente, copiando le definizioni su un nuovo sistema, alcune operazioni pianificate potrebbero non funzionare senza apportare le dovute modifiche (ad es. nel caso in cui l'operazione pianificata faccia riferimento a percorsi/unità/programmi non presenti sul nuovo sistema).

mercoledì 13 gennaio 2016

MS Exchange: Eseguire la pulizia/sincronizzazione dei DAG tramite EMS in MS Exchange 2007-2010

Quando si disconnette una casella di posta questa potrebbe non essere visualizzata subito, attraverso la GUI, tra le caselle disconnesse.
In Exchange 2007-2010 è possibile utilizzare il cmdlet Clean-MailboxDatabase da EMS (Exchange Management Shell) per forzare la sincronizzazione delle informazioni presenti in Active Directory con quelle presenti nell'archivio Exchange (DAG - Database Availability Group).  

Con il cmdlet Clean-MailboxDatabase possiamo aggiornare un determinato DAG
Clean-mailboxdatabase -identity <nome_dag>
ad es. 
Clean-mailboxdatabase -identity DAG01
dove DAG01 è il nome del DAG su cui si intende eseguire la pulizia/sincronizzazione.

Possiamo aggiornare tutti i DAG di un determinato server
Get-mailboxdatabase –server <server_exchange> | Clean-mailboxdatabase
ad es.
Get-mailboxdatabase –server EXC10SRV01 | Clean-mailboxdatabase
dove EXC10SRV01 rappresenta il server su cui risiedono i DAG che si intende aggiornare.

Oppure possiamo eseguire la pulizia su tutti i DAG e su tutti i server della nostra infrastruttura tramite il comando
Get-mailboxserver | Get-mailboxdatabase | Clean-mailboxdatabase

martedì 12 gennaio 2016

Windows 10: Avvio in modalità provvisoria

In Windows 10 il tasto F8 per accedere alle Opzioni di avvio avanzate al boot del sistema è disabilitato. Per accedere alla modalità provvisoria è possibile procedere in diversi modi:

Metodo 1
  • Cliccare sul menu Start e dal menu selezionare la voce Arresta 
  • Tenendo premuto il tasto SHIFT cliccare su Riavvia il sistema

Windows 10 Riavvia il sistema
FIG 1 - Windows 10 Riavvia il sistema
  • Dopo il riavvio selezionare l'opzione Risoluzione dei problemi 

    Windows 10: Scegli un'opzione
    FIG 2 - Windows 10: Scegli un'opzione
  • Nella schermata successiva selezionare Opzioni avanzate

    Windows 10: Risoluzione dei problemi
    FIG 3 - Windows 10: Risoluzione dei problemi
  • Quindi cliccare su Impostazioni di Avvio

    Windows 10: Opzioni avanzate
    FIG 4 - Windows 10: Opzioni avanzate
  • Riavviare il sistema cliccando sul tasto Riavvia
    FIG 5 - Windows 10: Impostazioni di avvio
  • A questo punto il sistema si riavvia presentando la schermata visualizzata in FIG 6. Tramite i tasti da F1 a F9 possiamo selezionare la modalità di avvio del sistema operativo tra cui anche la modalità provvisoria premendo F4
    Windows 10: Opzioni di avvio del sistema operativo
    FIG 6 - Windows 10: Opzioni di avvio del sistema operativo

Metodo 2
  • Dal menu Start selezionare Impostazioni (oppure premere la combinazione di tasti WIN + I)
  • Nella finestra Impostazioni cliccare su Aggiornamento e sicurezza
    Windows 10: Impostazioni
    FIG 7 - Windows 10: Impostazioni
  • Nella schermata successiva selezionare la voce Ripristino sul lato sinistro della finestra, quindi cliccare su Riavvia ora
    Windows 10: Aggiornamento e sicurezza
    FIG 8 - Windows 10: Aggiornamento e sicurezza
  • Al riavvio apparirà la schermata Scegli un'opzione. Da questo punto in poi i passaggi da seguire sono quelli già visti per Metodo 1


Metodo 3
  • Premere la combinazione di tasti WIN + R oppure cliccare con il tasto destro del mouse sul pulsante Start e selezionare, dal menu contestuale, la voce Esegui
  • Digitare, seguito da invio, il comando msconfig
  • All'interno della scheda Opzioni di avvio, selezionare l'opzione Modalità provvisoria, confermare e riavviare il sistema.

    Windows 10: msconfig
    FIG 9 - Windows 10: msconfig

lunedì 11 gennaio 2016

MS Excel Quick Tip: Modificare lo stile di riferimento delle caselle da A1 a R1C1

Tutti noi riconosciamo una classica finestra di MS Excel: una finestra delimitata da una riga di lettere e da un colonna di numeri che ci consentono di individuare una singola cella del foglio di calcolo.
Finestra Excel stile di riferimento A1
FIG 1 - Finestra Excel stile di riferimento A1
Può capitare di aprire documenti in cui anche la riga delle intestazioni è composta da numeri e non da lettere. 


Finestra Excel stile di riferimento R1C1
FIG 2 - Finestra Excel stile di riferimento R1C1

MS Excel supporta 2 standard per l'individuazione delle celle: il più comune stile A1 e il meno conosciuto stile R1C1. Nello stile R1C1 le etichette delle colonne vengono sostituite da numeri. 
Per impostazione predefinita in Excel viene utilizzato lo stile di riferimento A1.
Per impostare o disabilitare lo stile R1C1 da Excel 2010/2013 è possibile procedere nel seguente modo:
  • Avviare Excel
  • Dal menu File selezionare Opzioni
  • All'interno della finestra Opzioni di Excel selezionare, sul lato sinistro, la voce Formule
  • Selezionare/deselezionare l'opzione Stile di riferimento R1C1 e cliccare su OK per abilitare/disabilitare il relativo stile.



Opzioni di Excel - Stile di riferimento R1C1
FIG 3 - Opzioni di Excel - Stile di riferimento R1C1

Windows Quick Tip: Disabilitare la richiesta di password al login in Windows 7, 8 e Windows 10

All'avvio di Windows viene presentata la schermata di login in cui vengono richieste le credenziali di accesso. É possibile automatizzare il login in modo che all'avvio del sistema venga visualizzato direttamente il proprio desktop. Tale impostazione è sconsigliata per ovvi motivi di privacy/sicurezza e soprattutto nel caso in cui al PC possano accedere persone estranee. Per automatizzare il login in Windows 7, 8 e Windows 10:
  • Premere la combinazione di tasti WIN+R e digitare netplwiz seguito da invio
  • Selezionare l'utente che si vuole far collegare automaticamente e togliere la spunta all'opzione Per utilizzare questo computer è necessario che l’utente immetta il nome e la password
    Netplwiz, account utente
    FIG 1 - Netplwiz, account utente
  • Cliccare sul pulsante Applica
  • Inserire e confermare la password relativa all'account selezionato e cliccare su OK
    Netplwiz password account utente
    FIG 2 - Netplwiz password account utente

Una volta completati tutti i passaggi la richiesta di login iniziale non apparirà più.