mercoledì 27 gennaio 2016

Ransomware TeslaCrypt

Aggiornamento del 19.05.2016


I server di TeslaCrypt chiudono e gli sviluppatori hanno rilasciato la master key utile per decriptare i dati da tutte le versioni di TeslaCrypt. Per maggiori informazioni potete cliccare QUI



Nell'articolo Ransomware Ransom32  ho già parlato di ransomware: un tipo di malware che prende il controllo del sistema (bloccandone l'accesso e/o cifrandone i dati) e richiede un riscatto per lo sblocco.
In quest'articolo tratterò un altro tipo di ransomware piuttosto diffuso, TeslaCrypt , soffermandomi sul recupero dei dati cifrati
Le prime segnalazioni di questo ransomware risalgono a febbraio 2015. Il punto debole delle prime versioni di TeslaCrypt era la gestione della chiave di cifratura. La  chiave, infatti, veniva memorizzata sul disco del sistema infetto rendendo relativamente semplice il recupero dei dati. Le successive versioni del ransomware, oltre all'utilizzo di una cifratura più sofisticata (le chiavi vengono generate tramite l’algoritmo a curve ellittiche ECDH Elliptic curve Diffie–Hellman), presentano alcun accorgimenti che prevengono l’identificazione dei server a cui il malware si connette (server di comando e controllo). I server si trovano sulla rete TOR e il ransomware comunica con essi attraverso tor2web.
In linea generale il modo di operare di TeslaCrypt è analogo a quello della maggior parte degli altri ransomware in circolazione: una volta installato segretamente sul sistema della vittima procede a cifrare i dati con il sistema AES. Il ransomware viene diffuso attraverso allegati alle email oppure tramite apposite pagine web. Dopo aver cifrato un file il ransomware aggiunge una nuova estensione che varia in base alla versione del malware (.xxx, .ttt, .abcor, .micro, .ecc, .ezz, .exx, .xyz, .zzz, .aaa, .abc, .ccc, .vvv) inoltre provvede a cancellare le copie Shadow Volume e i punti di ripristino.  Una volta terminata la cifratura dei documenti della vittima viene mostrato il messaggio di riscatto e vengono creati i seguenti file sul desktop e in altre cartelle: Howto_Restore_FILES.BMP, Howto_Restore_FILES.HTM, Howto_Restore_FILES.TXT. Questi 3 file contengono informazioni su come pagare il riscatto per poter recuperare i dati.

Sono state individuate e analizzate diverse varianti in circolazione di TeslaCrypt, la maggior parte di esse creano un file eseguibile all'interno di %AppData% (ad es. c:\Utenti\<nomeutente>\Appdata\Roaming\<nome file.exe>) mentre le chiavi di registro che vengono modificate sono
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\ Qui dovrebbe esserci un richiamo al file .exe in %AppData%
HKCU\Software\
HKCU\Software\xxxsys


Le estensioni dei file interessate da TeslaCrypt sono:
.sql, .mp4, .7z, .rar, .m4a, .wma, .avi, .wmv, .csv, .d3dbsp, .zip, .sie, .sum, .ibank, .t13, .t12, .qdf, .gdb, .tax, .pkpass, .bc6, .bc7, .bkp, .qic, .bkf, .sidn, .sidd, .mddata, .itl, .itdb, .icxs, .hvpl, .hplg, .hkdb, .mdbackup, .syncdb, .gho, .cas, .svg, .map, .wmo, .itm, .sb, .fos, .mov, .vdf, .ztmp, .sis, .sid, .ncf, .menu, .layout, .dmp, .blob, .esm, .vcf, .vtf, .dazip, .fpk, .mlx, .kf, .iwd, .vpk, .tor, .psk, .rim, .w3x, .fsh, .ntl, .arch00, .lvl, .snx, .cfr, .ff, .vpp_pc, .lrf, .m2, .mcmeta, .vfs0, .mpqge, .kdb, .db0, .dba, .rofl, .hkx, .bar, .upk, .das, .iwi, .litemod, .asset, .forge, .ltx, .bsa, .apk, .re4, .sav, .lbf, .slm, .bik, .epk, .rgss3a, .pak, .big, wallet, .wotreplay, .xxx, .desc, .py, .m3u, .flv, .js, .css, .rb, .png, .jpeg, .txt, .p7c, .p7b, .p12, .pfx, .pem, .crt, .cer, .der, .x3f, .srw, .pef, .ptx, .r3d, .rw2, .rwl, .raw, .raf, .orf, .nrw, .mrwref, .mef, .erf, .kdc, .dcr, .cr2, .crw, .bay, .sr2, .srf, .arw, .3fr, .dng, .jpe, .jpg, .cdr, .indd, .ai, .eps, .pdf, .pdd, .psd, .dbf, .mdf, .wb2, .rtf, .wpd, .dxg, .xf, .dwg, .pst, .accdb, .mdb, .pptm, .pptx, .ppt, .xlk, .xlsb, .xlsm, .xlsx, .xls, .wps, .docm, .docx, .doc, .odb, .odc, .odm, .odp, .ods, .odt

