venerdì 10 marzo 2017

PowerShell: Recuperare la password da un oggetto PSCredential

Diversi cmdlet PowerShell permettono l'utilizzo di un oggetto PSCredential per essere eseguiti con un particolare account. Proprio per questo l'oggetto PSCredential viene spesso utilizzato per memorizzare le credenziali in modo da  poterle richiamare in diverse parti di uno script.
Per creare un'istanza di un oggetto PSCredential può essere utilizzato il cmdlet Get-Credential
Ad es. eseguendo da PowerShell il comando
$credenziali=Get-Credential
verrà aperta una finestra di richiesta credenziali (FIG 1). Inserendo utenza e password queste verranno memorizzate all'interno dell'oggetto PSCredential $credenziali
Richiesta credenziali di Windows PowerShell
FIG 1 - Richiesta credenziali di Windows PowerShell

Per visualizzare i membri (metodi e proprietà) dell'oggetto viene utilizzato il cmdlet Get-Member 
$credenziali | Get-Member
Visualizzare i membri di un oggetto PSCredential
FIG 2 - Visualizzare i membri di un oggetto PSCredential

Analizzando le proprietà di un oggetto PSCredential (FIG 2), salta subito all'occhio che l'utenza viene memorizzata in chiaro all'interno di una comune stringa mentre la password viene memorizzata come securestring e pertanto non visibile (almeno non direttamente).

Per visualizzare il nome utente memorizzato all'interno dell'oggetto PSCredential basta utilizzare il comando
$credenziali.UserName

Eseguendo il comando
$credenziali.Password | Get-Member
verranno mostrati i metodi e le proprietà disponibili per la password (FIG 3). Tale informazioni sono d'aiuto per conoscere quali operazioni è possibile effettuare sulla password.
Ad es. per conoscere la lunghezza della password bisogna interrogare la proprietà Length
$credenziali.Password.Length
mentre per cancellarla va utilizzato il metodo Clear()
$credenziali.Password.Clear()
Recuperare informazioni sulla password da un oggetto PSCredential
FIG 3 - Recuperare informazioni sulla password da un oggetto PSCredential

Per "scoprire" la password memorizzata all'interno dell'oggetto PSCredential è possibile lanciare il seguente comando
$credenziali.GetNetworkCredential().Password
Visualizzare la password memorizzata all'interno di un oggetto PSCredential
FIG 4 - Visualizzare la password memorizzata all'interno di un oggetto PSCredential
Dalla FIG 4 si evince che la password memorizzata è "123456" (tra le password più sicure e diffuse al mondo), non resta che scrivere le credenziali su un post-it da attaccare al monitor (ndr Per chi non se ne fosse resto conto, ero sarcastico!!!).

giovedì 9 marzo 2017

Windows Quick Tip: Migliorare la leggibilità del testo sullo schermo

Sin da Windows XP, Microsoft ha incluso all'interno del sistema operativo uno strumento per l'ottimizzazione dei caratteri ClearTypeuna tecnologia complessa, con molti livelli di intervento, sviluppata da Microsoft con l'obbiettivo di aumentare la leggibilità del testo visualizzato sugli schermi LCD. Tale tecnologia effettua una sorta di rendering dei pixel tramite tecniche di antialiasing in modo da arrotondare i caratteri, garantendo una linea morbida e continua, e ridurre l'effetto di 'scalettamento' (aliasing).

Per richiamare il tool di calibrazione e procedere all'ottimizzazione del testo visualizzato:
  • Premere la combinazione di tasti WIN+R e digitare cttune seguito da invio;
    Eseguire CTTUNE
    FIG 1 - Eseguire CTTUNE
  • Nella finestra che appare selezionare la casella Attiva ClearType e cliccare su Avanti;
    Attiva ClearType
    FIG 2 - Attiva ClearType
  • Viene effettuata una verifica sul monitor e sulla risoluzione impostata (per i monitor LCD è consigliabile impostare la risoluzione nativa). Cliccare su Avanti per proseguire;

    Verifica impostazioni risoluzione nativa monitor
    FIG 3 - Verifica impostazioni risoluzione nativa monitor
  • Nelle finestre successive viene richiesto di selezionare il riquadro con il testo che risulta più leggibile tra quelli proposti. Selezionato il riquadro che si ritiene più opportuno cliccare su Avanti per procedere nella calibrazione.
    Scelta visualizzazione migliore
    FIG 4 - Scelta visualizzazione migliore
  • Al termine verrà visualizzato il messaggio si sintonizzazione completata.

    Sintonizzazione del testo sul monitor completata
    FIG 5 - Sintonizzazione del testo sul monitor completata




