mercoledì 24 settembre 2014

Outlook Quick Tip: Abilitare l'icona della campana nel calendario per gli appuntamenti/riunioni con promemoria


In Outlook 2010 e Outlook 2013 Microsoft ha disabilitato la visualizzazione dell'icona della campana all'interno del calendario per gli appuntamenti e riunioni con promemoria.
Microsoft ha disabilitato l'icona per rendere più "pulita" la visualizzazione dell'appuntamento. Per ripristinare l'icona della campanella all'interno del calendario è possibile procedere nel seguente modo:

Da Outlook cliccare su File quindi su Opzioni;
Selezionare la voce Calendario;
Selezionare l'opzione Mostra icona della campana nel calendario per gli appuntamenti e le riunioni con promemoria e confermare su OK.

Mostra icona della campana nel calendario per gli appuntamenti e le riunioni con promemoria
FIG 1 - Mostra icona della campana nel calendario per gli appuntamenti e le riunioni con promemoria



A questo punto l'icona della campana all'interno del calendario sarà nuovamente visibile.



Icona campana nel calendario
FIG 2 - Icona campana nel calendario

martedì 23 settembre 2014

Outlook: Convertire PST da ANSI a UNICODE

A partire da Outlook 2003 Microsoft ha introdotto un nuovo formato di file per la memorizzazione dei messaggi di posta. 
Le versioni precedenti di Outlook utilizzavano il formato ANSI il quale poteva raggiungere una dimensione massima di 2 GB e aveva una limitazione di 65.000 elementi memorizzabili per ogni cartella, tuttavia, se il file PST ANSI veniva creato con versioni molto vecchie di Outlook, il limite di elementi memorizzabili per ogni cartella era di 16.000.

Il nuovo formato introdotto e utilizzato ancora oggi, invece, è di tipo UNICODE e consente al file .PST di raggiungere una dimensione di 20GB (50GB con file PST creati da Outlook 2010/2013) senza alcun limite per quanto riguarda gli elementi memorizzabili per ciascuna cartella.

Il formato ANSI è l'unico formato supportato dalle versioni di Outlook antecedenti ad Outlook 2003, mentre a partire da tale versione è possibile utilizzare entrambi i formati.
Nonostante sia per molti consigliabile passare al nuovo formato, Microsoft non fornisce alcuna utility per aggiornare i vecchi file PST al nuovo formato, tuttavia è possibile procedere ad una conversione sfruttando gli strumenti che si hanno a disposizione.

Per la conversione di un file PST da ANSI a UNICODE è possibile procedere con uno dei seguenti metodi:
- Importazione;
- Spostamento manuale;
- Archiviazione;
- Utility di terze parti.

METODO 1: Importazione
É possibile importare un vecchio PST ANSI in un nuovo PST UNICODE attraverso Outlook.
Questo metodo non fa altro che effettuare una copia degli elementi da un file PST ANSI ad un file PST UNICODE già presente in Outlook. I dati del file PST di origine non vengono eliminati, ma la data di modifica di ogni elemento viene sostituita con la data dell'importazione.

Ecco come procedere in Outlook 2010/2013:
  • Creare un profilo in Outlook e quindi una propria cartella personale (di default viene creato un file PST UNICODE);
  • Dal menu File, selezionare Apri quindi Importa per avviare la procedura guidata relativa all'importazione;
  • Nella finestra di dialogo selezionare Importa dati da altri programmi o file;
  • Selezionare File delle cartelle personali (.pst) come tipo di file da importare
  • Indicare il file PST (ANSI) che si desidera importare;
  • Nella finestra Importa file di dati di Outlook specificare selezionare le cartelle che si intende importare dal file ANSI, se si intende importare anche le sottocartelle e, alla voce Importa gli elementi nella stessa cartella in indicare se si intende importare il contenuto sulla casella di posta personale oppure nel nuovo file PST UNICODE creato precedentemente


Importa file di dati di Outlook
FIG 1 - Importa file di dati di Outlook
L'operazione potrebbe richiedere anche molti minuti a seconda della grandezza del file che si sta importando.