Come rimuovere il ransomware
TeslaCrypt potrebbe infiltrare e installare altri virus all'interno del sistema. Prima di tentare il recupero dei dati è necessario rimuovere il ransomware. Per rimuoverlo è possibile eseguire la scansione del sistema con un antivirus aggiornato. Un buon alleato in questi casi è un antivirus con cui eseguire il boot del sistema come Kaspersky Rescue Disk che è possibile scaricare da QUESTA PAGINA. Scaricata l'immagine è possibile masterizzarla su CD\DVD oppure creare una pendrive bootable tramite il tool rescue2USB. Eseguendo il boot con Kaspersky Rescue Disk è possibile fare in modo che l'antivirus scarichi automaticamente da internet gli aggiornamenti prima di procedere alla scansione dell'intero sistema.
Terminata la scansione ed eliminati eventuali virus trovati, avviare il sistema in modalità provvisoria quindi installare ed eseguire una scansione con una versione di Malwarebytes e/o SpyHunter aggiornata.

Recupero Dati
Per decifrare i dati è necessario recuperare la PrivateKeyBC (Chiave privata usata da TeslaCrypt come master key). Prima di poter risalire alla PrivateKeyBC è necessario ricavare SharedSecretBC (chiave calcolata tramite PrivateKeyBC, PublicKeyBC e TeslaPublicKey) e PublicKeyBC (chiave pubblica relativa all'indirizzo bitcoin). Riporto di seguito i passaggi necessari al recupero della PrivateKeyBC.

Passo 1: Procurarsi i tool TeslaDecoder e Yafu
La prima operazione da fare è quella di procurarsi i tools necessari: TeslaDecoder e Yafu. I tool possono essere scaricati dai seguenti link:
TeslaDecoder 
Yafu 

I file sono compressi (.zip) quindi è necessario procedere alla loro estrazione. Se si dispone già di questi tool è consigliabile riscaricarli in modo da essere sicuri di utilizzare l'ultima versione disponibile.
I seguenti passaggi vengono indicati anche, in inglese, all'interno del file Instructions.html fornito insieme a TeslaDecoder (sviluppato da BloodDolly di BleepingComputer).

Passo 2: Eseguire TeslaViewer per estrarre PublicKeyBC e SharedSecret1*PrivateKeyBC
All'interno di TeslaDecoder troviamo 3 file eseguibili: TeslaDecoder.exe, TeslaRefactor.exe e TeslaViewer.exeEseguire TeslaViewer.exe, cliccare sul pulsante Browse e selezionare un file cifrato da TeslaCrypt.
TeslaViewer estrae dal file una serie di informazioni. I campi che ci interessano sono PublicKeyBC e SharedSecret1*PrivateKeyBC.

TeslaViewer
FIG 1 - TeslaViewer
Cliccare sul pulsante Create work.txt per salvare tutte le informazioni all'interno del file di testo work.txt (il file di testo verrà creato all'interno della stessa cartella contenente TeslaViewer.exe).