mercoledì 8 marzo 2017

Windows Quick Tip: Copiare l'elenco dei file di una cartella all'interno della Clipboard

In alcune circostanze può essere utile avere la possibilità di esportare, in un file di testo o in un documento, l'elenco dei file presenti all'interno di una cartella. Purtroppo Windows non implementa questa funzione all'interno di Esplora File ma è possibile possibile porvi rimedio agendo tramite il Prompt dei Comandi.

Se tale esigenza è frequente può essere utile implementarla all'interno del menu contestuale di Esplora File agendo tramite il registro di sistema:
  • Avviare l'editor del registro di sistema (WIN+R e digitare regedit seguito da invio); 
  • Posizionarsi sulla chiave  HKEY_CLASSES_ROOT\Directory\shell
  • All'interno della chiave shell creare una nuova sottochiave e assegnargli un nome (ad es. ListFileToClipboard).
  • Selezionare la chiave appena creata, eseguire un doppio click su (Predefinito) e, in Dati valore, inserire la stringa che si intende visualizzare nel menu contestuale (ad es. Invia elenco file alla Clipboard) quindi cliccare su OK.
    Creazione chiave di registro relativa al menu contestuale
    FIG 1 - Creazione chiave di registro relativa al menu contestuale
  • Selezionare la chiave creata precedentemente e creare, al suo interno, una nuova sottochiave rinominandola in Command.
  • All'interno della chiave Command, cliccare 2 volte su (Predefinito) e in Dati valore inserire il seguente comando 
    cmd /c dir "%1" /b /a:-d /o:n | clip 
    A questo punto aprendo Esplora File e cliccando con il tasto destro su una cartella, apparirà la voce inserita che permette di copiare l'elenco dei file contenuti all'interno della clipboard.
    Comando del menu contestuale per inviare l'elenco dei file alla clipboard
    FIG 2 - Comando del menu contestuale per inviare l'elenco dei file alla clipboard

La stringa del comando è composta da diversi parti:
dir "%1" richiede l'elenco dei file nella cartella selezionata.
/b utilizza liste senza intestazione e informazioni di riepilogo.
/a:-d esclude le cartelle.
/o:n visualizza l'elenco in ordine alfabetico.
| clip indirizza l'output del comando alla clipboard.


Per inserire/rimuovere la nuova voce all'interno del menu contestuale è possibile scaricare i file .reg dal seguente link
DOWNLOAD




lunedì 6 marzo 2017

Ransomware Dharma: Recuperare i dati

Il ransomware Dharma provvede a cifrare i dati dell'utente e aggiunge ai file cifrati una nuova estensione usando il formato .[indirizzo_email].Dharma. L'indirizzo email aggiunto al nome del file varia a seconda della versione del ransomware. Di seguito alcuni esempi:

.[3angle@india.com].dharma

.[amagnus@india.com].dharma
.[base_optimal@india.com].dharma
.[bitcoin143@india.com].dharma
.[blackeyes@india.com].dharma
.[doctor.crystal@mail.com].dharma
.[dr_crystal@india.com].dharma
.[emmacherry@india.com].dharma
.[google_plex@163.com].dharma
.[mr_lock@mail.com].dharma
.[opened@india.com].dharma
.[oron@india.com].dharma
.[payforhelp@india.com].dharma
.[savedata@india.com].dharma
.[singular@india.com].dharma
.[suppforhelp@india.com].dharma
.[SupportForYou@india.com].dharma
.[tombit@india.com].dharma
.[worm01@india.com].dharma

Dopo che su alcuni forum sono apparse alcune master key relative al ransomware, Kaspersky ed Eset hanno rilasciato i loro tool per la decriptazione dei file. In questo articolo mostrerò come recuperare i propri file utilizzando il tool di Kaspersky che ritengo più semplice da usare anche per i meno esperti.

Recupero dei dati

  • Eseguire il download del tool di Kaspersky RakhniDecryptor;
  • Scompattare il file .zip appena scaricato ed avviare il tool cliccando 2 volte sull'eseguibile RakhniDecryptor.exe;
    Kaspersky RakhniDecryptor
    FIG 1 - Kaspersky RakhniDecryptor
  • Cliccando su Change parameters è possibile indicare i dischi su cui il tool dovrà intervenire e se cancellare o meno i file cifrati una volta decriptati. Per confermare le impostazioni e ritornare alla schermata principale, cliccare su OK.

    Kaspersky RakhniDecryptor, Settings
    FIG 2 - Kaspersky RakhniDecryptor, Settings
  • Cliccare su Start Scan;
  • Nella finestra successiva verrà richiesto di indicare un file criptato. Selezionare un file e cliccare su Apri per avviare il processo di recupero dei dati che può richiedere molto tempo a seconda del numero di file da analizzare e decriptare.

    Kaspersky RakhniDecryptor, encrypted file
    FIG 3 - Kaspersky RakhniDecryptor, encrypted file