METODO 2: Spostamento manuale
Questo metodo è più lento del precedente ma più adatto all'importazione di PST con poche cartelle, anche se non presenta problemi con un grande numero di sottocartelle se spostate tutte insieme.
E' un buon metodo da utilizzare quando viene usato con un nuovo profilo di Outlook, ad esempio quando si importa su una nuova installazione.

Il metodo prevede di agganciare entrambi i files PST (il vecchio Ansi ed il nuovo PST) allo stesso profilo di Outlook, permettendo quindi una operazione manuale di copia o trasferimento.


Metodo 3: Archiviazione
Questo metodo è più adatto nei casi di aggiornamento da versione precedente di Outlook e riutilizzo dello stesso profilo di Outlook. E' altamente raccomandato fare una copia di sicurezza del file PST ANSI prima di spostare i messaggi utilizzando questo metodo.

Questo metodo consiste nel partire da un file PST ANSI già presente nel profilo di Outlook e di effettuare una esportazione verso un file PST UNICODE sfruttando la funzionalità di archiviazione.

  • Creare un nuovo file PST di tipo UNICODE.
  • Verificare ed impostare le opzioni della funzione di archiviazione, attraverso il comando File -> Strumenti di pulizia -> Archivio.... Comparirà una finestra di dialogo.
  • Dalla finestra di dialogo, opzione Archivia la cartella e tutte le sottocartelle:, selezionare il file PST ANSI.
  • Nel campo Archivia elementi antecedenti: impostare una data futura (ad es. del giorno successivo a quello in cui si esegue l'operazione).
  • Abilitare l'opzione Includi elementi con Non archiviare automaticamente selezionata.
  • Nel campo File archivio: indicare il nuovo file PST UNICODE creato al punto 1.
  • Confermare la finestra di dialogo ed attendere che Outlook effettui un'archiviazione degli elementi dal file PST ANSI al file PST UNICODE. I messaggi verranno fisicamente spostati dal vecchio al nuovo file.
  • Rimuovere il vecchio file PST Ansi dal profilo di Outlook.


Metodo 4: Utility di terze parti
Esistono diversi strumenti di terze parti che consentono di convertire un file PST da ANSI a UNICODE. Uno di questi è Upstart di Pete Maclean (www.maclean.com).
Upstart (UNICODE PST ARTificier) è in grado di convertire un file PST ANSI in formato UNICODE. Upstart crea un nuovo file PST UNICODE che è effettivamente una copia, cartella per cartella, di un file PST Ansi, evitando di modificare il file di origine. Permette di specificare tutte le opzioni di criptazione disponibili per il PST UNICODE. Non è richiesta installazione.


Nota: se compariamo due files PST, ANSI ed UNICODE, a parità di contenuti si può rilevare che la dimensione fisica del file UNICODE è maggiore rispetto a quella del file ANSI. Questo perché il formato UNICODE utilizza due bytes per ogni carattere, a differenza del formato ANSI che ne prevede uno solamente; un messaggio in formato UNICODE occupa quindi più spazio dello stesso messaggio rappresentato in formato ANSI. Siccome il contenuto di un file PST viene in qualche modo compresso ed ottimizzato, la dimensione del file PST UNICODE non sarà il doppio dello spazio del file Ansi.
Tenere quindi in considerazione questo fattore quando viene effettuata la conversione di un file PST. In linea generale possiamo ipotizzare che il nuovo file PST UNICODE possa avere una grandezza di circa una volta e mezza quella del file ANSI, anche se poi dipende realmente dal contenuto degli elementi convertiti




Skype: utilizzare due account contemporaneamente

Skype non mette a disposizione nessuna opzione per utilizzare contemporaneamente 2 account sulla stessa postazione. Una soluzione a questo problema consiste nell'utilizzare l'argomento /secondary nel lanciare la seconda istanza dell'applicazione.
Vediamo nel dettaglio come aprire 2 istanze di Skype sulla stessa postazione.

Avviamo normalmente Skype con il nostro account principale.
Creiamo un collegamento sul desktop specificando, come percorso del collegamento, la seguente stringa
"C:\Program Files (x86)\Skype\Phone\Skype.exe" /secondary

nel caso sulla postazione sia installata una versione di Windows a 32bit il percorso da indicare è il seguente:
"C:\Program Files\Skype\Phone\Skype.exe" /secondary

Cliccando sul collegamento viene avviata una seconda istanza di Skype in cui potremmo utilizzare un altro account

lunedì 22 settembre 2014

Windows Quick Tip: Modalità GodMode

A partire da Windows Vista è possibile creare una cartella virtuale contenente tutte quelle funzionalità normalmente accessibili tramite le applet del Pannello di Controllo. Tale modalità di accesso alle funzionalità del sistema operativo è stata ribattezzata GodMode.

Per accedere alla modalità GodMode basta creare una cartella, in qualsiasi posizione del disco, e nominarla:
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
La cartella assumerà l'icona del Pannello di controllo e all'interno ritroveremo tutte le funzionalità raccolte per gruppi.

É possibile utilizzare la modalità GodMode in Windows Vista, Windows 7, Windows 8 e 8.1 e anche su Windows Server 2008 e Windows Server 2012

GodMode
FIG 1 - GodMode

Outlook: Richiedere una conferma di lettura per email inviate ad un indirizzo specifico

Se vogliamo richiedere una conferma di lettura per tutte le email che inviamo ad un particolare indirizzo possiamo procedere alla creazione di una regola:
  • Da Outlook 2010 e Outlook 2013 cliccare sul menu File quindi su Gestisci Regole e avvisi
  • Cliccare su Nuova Regola
    Regole e Avvisi
    FIG 1 - Regole e Avvisi
  • Selezionare Applica regola ai messaggi inviati quindi procedere cliccando su Avanti
    Creazione guidata regole: Applica regola ai messaggi inviati
    FIG 2 - Creazione guidata regole: Applica regola ai messaggi inviati
  • Selezionare Inviato a utenti o gruppo pubblico
  • Nella parte inferiore della finestra cliccare su utenti o gruppo pubblico e specificare l'indirizzo desiderato, quindi confermare cliccando su OK
    Creazione guidata regole: inviato a utenti o gruppo pubblico
    FIG 3 - Creazione guidata regole: inviato a utenti o gruppo pubblico
  • Cliccare su Avanti per proseguire con la creazione della regola
  • Nella finestra successiva selezionare la voce avvisa quando il messaggio è stato letto e cliccare su Avanti
    Creazione guidata regole: avvisa quando il messaggio è stato letto
    FIG 4 - Creazione guidata regole: avvisa quando il messaggio è stato letto
  • Specificare eventuali eccezioni (non necessario) e cliccare su Avanti
  • Assegnare un nome alla regola e assicurarsi che sia selezionata l'opzione Attiva regola quindi cliccare su Fine

FIG 5 - Creazione guidata regole: Attiva regola

Da questo momento in poi, quando inviamo un'email all'indirizzo specificato, al destinatario verrà richiesta la conferma di lettura.

giovedì 11 settembre 2014

MS Exchange: Risposte automatiche (Fuori Sede) tramite EMS

Le risposte automatiche (Fuori Sede) possono essere inserite facilmente dagli utenti tramite il client di posta (ad es. Outlook) oppure tramite OWA. 

Nel caso volessimo utilizzare Exchange Management Shell (EMS) per inserire o eliminare una regola fuori sede (out of office) dobbiamo servirci del cmd-let Set-MailboxAutoReplyConfiguration
Set-MailboxAutoReplyConfiguration <nome_utente> -AutoReplyState Scheduled -StartTime <data_e_ora_attivazione> -EndTime <data_e_ora_disattivazione> -ExternalMessage "Messaggio per i mittenti esterni all'organizzazione" -InternalMessage "Messaggio per i mittenti interni all'organizzazione."
I parametri StartTime e EndTime consentono di specificare la data e l'ora in cui attivare/disattivare l'invio della risposta automatica. Le date vanno espresse in modalità anglossassone (mese/giorno/anno).

ExternalMessage e InternalMessage consento di specificare il messaggio di risposta automatica desiderato rispettivamente per gli utenti esterni e interni all'organizzazione.

AutoReplyState consente di abilitare, disabilitare, schedulare la risposta automatica sulla casella. I valori accettati dal parametro sono:
  • Enabled per abilitare all'istante la risposta automatica fino a quando non viene deliberatamente disattivata.
  • Disabled per disabilitare la risposta automatica.
  • Scheduled permette di abilitare la risposta automatica solo nell'intervallo di date specificate con StartTime e EndTime.
Ad es.
Set-MailboxAutoReplyConfiguration GLUBRANO -AutoReplyState Scheduled -StartTime "10/31/2014 07:00 AM" -EndTime "10/31/2014 11:30 pm" -ExternalMessage "Sono in ferie." -InternalMessage "Sono in ferie."
Per disattivare la risposta automatica
Set-MailboxAutoReplyConfiguration GLUBRANO -AutoReplyState Disabled

martedì 9 settembre 2014

BPMTK: Basic Process Manipulation Tool Kit


BPMTK è un utility open source creata da Didier Stevens (http://blog.didierstevens.com/) e appositamente pensata per la manipolazione dei processi in esecuzione in ambiente Windows.

BPMTK rappresenta un valido sostituto di gpdisable ormai non più supportato e , anzi, ne migliora diverse caratteristiche. L’utility permette di effettuare il dump della memoria, ricerche e sostituzioni all’interno della memoria utilizzata dai processi, DLL injection e molto altro.
A partire da Windows Vista, Microsoft ha cercato di rimediare e proteggere i suoi sistemi operativi da questo tipo di vulnerabilità introducendo il concetto di processo protetto: un tipo di processo che viene eseguito in uno spazio di memoria protetto dagli altri processi. Un processo protetto per essere considerato tale deve essere firmato da Microsoft.

Di seguito mostrerò alcuni esempi su come bypassare diverse protezioni utilizzando BPMTK.

Bypassare le Software Restriction Policies

Le Group Policy (in italiano conosciute come Criteri di Gruppo) vengono utilizzare per la configurazione e la gestione di un sistema Microsoft e in particolare vengono utilizzate in Active Directory. Le Group Policy permettono la configurazione di ogni aspetto del funzionamento delle workstation collegate alla rete aziendale, ad es. possiamo impedire all’utente di effettuare alcune operazioni o utilizzare alcuni programmi. 

Le Software Restriction Policies (SRP) sono una funzionalità delle Group Policy (GPO) che permettono all’amministratore di imporre restrizioni sul software che l’utente può eseguire. Le GPO vengono applicate attraverso le funzioni contenute in advapi32.dll. Diversi programmi, tra cui explorer.exe, richiamano tale DLL. Quando un utente tenta di eseguire un programma, explorer.exe, tramite le funzioni messe a disposizione da advapi32.dll, verifica se è autorizzato dalle GPO. Un ruolo importante in questa verifica è svolto dalla chiave TransparentEnabled. La presenza di tale chiave indica che le SRP sono attive e vanno verificate.  Un’utenza limitata non ha i permessi per andare a modificare le SRP pertanto sembrerebbe che il sistema non possa essere bypassato ma c’è un particolare. L’utente può modificare il codice contenuto all’interno del processi su cui ha i permessi come ad es.  explorer.exe. Cosa possiamo fare affinchè explorer.exe non vada ad interrogare la chiave TransparentEnabled? Dobbiamo fare in modo che la chiave TransparentEnabled non venga trovata dalle funzioni di advapi32.dll e quindi facendo credere al sistema di verifica che non è impostata alcuna SRP.

A questo punto interviene la nostra utility:
  • Scarichiamo l’utility da http://www.didierstevens.com/files/software/bpmtk_V0_1_6_0.zip
  • Scompattiamo il file in una cartella
  • Creiamo un file di testo e nominiamolo bypass-SRP.txt
  • All’interno del file copiamo il seguente codice:
    dll-name advapi32.dll
    search-and-write module:. unicode:TransparentEnabled ascii:X
  • Salviamo il file nella cartella contenente BPMTK;
  • Dal prompt dei comandi spostiamoci nella cartella dove abbiamo salvato il file .txt.
  • Eseguiamo il seguente comando:
    bpmtk bypass-SRP.txt


Con i comandi indicati all’interno del file .txt non facciamo altro che dire a BPMTK di cercare, in tutti i processi che caricano advapi32.dll, la stringa TransparentEnabled e sostituire la T con la X. Così facendo il nome della chiave diventerà XransparentEnabled.

Tuttavia questo procedimento non disabilita le SRP per i processi già in esecuzione. Le SRP, infatti, una volta caricate dal registro vengono memorizzate nella cache in modo da evitare continui accessi al registro che rallenterebbe l’esecuzione. Per rendere non valida la cache e quindi forzare la lettura dal registro bisogna aspettare un update delle GPO oppure forzarle con il comando gpupdate /force (se si tratta di utente limitato probabilmente non potrà forzare l’update delle GPO).
Anche in questo caso l’utility BPMTK ci viene incontro. La memorizzazione nella cache delle SRP viene controllata dalla variabile _g_ bInitializedFirstTime presente in advapi32.dll. Nella versione 5.1.2600.2180 di advapi32.api.dll la variabile è memorizzata all’indirizzo 77E463C8. Assegnando a tale variabile il valore 0 si rende non valida la cache. Modifichiamo il nostro file bypass-SRP.txt in modo tale che contenga le seguenti istruzioni:


dll-name advapi32.dll
search-and-write module:. unicode:TransparentEnabled ascii:X
write version:5.1.2600.2180 hex:77E463C8 hex:00

E se l’utente limitato non dispone di permessi per eseguire BPMTK?

Bypassare le Software Restriction Policies tramite BPMTK e le macro di Excel

Nel caso in cui l’utente non disponga i necessari permessi per eseguire BPMTK ma gli è permesso di eseguire macro in Excel allora possiamo sfruttare il VBScript.

In questo caso lo stesso autore di BPMTK ci mette a disposizione sul proprio sito una sua utility creata in python che permette di includere un file .exe o .dll in un file .vbs. È possible scaricare il programma al seguente link: www.didierstevens.com/files/software/file2vbscript_v0_3.zip

Per poter eseguire il programma è necessario aver installato un interprete python. Possiamo scaricare Python da www.python.it/download/

Una volta scompattato il file file2vbscript_v0_3.zip  e installato python copiamo il file file2vbscript.py nella stessa cartella del file bpmtk.exe.
Dal prompt dei comandi spostiamoci nella cartella che contiene i 2 file e digitiamo il seguente comando

file2vbscript.py -o BPMTK.exe nostroScript.vbs

Il programma non fa altro che eseguire il dump del file .exe e memorizzarlo all’interno del file .vbs.
Nel caso in cui volessimo eseguire il dump di una dll allora l’opzione da utilizzare è –l come mostrato di seguito:

file2vbscript -l bpmtk.dll bpmtk.vbs

Ora che abbiamo visto come includere una dll o un file eseguibile all’interno di un VBS abbiamo un altro problema: come facciamo ad includere il file bypass-SRP.txt visto precedentemente all’interno del nostro file VBS?

Basta eseguire il comando

bpmtk bypass-SRP.txt bpmtk-cmd.exe


Con questo comando non facciamo altro che eseguire una copia del file bpmtk.exe con incluso il file di testo. Il file risultante, come indicato nel comando, è bpmtk-cmd.exe.

Per quanti non dispongono di Python e non vogliono installarlo, ho realizzato un semplice programmino in C# (senza troppe pretese) per raggiungere lo stesso scopo. Nella realizzazione non mi sono discostato molto dal programma di Didier Stevens. Il codice C# è molto semplice e presenta diversi aspetti che possono essere migliorati ma per il nostro scopo va più che bene.

Da QUI potete scaricare il sorgente e il programma compilato.

Il programma, essendo già compilato, non necessita dell’installazione di Python inoltre presenta un’interfaccia grafica che ne facilita l’utilizzo e consente di integrare, insieme ad un file .exe, anche un file txt all’interno del vbs. Lo svantaggio sta nel fatto che è più lento nell’eseguire l’operazione di Dump.
File2VBS in C#
FIG 1 - File2VBS in C#

Eseguendo il mio programma appare un’interfaccia grafica dove andremo a selezionare l’output che ci interessa:
  • Office: se ci interessa un output da poter utilizzare come macro all'interno di un'applicazione Office (più avanti vedremo come utilizzarlo in Excel);
  • Library: se stiamo eseguendo il dump di una DLL;
  • Stand Alone: se ci interessa un VBS da eseguire autonomamente attraverso WSH;
  • Don’t execute: non esegue il file di dump generato.
Dopodiché specifichiamo il file che intendiamo utilizzare (exe o dll), un eventuale file di testo da integrare nel VBS e il nome del file di output. 

Clicchiamo su Proceed e attendiamo che la progress bar scompaia. A questo punto, una volta creato il nostro file VBS, non ci resta che inserirlo all’interno di Excel e farlo eseguire come Macro.

Creare una macro Excel 2013 con il file VBS

Il nostro file VBS può essere utilizzato all’interno di Excel come macro. Possiamo fare in modo che quando il file Excel venga aperto la macro venga eseguita automaticamente. Di seguito mostro i passaggi da eseguire per Excel 2013:


  • Avviare Excel 2013 e creare un nuovo foglio di lavoro vuoto;
  • Dal menu File selezionare Opzioni quindi cliccare su Personalizza barra multifunzione;
  • Nel riquadro Schede principali selezionare la casella relativa alla scheda Sviluppo

Schede principali - Sviluppo
FIG 2 - Schede principali - Sviluppo

  • A questo punto tra i ribbon di Excel troviamo anche la voce Sviluppo. Aprire il ribbon Sviluppo e cliccare sull’icona Sicurezza Macro.

FIG 3 - Sicurezza Macro

  • Selezionare Attiva tutte le macro (scelta non consigliata; potrebbe venire eseguito codice pericoloso) e confermiamo su OK
  • Cliccare sull’icona Visual Basic (oppure utilizziamo la combinazione ALT+F11)
  • Nella riquadro Progetto - VBAProject fare clic con il pulsante destro del mouse sull'oggetto Questa_cartella_di_lavoro (ThisWorkbook in inglese) e quindi selezionare Visualizza codice
  • Nel riquadro a destra, incollare il codice presente all’interno del file VBS prodotto da File2VBS
  • Se vogliamo che il codice venga eseguito all'apertura del file allora nell'elenco Oggetto, sopra alla finestra Codice, selezionare Workbook. Per l'evento Open verrà creata automaticamente una routine vuota nominata Workbook_Open(). Aggiungere alla procedura la chiamata a DoIt in modo che appaia come la seguente:
 
Private Sub Workbook_Open()
 DoIt
End Sub

Excel 2013 VBA
FIG 4 - Excel 2013 VBA



Bypassare le retrizioni relative all’esecuzione del prompt dei comandi

Solitamente gli amministratori di sistema disabilitano l’accesso al prompt dei comandi (CMD.EXE) da parte degli utenti. Tale restrizione non viene applicata con una Software Restriction Policy (SRP) bensì con una GPO dedicata. 

Quando viene eseguito cmd.exe va a verificare la presenza della chiave di registro DisableCMD. Se tale chiave è presente allora cmd.exe non verrà eseguito e, al suo posto, apparirà un messaggio che avverte l’utente della restrizione.

Con BPMTK è possibile bypassare anche questo tipo di restrizione:
  • Creiamo un file di testo e nominiamolo bypass-CMD.txt
  • All’interno del file copiamo il seguente codice:
    start cmd.exe 
    search-and-write module:.  unicode:DisableCMD hex:41
  • Salviamo il file nella cartella contenente BPMTK;
  • Dal prompt dei comandi spostiamoci nella cartella dove abbiamo salvato il file .txt.
  • Eseguiamo il seguente comando:
    bpmtk bypass-CMD.txt

Praticamente andiamo ad eseguire il prompt dei comandi (CMD.EXE) e andiamo ad intercettare la chiave DisableCMD che andremo a rinominare in AisableCMD in modo da non farla trovare a CMD.EXE.






Con questo termino il presente articolo. BPMTK offre numerose possibilità che non è possibile trattare in un singolo articolo pertanto è probabile che in futuro ritornerò sull'argomento.