Passo 3: Fattorizzazione di SharedSecret1*PrivateKeyBC tramite factordb.com
Ora bisogna procedere alla fattorizzazione in numeri primi del valore decimale di SharedSecret1*PrivateKeyBC. L'operazione potrebbe richiedere molto tempo ma il sito Factordb.com ci viene incontro fornendoci numerosi valori pre-calcolati.
Apriamo il file Work.txt creato con TeslaViewer e copiamo il valore decimale di  SharedSecret1*PrivateKeyBC

Work.txt e SharedSecret1*PrivateKeyBC
FIG 2 - Work.txt e SharedSecret1*PrivateKeyBC
Quindi posizioniamoci sul sito Factordb.com, incolliamo nell'apposita casella il valore copiato e clicchiamo su Factorize!
Se nella colonna Status troviamo il valore FF allora siamo fortunati e non ci resta che creare un file di testo e copiare i fattori all'interno del file (un fattore per riga). Può capitare che qualche fattore venga visualizzato come 5933269477...11<154> in questi casi dobbiamo cliccare sul fattore per visualizzare l'intero valore. Il numero tra parentesi angolari (154) indica il numero di cifre che compongono il valore. A questo punto possiamo passare al Passo 5.
Se, invece, nella colonna status, viene visualizzato il valore CF allora dobbiamo procedere in proprio alla fattorizzazione e proseguire con il Passo 4.
factordb.com
FIG 3 - factordb.com
Passo 4: Fattorizzazione di SharedSecret1*PrivateKeyBC tramite Yafu
Se non siamo stati fortunati con il sito factordb.com dobbiamo procedere autonomamente alla fattorizzazione. L'operazione potrebbe richiedere molto tempo anche su PC potenti. Per la fattorizzazione utilizzeremo il tool Yafu che abbiamo scaricato nel Passo 1. Come prima cosa procediamo alla ottimizzazione del tool in base al nostro sistema. Eseguire tuneX86.bat (per sistemi a 32 bit) o tuneX64.bat (per sistemi a 64 bit) e attendere il termine dell'operazione. La procedura di ottimizzazione potrebbe richiedere un po' di tempo e al termine verrà visualizzato il messaggio Tune Finished.

Ottimizzazione di Yafu: tuneX86 e tuneX64
FIG 4 - Ottimizzazione di Yafu: tuneX86 e tuneX64
Terminata l'ottimizzazione, aprire il file works.txt e copiare il valore decimale di  SharedSecret1*PrivateKeyBC come indicato nel Passo 3.
Lanciare factorX86.bat (per sistemi a 32 bit) o factorX64.bat (per sistemi a 64 bit). Quando richiesto incollare il valore SharedSecret1*PrivateKeyBC copiato precedentemente e premere invio.
FactorX86 e FactorX64: SharedSecret1*PrivateKeyBC
FIG 5 - FactorX86 e FactorX64: SharedSecret1*PrivateKeyBC
A questo punto viene richiesto quanti thread si intende impiegare per il calcolo della fattorizzazione. Il numero di Thread del proprio sistema può essere visualizzato da Task Manager. Si consiglia di specificare il numero di processori logici -1 (ad es. se si dispone di una CPU dual core con 4 processori logici si consiglia di indicare 3) in modo tale da non bloccare la postazione. La fattorizzazione può richiedere molto tempo (anche giorni) a seconda della potenza del sistema e del numero da fattorizzare.
FactorX86 e FactorX64: Threads
FIG 6 - FactorX86 e FactorX64: Threads
Al termine vengono visualizzati i risultati come indicato in figura FIG 7. 
FactorX86 e FactorX64: Risultati
FIG 7 - FactorX86 e FactorX64: Risultati
Copiare tutti i fattori e incollarli all'interno di un file di testo.
Risultato Fattorizzazione
FIG 8 - Risultato Fattorizzazione
PASSO 5: TeslaRefactor
Siamo quasi giunti al termine. Nella cartella TeslaDecoder avviamo il tool TeslaRefactor. Nella casella dove è indicato il messaggio <Put decimal factors here> incollare i valori forniti dalla fattorizzazione in numeri primi (quelli forniti da FactorDB.com oppure quelli calcolati tramite Yafu). Nel campo Public Key (hex) copiare il valore PublicKeyBC presente all'interno del file works.txt. Cliccare su Find Private Key per calcolare la chiave privata.
TeslaRefactor
FIG 9 - TeslaRefactor
Al termine dell'operazione prendiamo nota della chiave privata, Private key (hex), che ci servirà per decriptare i dati.
TeslaRefactor Private Key
FIG 10 - TeslaRefactor Private Key
Nel caso in cui sorgessero problemi nel calcolo della chiave privata, confrontare i valori dei campi Product (dec) e Product (Hex) con i rispettivi valori di SharedSecret1*PrivateKeyBC all'interno del file work.txt. Se i valori corrispondono allora togliere il flag alla voce Optimization e cliccare nuovamente sul pulsante Find Private Key.