venerdì 3 marzo 2017

Ransomware MRCR (Merry X-Mas): Recuperare i dati

Il ransomware MRCR, noto anche come Merry X-Mas, è apparso per la prima volta a dicembre 2016. Il ransomware, realizzato in Delphi, utilizza un algoritmo di cifratura proprietario e aggiunge ai file cifrati una delle seguenti estensioni:  .MRCR1, .MERRY, , .PEGS1, .RARE1, .RMCM1.

Tramite il tool messo a disposizione da Emsisoft è possibile decriptare i propri file a patto di possedere almeno la versione non cifrata di un file (affinché l'operazione vada a buon fine è necessario, inoltre, utilizzare file che hanno una dimensione compresa tra 64KB e 100MB).
Se il ransomware ha cifrato i file presenti nelle seguenti cartelle
C:\Windows\Web
C:\Windows\Media
C:\Users\Public\Pictures\Sample Pictures
è possibile recuperare la versione non cifrata di tali file da altri PC con installata la medesima versione di Windows.


Recuperare i dati

Vediamo in dettaglio come procedere per recuperare i propri dati
  • Eseguire il download di Emsisoft Decrypter for MRCR da https://decrypter.emsisoft.com/download/mrcr
  • Per avviare il processo di recupero dei dati basta trascinare entrambe le versioni del file, quella cifrata e quella non cifrata,  sul file eseguibile precedentemente scaricato;
    Emsisoft Decrypter for MRCR, trascinare i file sull'eseguibile del tool
    FIG 1 - Emsisoft Decrypter for MRCR, trascinare i file sull'eseguibile del tool
  • Cliccare su Si all'eventuale finestra del Controllo dell'account utente (UAC);
  • Se la chiave per la decriptazione dei file viene trovata, verrà visualizzato il messaggio mostrato in FIG 2. Cliccare su OK per proseguire.
    Emsisoft Decrypter for MRCR, chiave per la decriptazione
    FIG 2 - Emsisoft Decrypter for MRCR, chiave per la decriptazione
  • Cliccare su YES nella finestra di dialogo relativa alle condizioni di utilizzo;
    Emsisoft Decrypter for MRCR, termini di licenza
    FIG 3 - Emsisoft Decrypter for MRCR, termini di licenza
  • A questo punto è possibile selezionare i dischi o le cartelle su cui risiedono i file cifrati quindi cliccare sul pulsante Decrypt per procedere nell'operazione di recupero;
    Emsisoft Decrypter for MRCR, Decrypt
    FIG 4 - Emsisoft Decrypter for MRCR, Decrypt
  • Al termine è possibile visualizzare e salvare l'esito dell'operazione cliccando sulla scheda Results.


Opzioni
Cliccando sulla scheda Options è possibile accedere alla sezione relativa alle varie opzioni implementate nel tool:

Keep encrypted files
Selezionando tale opzione i file cifrati non vengono eliminati. Ciò può essere utile nel caso in cui il tool non funzioni correttamente con i propri file per cui i file decriptati non risultano utilizzabili. In questo modo si ha la possibilità di ritentare con un'altra chiave.

Detect failed encryptions
Il ransomware non sempre riesce a cifrare tutti i file. In alcuni casi provvede semplicemente a rinominare il file senza cifrarne il contenuto. Abilitando tale opzione, il tool provvede a ripristinare il nome originario del file senza tentare di decifrarne il contenuto.

Key selection
In alcune condizioni è possibile che Emsisoft Decrypter for MRCR trovi più chiavi utilizzabili per decriptare i file. In questi casi tale opzione permette di selezionare una chiave specifica tra quelle trovate.




sabato 25 febbraio 2017

Ransomware CryptoMix: Recuperare i dati cifrati in modalità offline

Avast, la nota software house di sicurezza informatica, ha di recente rilasciato un tool per recuperare i dati cifrati dal ransomware CryptoMix (conosciuto anche come CryptFile2, Zeta, CryptoShield) in modalità offline. Il tool è efficace solo se il ransomware ha cifrato i dati in modalità offline e si dispone della versione non cifrata di almeno un file: CryptoMix effettua la cifratura in modalità offline quando non è presente una connessione ad Internet oppure quando non riesce a contattare i server Command & Control e, in queste situazioni, viene utilizzata una chiave di cifratura che può essere calcolata dal tool fornito da Avast. Se non si dispone di una versione non cifrata di un file si può provare ad usare un file presente nelle cartelle:
C:\Windows\Web
C:\Windows\Media
C:\Users\Public\Pictures\Sample Pictures
La versione non cifrata di tali file possiamo recuperarla da un altro PC su cui è installata la stessa versione di Windows.
Al momento il tool permette di decriptare i file cifrati con le seguenti estensioni .CRYPTOSHIELD, .rdmk, .rscl, .scl, .lesli,  .code.rmd.

Recupero dei file
  • CryptoMix oltre a cifrare il contenuto del file e ad aggiungere la propria estensione, ne modifica anche il nome. Il primo passo, quindi, consiste nello scoprire il reale nome del file cifrato. Accedere al sito http://rumkin.com/tools/cipher/rot13.php e, nell'apposita casella, inserire il nome, esclusa l'estensione (.CRYPTOSHIELD, .rdmk ecc), di un file cifrato (ad es vzzntvar.wct). Nella casella sottostante verrà visualizzato il nome reale. Verificare se si dispone della versione non cifrata del file.

    http://rumkin.com
    FIG 1 - http://rumkin.com
  • Eseguire il download del tool Avast Decryption Tool for CryptoMix da http://files.avast.com/files/decryptor/avast_decryptor_cryptomix.exe;
  • Avviare il tool e cliccare sul pulsante Avanti;
    Avax Decryption Tool for CryptoMix, schermata benvenuto
    FIG 2 - Avax Decryption Tool for CryptoMix, schermata benvenuto
  • Selezionare il disco o specificare una cartella contenente i dati da decriptare quindi cliccare su Avanti;
    Avax Decryption Tool for CryptoMix, selezione cartelle da decriptare
    FIG 3 - Avax Decryption Tool for CryptoMix, selezione cartelle da decriptare
  • Indicare, nelle apposite caselle, la versione cifrata e quella non cifrata dello stesso file quindi cliccare su Avanti;
    Avax Decryption Tool for CryptoMix, selezione file cifrato e non cifrato
    FIG 4 - Avax Decryption Tool for CryptoMix, selezione file cifrato e non cifrato
  • Cliccare sul pulsante Start per avviare la ricerca della chiave;
  • Se la chiave viene trovata, cliccare sul pulsante Avanti per proseguire;
  • Nella schermata successiva è consigliabile selezionare le opzioni Backup encrypted files e Run the decryption process as addministrator quindi cliccare sul pulsante Decrypt per avviare la decriptazione dei propri file;
  • Al termine è possibile visualizzare il log dell'operazione cliccando sull'apposito pulsante Show Log.
Nel caso in cui il tool di Avast non riesca a decriptare i file, allora questi non sono stati cifrati in modalità offline e al momento non è possibile recuperarli.




martedì 21 febbraio 2017

Windows Quick Tip: Creare Symbolic link e junction tramite il comando MKLINK

In tutti i file system moderni è possibile creare un Symbolic Link (Collegamento Simbolico): un collegamento di tipo avanzato a file e cartelle presenti generalmente in altri percorsi.  Anche se concettualmente simili ai collegamenti tradizionali con estensione .lnk, i Symbolic Link si differenziano da questi ultimi in quanto sono un tipo di oggetto del file system (come lo sono file e cartelle) mentre i link tradizionali sono oggetti della shell.

Per chiarire la differenza tra i due tipi di collegamento possiamo fare un'esempio pratico: provando a copiare un link tradizionale con estensione .lnk su una pendrive, verrà copiato il collegamento stesso e non il file puntato. Ciò avviene in quanto, come precedentemente accennato, i collegamenti .lnk sono riconosciuti solo a livello di shell ma non dal file system sottostante. Eseguendo la stessa operazione con un collegamento simbolico verrà, invece, copiato il file puntato e non il suo puntatore.

La possibilità di creare link simbolici è stata introdotta nel file system NTFS a partire da Windows 2000 tuttavia l'utility linkd.exe necessaria per la creazione di questo tipo di collegamenti non veniva fornita insieme al sistema operativo ma era necessario procurarsi il Resource Kit; inoltre era possibile creare link simbolici solo alle cartelle e non ai file.

Da Windows Vista in poi, l'utility a riga di comando per la creazione dei collegamenti simbolici è stata integrata all'interno del sistema operativo e prende il nome di mklink. Anche il sistema operativo fa uso dei collegamenti simbolici come ad es. le cartelle Programmi e Documents and Settings utilizzate nelle recenti versioni di Windows.

Per visualizzare i collegamenti simbolici presenti all'interno di una cartella basta utilizzare il comando
dir /al

Collegamenti simbolici utilizzati da Windows
FIG 1 - Collegamenti simbolici utilizzati da Windows

Come si può notare dalla FIG 1, nella root del disco di sistema sono presenti 2 collegamenti simbolici (di tipo junction): Documents and settings che punta alla cartella c:\Users e Programmi che punta alla cartella C:\Program Files. I collegamenti simbolici possono essere di tipo:
- JUNCTION  nel caso di giunzioni;
- SYMLINK  nel caso di collegamento simbolico a file;
- SYMLINKD  nel caso di collegamento simbolico a directory.

La creazione di link e junction in ambiente Windows non è molto diffusa, probabilmente perché è necessario agire tramite riga di comando e non tramite GUI (a meno che non si utilizzano programmi di terze parti). La creazione di link simbolici avviene tramite il comando mklink eseguito dal prompt dei comandi come amministratore.

La sintassi del comando mklink è molto semplice:

MKLINK [[/D] | [/H] | [/J]] Collegamento Destinazione
 /D      Crea un collegamento simbolico a una directory. L'impostazione predefinita è il collegamento simbolico a un file.
 /H      Crea un collegamento reale anziché un collegamento simbolico.
 /J      Crea una giunzione di directory.
Collegamento    specifica il nome del nuovo collegamento simbolico.
Destinazione    specifica il percorso (relativo o assoluto) a cui fa riferimento il nuovo collegamento.


Come è possibile notare dalla sintassi del comando esistono diversi tipi di link: collegamento simbolico, collegamento reale e junction (giunzione).

I collegamenti simbolici e le giunzioni vengono anche chiamati Soft Link mentre i collegamenti Reali sono chiamati Hard Link.


Soft Link
I Soft Link consentono di linkare file e cartelle presenti sullo stesso volume o su volumi diversi. Le differenze sostanziali tra collegamenti simbolici e giunzioni sono:
  • I collegamenti simbolici possono essere creati anche per i file oltre che per le cartelle mentre le giunzioni sono possibili solo per le cartelle;
  • I collegamenti simbolici utilizzano sia percorsi relativi che assoluti mentre le giunzioni lavorano esclusivamente con i percorsi assoluti.


Hard Link
Gli Hard Link sono associazioni N:1 tra un nome del file e i dati che esso contiene. Questo tipo di collegamenti consente di creare più nomi di file che puntano allo stesso oggetto dati sul disco. Ogni oggetto dati ha al suo interno un contatore di quanti file fanno riferimento ad esso. L'oggetto dati verrà rimosso solo quando tutti i riferimenti verranno eliminati.
Ad es.
Creando un Hard Link al file notepad.exe questo verrà visualizzato come fosse un file eseguibile a se stante. Cancellando il file eseguibile originale, notepad.exe, l'Hard Link continuerà a funzionare.


Alcuni esempi:

Esempio 1
MKLINK "Collegamento Immagine" c:\immagine.jpg
Crea un collegamento chiamato Collegamento Immagine al file c:\immagine.jpg

Esempio 2
MKLINK /D "Collegamento Temp" c:\temp
Crea un collegamento chiamato Collegamento Temp alla cartella c:\temp. Come si evince dal comando, per creare il collegamento ad una cartella è necessario specificare l'argomento /D.

Esempio 3
MKLINK /H "NotePad HL.exe" Notepad.exe
L'argomento /H permette di creare un collegamento reale (Hard Link): un nuovo puntatore al file che ha lo stesso valore del percorso originale. Un Hard Link deve risiedere sullo stesso volume del file originale ed è possibile creare più Hard Link ad uno stesso file. Ogni file è collegato almeno ad un Hard Link che è il percorso originale. L'Hard Link continuerà ad esistere e a funzionare anche se il file originale viene cancellato.

Esempio 4
MKLINK /J d:\Cartella1 c:\temp
Con l'argomento /J è possibile creare una junction (o giunzione), ossia un collegamento ad una cartella che può essere memorizzato anche su un volume diverso.


Creazione collegamenti simbolici e collegamenti reali
FIG 2 - MKLINK, Creazione collegamenti simbolici e collegamenti reali


Visualizzazione collegamenti simbolici
FIG 3 - Visualizzazione collegamenti simbolici