Passo 6: Decriptare i dati tramite TeslaDecoder
Ora che si dispone della chiave privata è possibile procedere a decriptare i propri file utilizzando TeslaDecoder. Avviare TeslaDecoder come amministratore (cliccare con il tasto destro del mouse su TeslaDecoder.exe e selezionare Esegui come amministratore).
TeslaDecoder
FIG 11 - TeslaDecoder
Cliccare sul pulsante Set key. Verrà aperta la finestra Set custom key for decryption (vedi FIG 12). Nel campo Key (hex) specificare la chiave privata recuperata precedentemente e in Extension selezionare l'estensione dei file cifrati che si intende recuperare quindi cliccare su Set key per ritornare alla schermata precedente.
TeslaDecoder Set key
FIG 12 - TeslaDecoder Set key
Ritornando alla schermata precedente noteremo che i pulsanti Decrypt Folder e Decrypt All sono abilitati. Il primo ci consente di agire su una specifica cartella e relative sottocartelle, il secondo, invece, esegue una verifica sull'intero sistema recuperando i file cifrati. Prima di procedere ci viene richiesto se eliminare o mantenere la copia cifrata del file (se abbiamo dati importanti conviene tenere anche la versione cifrata del nostro file nel caso in cui l'operazione non sia riuscita a recuperare correttamente il suo contenuto).
TeslaDecoder cancellare i file criptati
FIG 13 - TeslaDecoder cancellare i file criptati

Conclusioni
Le raccomandazioni per evitare la perdita dei dati sono le solite: disporre di un buon antivirus e tenerlo sempre aggiornato, diffidare di siti ed email sospette, effettuare frequenti backup dei dati su più dispositivi esterni e non perennemente connessi al sistema. Per chi effettua il backup su cloud in genere i provider consentono di mantenere più "versioni" del file. In questi casi, se i file vengono crittografati da qualche ransomware, dovrebbe essere possibile recuperare una versione antecedente. 

Se questo articolo vi è stato d'aiuto a recuperare i vostri dati e volete offrirmi un caffè, potete utilizzare l'apposito link delle donazioni (le transazioni vengono gestite da paypal).


Aggiornamento del 05.02.2016
Al momento per i file cifrati da TeslaCrypt 3 aventi estensione .ttt, .xxx, .micro e .mp3 non esiste un metodo per estrarre la chiave dato che viene utilizzato un algoritmo diverso. Chi è stato colpito da tale variante di TeslaCrypt può effettuare un backup dei file cifrati in attesa che venga trovata una soluzione. Il tool TeslaDecoder è in continuo aggiornamento. Il ransomware può comunque essere rimosso seguendo i passaggi indicati nell'articolo. Provvederò ad aggiornare il presente articolo nel caso venga trovato il metodo per recuperare i dati cifrati da questa variante del ransomware.


Aggiornameno del 15.02.2016
Una nuova variante di TeslaCrypt 3.0 rinomina il file con estensione .mp3.


Aggiornamento del 18.03.2016
Ancora una brutta notizia. Non è stata trovato ancora alcun modo per decriptare i file con estensione .micro e .mp3 e, dal giorno 14.03.2016, si sta diffondendo una nuova versione di TeslaCrypt: TeslaCrypt 4.0. In quest'ultima versione i file vengono cifrati ma l'estensione non viene modificata. Tale comportamento renderà difficile riconoscere a colpo d'occhio i file cifrati sul disco. In questa nuova versione del ransomware, inoltre,  è stato corretto un BUG che corrompeva i file con grandezza superiore ai 4GB. Il file eseguibile del ransomware viene creato in 
%UserProfile%\Documenti\[caratteri_alfanumerici_random].exe
Le chiavi di registro coinvolte sono
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\_[caratteri_alfanumerici_random]
HKEY_CURRENT_USER\Software\
HKEY_CURRENT_USER\Software\Data


Aggiornamento del 26.04.2016
Da circa una settimana è in circolazione una nuova variante di TeslaCrypt: TeslaCrypt 4.1b.
Anche questa a nuova variante del ransomware è stata analizzata da BloodDolly di BleepingComputer e presenta alcune piccole modifiche rispetto alle versioni precedenti:
Il file di dati ora risulta  %MyDocuments%\desctop._ini 
Il file contentente le istruzioni ha una dimensione leggermente superiore rispetto alle versioni precedenti del ransomware.
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Txt
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Htm
%UserProfile%\Desktop\-!RecOveR!-[caratteri casuali]++.Png
%UserProfile%\Documents\-!recover!-!file!-.txt
L'eseguibile del ransomware viene creato con un nome random in Documenti:
%UserProfile%\Documents\[caratteri casuali].exe

Una volta che TeslaCrypt ha terminato la cifratura dei dati, contatta il server di comando e controllo inviando un messaggio di POST criptato:


Sub=Ping&dh=[PublicKeyRandom1_octet|AES_PrivateKeyMaster]&addr=[bitcoin_address]&size=0&version=4.1b&OS=[build_id]&ID=[?]&inst_id=[victim_id]

Anche in questa ultima versione ai file cifrati non viene aggiunta alcuna estensione.

Aggiornamento 04.05.2016
L'utente BloodDolly di BleepingComputer ha individuato e analizzato una nuova versione di TeslaCrypt: siamo alla versione 4.2. La nuova versione apporta alcuna piccole modifiche. Il messaggio che compare all'utente è stato modificato e vengono visualizzate solo le informazioni essenziali per procedere al pagamento del riscatto. Il codice è stato ottimizzato e compilato utilizzando un compilatore diverso da quello utilizzato nelle versioni precedenti del ransomware. La nuova versione di TeslaCrypt esegue l'injection code in svchost.exe per poter eliminare le copie shadow (operazione che viene eseguita sia prima che dopo aver cifrato i dati).
I file creati da TeslaCrypt 4.2 sono 
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.HTML
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.PNG
%UserProfile%\Desktop\!RecoveR!-[5 caratteri random]++.TXT
%UserProfile%\Documents\-!recover!-!file!-.txt
%UserProfile%\Documents\[random].exe

Il ransomware provvede a modificare la seguente chiave di registro per avviarsi ad ogni logon

[HKCU\Software\Microsoft\Windows\CurrentVersion\Run] serv[5 caratteri random] C:\Windows\SYSTEM32\CMD.EXE /C START "" "[malware].exe"



Aggiornamento del 19.05.2016

I server di TeslaCrypt chiudono e gli sviluppatori hanno rilasciato la master key utile per decriptare i dati da tutte le versioni di TeslaCrypt. Per maggiori informazioni potete cliccare QUI

martedì 26 gennaio 2016

CrashSafari.com il link che manda in crash il browser

Da poche ore è attivo il sito web CrashSafari.com creato da un giovane programmatore statunitense che riesce a mandare in tilt diversi browser. A dispetto del nome, infatti, il sito riesce a mandare in crash non solo il browser Safari ma anche Chrome, Firefox e Internet Explorer/Edge.

I dispositivi più vulnerabili al bug sono quelli Apple in particolare iPhone e iPad. Visitando il sito con tali dispositivi, infatti, si può riscontrare un aumento di temperatura, il blocco del browser e potrebbe verificarsi il riavvio del sistema (cosa che non avviene sui dispositivi Android). Il bug risulta presente anche nelle ultime release dei sistemi operativi Apple iOS 9.2.1 e OS X 10.11.3.

In queste ore molti, soprattutto tramite social network, stanno inviando ad altri utenti i link al sito web CrashSafari.com per mandare in crash i dispositivi/PC. Per nascondere l'indirizzo che sarebbe troppo riconoscibile e sospetto, molti utilizzano i servizi di abbreviazione degli URL come https://goo.gl/, https://bitly.com/ e http://tinyurl.com/
Quindi prestare attenzione prima di aprire i collegamenti inviati da amici e non.

Come funziona il CrashSafari.com
Il codice che c'è dietro il sito CrashSafari.com è molto semplice e consiste in un Header Title e poche righe di JavaScript che richiamano, in un loop, la funzione history.pushState di HTML5. Tale funzione permette ad un sito web di cambiare l'URL della pagina senza che l'utente debba premere il tasto di aggiornamento. Il loop aggiunge migliaia di caratteri alla barra degli indirizzi fino ad esaurire la memoria del dispositivo/PC mandando in crash il browser e in alcuni casi l'intero sistema.



CrashSafari.com codice
FIG 1 - CrashSafari.com codice

Il bug, seppur fastidioso, non compromette la sicurezza del sistema (che sia esso uno smartphone, un tablet o un PC): dopo il riavvio o dopo la chiusura del browser, il sistema continuerà a funzionare regolarmente.
Al momento non ci sono soluzioni ma si può solamente attendere che vengano rilasciati gli aggiornamenti dei vari browser e nel frattempo prestare attenzione ai link che si ricevono.

In FIG 1 è possibile visualizzare il codice della pagina del sito CrashSafari.com. Per quelli che vogliono scaricare il codice possono cliccare sul seguente link
DOWNLOAD

giovedì 21 gennaio 2016

Windows Quick Tip: Clonare una pendrive

Clonare una pendrive, soprattutto se contiene un Sistema Operativo avviabile da supporto USB, potrebbe non essere un'operazione così semplice. 
Le pendrive, infatti, pur utilizzando file system analoghi a quelli degli Hard Disk e unità SSD richiedono ulteriori accorgimenti dato che utilizzano diverse versioni di Host controller Interface(come OHCI, UHCI, EHCI).  I programmi per la clonazione dei dischi potrebbero non portare a termine correttamente l'operazione in particolare se la pendrive viene clonata su un modello diverso. Tentando la clonazione di una pendrive con i classici programmi utilizzati per gli hard disk potremmo avere la sensazione che l'operazione sia andata a buon fine (non ricevendo alcun messaggio di errore) ma avere problemi con la pendrive clonata (ad es. il mancato avvio da boot).

Per la clonazione delle USB MSC (Mass Storage Class) esistono delle utility appositamente progettate come imageUSB di PassMark.
Il tool può essere scaricato gratuitamente da http://www.osforensics.com/tools/write-usb-images.html e non necessita di installazione.

Una volta lanciato il tool:
  • Inserire la pendrive nella porta USB e selezionarla nel riquadro STEP 1: Select the USB drive(s) to be processed (se non appare, cliccare sul pulsante Refresh Drivers)
  • Nella sezione Step 2: Select the action to be performed on the selected USB drive(s) selezionare l'opzione Create image from USB drive 
  • In Step 3: Select the location for the binary image file (.bin) that will be created from the USB drive(s) indicare il percorso e il nome da assegnare al file .bin che andrà a contenere l'immagine della pendrive
  • In Step 4: Click the 'Create' button to begin... cliccare sul pulsante Create per avviare il processo

Passmark imageUSB avvio creazione immagine
FIG 1 - Passmark imageUSB avvio creazione immagine

una volta terminata la creazione dell'immagine della pendrive è possibile ripristinarla anche su una pendrive di modello diverso:
  • Inserire la pendrive su cui si intende ripristinare l'immagine
  • In Step 1: Select the USB drive(s) to be processed selezionare la pendrive
  • In Step 2: Select the action to be performed on the selected USB drive(s) selezionare l'opzione Write image to USB drive
  • Nella sezione Step 3: Select the image (.bin, .img or .iso) file to write to the USB drive(s) cliccare sul pulsante Browse e selezionare il file immagine che si intende ripristinare (ad es. il file con estensione .bin che abbiamo creato precedentemente)
  • In Step 4: Click the 'Write' button to begin cliccare sul pulsante Write per avviare il processo

Passmark imageUSB avvio scrittura immagine su pendrive
FIG 2 - Passmark imageUSB avvio scrittura immagine su pendrive

Terminata la scrittura avremo il clone funzionante della pendrive. Dallo stesso file immagine possiamo creare un numero arbitrario di cloni della pendrive di origine.

mercoledì 20 gennaio 2016

Windows Quick Tip: Estensione file rovesciata

Un trucco utilizzato dai malintenzionati per diffondere virus/malware, sfrutta la capacità di Windows di visualizzare testi in lingue sinistrorse (scritte da destra verso sinistra). Per la gestione di tali lingue viene utilizzato un carattere speciale nel sistema Unicode: carattere con codice U+202E. Si tratta di un carattere speciale Unicode invisibile che forza la scrittura da destra verso sinistra. Tale carattere può essere utilizzato per ingannare la vittima sull'estensione del file e far passare un eseguibile per un comune e innocuo file di testo. 
Vediamo come:
  • Premere la combinazione di tasti WIN + R e digitare charmap seguito da invio;
    Mappa caratteri
    FIG 1 - Mappa caratteri
  • Individuare il carattere con codice U+202E;
  • Cliccato sul carattere procediamo a copiarlo negli appunti cliccando prima Seleziona e poi Copia
  • Incollare il carattere nel nome del file nella posizione in cui vogliamo invertire il testo

Ad es.
Supponiamo di aver creato un file eseguibile (.exe) e vogliamo che la vittima lo confonda con un documento PDF.
Rinominiamo il file in qualcosa di simile a "Documentofdp.exe" (come è possibile notare l'estensione PDF è stata scritta al contrario)
 Rinomina file eseguibile
FIG 2 - Rinomina file eseguibile

Incolliamo il carattere U+202E prima di fdp.exe ed ecco che il nostro file apparirà con il nome Documentoexe.pdf
Incollare il carattere UNICODE U+202E
FIG 3 - Incollare il carattere UNICODE U+202E

Tentando di rinominare un file che all'interno del nome contiene il carattere U+202E o tentando di visualizzarlo da una finestra del prompt dei comandi ci si rende conto subito che c'è qualcosa che non va e si scopre la reale estensione del file.


Rinominando il file contenente il carattere U+202E
FIG 4 - Rinominando il file contenente il carattere U+202E
Visualizzare l'estensione di un file contenente il carattere U+202E da prompt dei comandi
FIG 5 - Visualizzare l'estensione di un file contenente il carattere U+202E da prompt dei comandi



martedì 19 gennaio 2016

Windows Quick Tip: Cambiare lo sfondo di Windows Media Player in Windows 7

Windows Media Player incluso in Windows 7 nasconde 6 diversi sfondi. É possibile cambiare il wallpaper di Windows Media Player agendo tramite il registro di sistema:
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi su 
    HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences
  • Cercare il valore DWORD (32bit) denominato LibraryBackgroundImage e assegnargli un valore compreso tra 1 e 6 (6 è il valore di default).
Modificare lo sfondo di Windows Media Player modificando il valore LibraryBackgroundImage
FIG 1 - Modificare lo sfondo di Windows Media Player modificando il valore LibraryBackgroundImage

Una volta confermato il valore cliccando su OK basta riavviare Windows Media Player per visualizzare il nuovo wallpaper.

Windows 10: Abilitare il tasto F8 per accedere alle Opzioni di avvio avanzate

Già a partire da Windows 8, Microsoft ha introdotto un nuovo bootloader che rende l'avvio del sistema più veloce ma è stata eliminata la possibilità di accedere alle opzioni di avvio avanzate premendo, al boot, il tasto F8. 

Se si intende riattivare la possibilità di accedere alle Opzioni di avvio avanzate premendo il tasto F8 all'avvio è possibile procedere in 2 modi: abilitare il tasto F8 tramite il comando bootmenupolicy oppure abilitare il Windows boot manager utilizzando il comando displaybootmenu.

Abilitare/Disabilitare il tasto F8 tramite il comando bootmenupolicy

Nel caso in cui abbiamo più versioni di Windows installate in multiboot questa opzione ci consente di specificare su quale sistema operativo abilitare F8 per l'accesso alle Opzioni di avvio avanzate.
Per identificare su quale sistema operativo abilitare F8 al boot:
  • Avviare il prompt dei comandi come amministratore: Premere la combinazione di tasti Win + X quindi selezionare la voce Prompt dei comandi (amministratore)
  • digitare il seguente comando seguito da invio bcdedit
  • Nella sezione Windows Boot manager individuare la voce default e verificare il suo valore (che rappresenta il sistema caricato di default)
  • In Caricatore di avvio di Windows individuare il sistema su cui vogliamo attivare il tasto F8 e prendiamo nota del relativo campo identificatore (che verrà utilizzato nei successivi comandi bcdedit per abilitare/disabilitare il tasto F8).


In figura entrambi i valori sono {current}  in quanto abbiamo un solo sistema operativo installato.

Per abilitare il tasto F8:
  • Avviare il prompt dei comandi come amministratore: Premere la combinazione di tasti Win + X quindi selezionare la voce Prompt dei comandi (amministratore)
  • Digitare il seguente comando seguito da invio 
    bcdedit /set {current} bootmenupolicy Legacy 
    se l'operazione va a buon fine  appare il messaggio Operazione completata e al successivo riavvio potremmo accedere alle opzioni di avvio avanzate di Windows premendo il tasto F8
Per disabilitare il tasto F8:
  • Avviare il prompt dei comandi come amministratore: Premere la combinazione di tasti Win + X quindi selezionare la voce Prompt dei comandi (amministratore)
  • Digitare il seguente comando seguito da invio 
    bcdedit /set {current} bootmenupolicy Standard 


Abilitare/Disabilitare Windows boot manager tramite il comando displaybootmenu

Con questa seconda opzione in realtà andremo ad abilitare il Windows boot manager e non direttamente il tasto F8. Abilitando il Windows boot manager ad ogni avvio verrà proposta la schermata di FIG 1 in cui è possibile selezionare il sistema operativo da avviare oppure, premendo F8, accedere alle impostazioni di avvio (FIG 2) che consentono di avviare il sistema in modalità provvisoria tramite la pressione del tasto F4
Windows 10: Windows Boot Manager
FIG 1 - Windows 10: Windows Boot Manager



Windows 10: Impostazioni di avvio
FIG 2 - Windows 10: Impostazioni di avvio

Per abilitare Windows boot manager:
  • Avviare il prompt dei comandi come amministratore: Premere la combinazione di tasti Win + X quindi selezionare la voce Prompt dei comandi (amministratore)
  • digitare il seguente comando seguito da invio 
    bcdedit /set {bootmgr} displaybootmenu yes 
    se l'operazione va a buon fine  appare il messaggio Operazione completata 
Per disabilitare Windows boot manager:
  • Avviare il prompt dei comandi come amministratore: Premere la combinazione di tasti Win + X quindi selezionare la voce Prompt dei comandi (amministratore)
  • digitare il seguente comando seguito da invio
    bcdedit /set {bootmgr} displaybootmenu no 











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}