giovedì 8 agosto 2019

Windows 10: Visualizzare le App installate in una finestra di Esplora file

In Windows 10 per visualizzare in una finestra di Esplora file tutte le App installate nel sistema è possibile utilizzare il comando shell AppsFolder:
  • Cliccare, con il tasto destro del mouse, sull'icona Start e seleziona Esegui dal menu contestuale (in alternativa premere la combinazione di tasti WIN+R);
  • Nella finestra di dialogo Esegui, digitare ed eseguire il comando
    shell:AppsFolder
    Windows 10, comando Shell AppsFolder
    FIG 1 - Windows 10, comando Shell AppsFolder

Nella nuova finestra che appare verranno mostrate tutte le applicazioni installate in ordine alfabetico. Cliccando con il tasto destro del mouse su un'icona è possibile aggiungere/rimuovere l'applicazione alla barra dello start o procedere alla disinstallazione.

Windows 10, Elenco applicazioni in Esplora file
FIG 2 - Windows 10, Elenco applicazioni in Esplora file






mercoledì 7 agosto 2019

Windows 10: Azzerare il contatore degli screenshot

Windows 10 dispone di una comoda funzione che permette di catturare il contenuto dell'intero schermo (screenshot) e salvarlo direttamente in un file in formato PNG. Tale funzione è accessibile tramite la combinazione di tasti WIN+Stamp.
Lo screenshot viene salvato all'interno della cartella Immagini\Screenshot (%UserProfile%\Pictures\Screenshots) e il nome assegnato al file segue il modello Screenshot (X).png dove, al posto della X, c'è un numero che viene incrementato in maniera progressiva ad ogni salvataggio.
Tale numero viene salvato all'interno del registro di sistema e ciò permette a Windows di "ricordare" il successivo valore da utilizzare.
Windows 10, ScreenShot
FIG 1 - Windows 10, ScreenShot

Per resettare tale valore è possibile agire tramite il registro di sistema:
  • Eliminare/spostare/rinominare gli screenshot presenti nella cartella Immagini\Screenshot;
  • Premere la combinazione di tasti WIN+R per aprire la finestra di dialogo Esegui e digitare regedit seguito da invio per avviare l'editor del registro di sistema;
  • Posizionarsi su
    Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
    (in alternativa copiare/incollare il percorso all'interno della barra di navigazione di Regedit);
  • Modificare il valore DWORD ScreenshotIndex inserendo 1 nel campo Dati valore.
    Windows 10, ScreenshotIndex
    FIG 2 - Windows 10, ScreenshotIndex

La modifica avrà effetto immediato e il successivo screenshot verrà salvato con il nome Screenshot (1).png.

Dal seguente link è possibile scaricare il file .reg per impostare il valore di ScreenshotIndex ad 1:
DOWNLOAD





venerdì 2 agosto 2019

HTTP, P2P e WebRTC leak

Nell'articolo Verifica DNS Leak ho già parlato dei leak relativi ai DNS. Un concetto simile può essere applicato anche alle richieste HTTP, P2P e WebRTC.

Per verificare se su propri dispositivi le richieste HTTP e quelle relative alle reti P2P soffrono di problemi di leak basta eseguire il test sui seguenti siti https://www.doileak.com e https://ipleak.net.


www.doileak.com
FIG 1 - www.doileak.com


ipleak.net
FIG 2 - ipleak.net

WebRTC è un protocollo utilizzato dai browser per stabilire una connessione punto a punto con il server per ricevere e trasmettere stream audio/video. Questo tipo di connessioni possono bypassare il tunnel VPN (attraverso il quale passa il normale flusso dati) e svelare il reale indirizzo IP dell'utente. Anche per quanto riguarda i WebRTC leak è possibile verificare se il proprio browser è vulnerabile utilizzando il test presente su https://www.doileak.com.

Un altro tipo di leak potenzialmente pericoloso è quello che riguarda i browser di Microsoft: Internet Explorer e Edge. Tali browser, infatti, possono comunicare all'esterno informazioni sensibili come il nome utente e l'hash della password di Windows. Tali informazioni non solo facilitano la violazione dell'account, nel caso di password piuttosto semplici, tramite attacchi di brute force ma rappresentano "un'impronta digitale" che consente di tracciare l'utente anche attraverso Tunnel VPN. Per verificare questa vulnerabilità basta visitare la pagina https://msleak.perfect-privacy.com. Il sito è sicuro ma, contenendo uno script che individua ed estrae informazioni personali attraverso il browser, potrebbe essere bloccato da qualche antivirus/antimalware.
msleak.perfect-privacy.com
FIG 3 - msleak.perfect-privacy.com






giovedì 1 agosto 2019

Verifica DNS Leak

Quando si è connessi ad Internet è necessario fare attenzione ai cosiddetti leak, ovvero situazioni che possono rilevare informazioni personali teoricamente protette. Tra i leak più comuni troviamo i DNS leak. Anche quando connessi tramite una VPN bisogna prestare attenzione in quanto non tutte le VPN proteggono gli utenti dai DNS leak e le richieste di risoluzione DNS potrebbero continuare ad essere inviate al provider che fornisce la connettività con buona pace della nostra privacy. Alcuni Internet provider e alcune reti aziendali, inoltre, potrebbero implementare tecniche come il Transparent DNS Proxy che intercetta le chiamate DNS deviandole verso server locali indipendentemente dalla configurazione impostata dall'utente sui propri dispositivi.
Per testare la propria configurazione è possibile visitare l'indirizzo https://www.dnsleaktest.com.

DNS Leak Test
FIG 1 - DNS Leak Test


Eseguendo un test esteso verranno rilevati i DNS a cui il nostro dispositivo invia le richieste di risoluzione indirizzi. Se siamo connessi ad una VPN e i server mostrati in elenco non sono quelli forniti dal servizio VPN allora abbiamo un problema di DNS Leak e i nostri dati potrebbero essere esposti. I proprietari dei server, infatti, possono associare il nostro indirizzo IP al nome dei siti che visitiamo e mantenere/rivendere queste informazioni per un tempo indefinito.


Risultati test DNS Leak
FIG 2 - Risultati test DNS Leak





giovedì 27 giugno 2019

MS Office: Ridurre le dimensioni di una presentazione PowerPoint in Office 2016/2019

Quando si creano presentazioni con molte immagini o elementi multimediali, il file di PowerPoint può raggiungere dimensioni elevate. Per ridurre le dimensioni di una presentazione:
  • Aprire il file PowerPoint che si intende comprimere con Office 2016/2019;
  • Dal menu File selezionare Salva con nome;
  • Cliccare su Sfoglia per selezionare il percorso dove si intende salvare il file;
    PowerPoint 2016, Salva con nome
    FIG 1 - PowerPoint 2016, Salva con nome
  • Cliccare sul pulsante Strumenti e selezionare dall'elenco la voce Comprimi immagini...;
    PowerPoint 2016, Salva con nome, Strumenti
    FIG 2 - PowerPoint 2016, Salva con nome, Strumenti
  • Nella finestra di dialogo che appare assicurarsi che l'opzione Applica solo a questa immagine sia disabilitata, lasciare attiva l'opzione Elimina aree ritagliate dalle immagini e selezionare il tipo di risoluzione desiderato. Per ridurre le dimensioni al minimo selezionare Posta elettronica (96 ppi): le dimensioni del documento vengono ridotte al minimo per la condivisione.
    PowerPoint, Comprimi immagini
    FIG 3 - PowerPoint, Comprimi immagini
  • Cliccare su OK quindi su Salva.








martedì 25 giugno 2019

Windows Quick Tip: Eseguire il backup dei driver installati

Ci sono circostanze in cui può essere utile salvare i driver installati sul PC in modo da poterli riutilizzare in un momento successivo, ad esempio dopo la reinstallazione del sistema operativo. Windows (Windows 10, 8 e 7) permette di effettuare un backup dei driver installati attraverso il comando dism e senza ricorrere all'utilizzo di software di terze parti:
  • Avviare il prompt dei comandi come amministratore
  • Eseguire il seguente comando 
    dism /online /export-driver /destination:"C:\BackupDrivers"
    dove al posto di C:\BackupDrivers va indicata la cartella dove si intende salvare il backup dei driver.
Windows, backup dei driver installati
FIG 1 - Windows, backup dei driver installati






venerdì 14 giugno 2019

MS Outlook: Visualizzare gli indirizzi dei destinatari nell'elenco messaggi della posta inviata

Nell'articolo Outlook: Visualizzare l'indirizzo email del mittente nel riquadro elenco messaggi  è stato mostrato come visualizzare l'indirizzo del mittente nell'elenco messaggi della posta in arrivo attraverso l'utilizzo di moduli personalizzati. Per visualizzare gli indirizzi dei destinatari nella cartella posta inviata non è possibile adottare lo stesso metodo ma bisogna procedere in modo diverso. In questo articolo illustrerò come raggiungere l'obiettivo tramite l'utilizzo di macro. 

La prima macro che verrà mostrata consente di aggiungere una nuova colonna all'interno della cartella posta inviata: Destinatari. Affinché la nuova colonna venga compilata con gli indirizzi dei destinatari è necessario selezionare le email di proprio interesse ed eseguire la macro. Vediamo passo passo come procedere:
  • In Outlook, dal menu File -> Opzioni selezionare Personalizzazione barra multifunzione
  • Nell'elenco Schede principali (sulla destra) aggiungere il segno di spunta alla voce Sviluppo e cliccare su OK;
    Outlook, Scheda Sviluppo
    FIG 1 - Outlook, Scheda Sviluppo
  • Dalla scheda Sviluppo cliccare su Sicurezza macro;
    Outlook, Sicurezza macro
    FIG 2 - Outlook, Sicurezza macro
  • Dalla finestra Centro protezione, nella sezione Impostazioni macro, selezionare Visualizza notifiche per tutte le macro. In questo modo all'avvio di Outlook verrà richiesto se eseguire la macro.
    Outlook, Visualizza notifiche per tutte le macro
    FIG 3 - Outlook, Visualizza notifiche per tutte le macro
  • Avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
  • Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, cliccare 2 volte su ThisOutlookSession;
    Outlook, Microsoft Visual Basic, Application Edition
    FIG 4 - Outlook, Microsoft Visual Basic, Application Edition
  • Copiare e incollare il seguente script;
    Public Sub IndirizziDestinatari()
        Dim currentExplorer As Explorer
        Dim Selezione As Selection
        Dim obj, objMail As Object
        Dim objProp As Outlook.UserProperty
        Dim strDomain
        Dim Recipients As Outlook.Recipients
        Dim recip As String 'Casella di posta
        Dim i
         
        Set currentExplorer = Application.ActiveExplorer
        Set Selezione = currentExplorer.Selection
     
        On Error Resume Next
     
     For Each obj In Selezione
         Set objMail = obj
      strDomain = ""
      Set Recipients = objMail.Recipients
        For i = Recipients.count To 1 Step -1
        recip$ = Recipients.item(i).Address    
         ' Per elaborare gli indirizzi x.500
           If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
    
         ' Aggiunge ; se sono presenti più indirizzi
        If i = 1 Then
         strDomain = strDomain & recip
        Else
         strDomain = strDomain & recip & "; "
        End If
        Next i
        
          Debug.Print strDomain
        Set objProp = objMail.UserProperties.Add("Destinatari", olText, True)
        objProp.Value = strDomain
        objMail.Save
        Err.Clear
     Next
      
        Set currentExplorer = Nothing
        Set obj = Nothing
        Set Selezione = Nothing
    End Sub
    
  • Salvare cliccando sull'apposita icona quindi ritornare alla finestra principale di Outlook;
    Outlook, Macro VBA IndirizziDestinatari
    FIG 5 - Outlook, Macro VBA IndirizziDestinatari
  • Selezionare la cartella Posta inviata e selezionare un'email, o un gruppo di email, per le quali si intende visualizzare l'indirizzo email dei destinatari;
  • Selezionare la scheda Sviluppo, cliccare su Macro quindi selezionare la macro creata;
    Outlook, Esecuzione Macro
    FIG 6 - Outlook, Esecuzione Macro
  • Dalla scheda Visualizza, selezionare Cambia visualizzazione e impostare l'opzione Singola;

    FIG 7 - Outlook, Visualizzazione Singola
  • Sempre dalla scheda Visualizza, selezionare Impostazioni visualizzazione quindi cliccare sul pulsante Colonne;
    Outlook, Colonne
    FIG 8 - Outlook, Colonne
  • Nella casella Seleziona colonne disponibili da selezionare Campi definiti dall'utente nella cartella;
  • Nella casella Colonne disponibili verrà elencata la colonna Destinatari creata dalla nostra macro, selezionarla e cliccare sul pulsante Aggiungi per aggiungere la nuova colonna alla visualizzazione. É possibile spostare la colonna nella posizione desiderata tramite i pulsanti Sposta su e Sposta giù quindi confermare la modifica cliccando su OK e poi ancora su OK per tornare ad Outlook.
    FIG 9 - Outlook, Aggiungere la colonna Destinatari


In un'infrastruttura MS Exchange Server gli indirizzi possono essere visualizzati come indirizzi x.500 e non come indirizzo SMTP. Un indirizzo x.500 è una stringa simile alla seguente
/o=azienda /ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=<user name o email>
All'interno della macro gli indirizzi x.500 vengono gestiti con la seguente riga di codice
If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
che preleva l'ultima parte dell'indirizzo x.500 (quella successiva alla stringa Recipients) dove è contenuto l'user name o l'indirizzo di posta.

La procedura sopra esposta funziona per i messaggi già inviati. Per fare in modo che il campo venga valorizzato automaticamente ad ogni invio di un'email:
  • Da Outlook, avviare Microsoft Visual Basic, Application Edition tramite la combinazione di tasti ALT+F11;
  • Nella visualizzazione ad albero del progetto, sul lato sinistro della finestra, selezionare ThisOutlookSession;
  • Posizionarsi nella prima riga della pagina quindi copiare ed incollare il seguente codice VBA
    Dim WithEvents olSent As Items
      
    Private Sub Application_Startup()
       Dim NS As Outlook.NameSpace
       Set NS = Application.GetNamespace("MAPI")
       Set olSent = NS.GetDefaultFolder(olFolderSentMail).Items
       Set NS = Nothing
    End Sub
      
    Private Sub olSent_ItemAdd(ByVal Item As Object)
        Dim objProp As Outlook.UserProperty
        Dim strDomain As String
        Dim Recipients As Outlook.Recipients
        Dim recip As String 'Casella di posta
        Dim i
                       
    strDomain = ""
    Set Recipients = Item.Recipients
      For i = Recipients.count To 1 Step -1
         recip$ = Recipients.Item(i).Address
         ' Per elaborare gli indirizzi x.500
         If InStr(1, LCase(recip), "/ou=") Then recip = Right(recip, Len(recip) - InStr(1, LCase(recip), "recipients") - 13)
         ' Aggiunge ; se sono presenti più indirizzi
         If i = 1 Then
             strDomain = strDomain & recip
         Else
             strDomain = strDomain & recip & "; "
         End If
      Next i
          
      Set objProp = Item.UserProperties.Add("Destinatari", olText, True)
        objProp.Value = strDomain
        Item.Save
      
        Err.Clear
             
        Set objProp = Nothing
        Set Recipients = Nothing
             
     End Sub
    
  • Riavviare Outlook e provare ad inviare un nuovo messaggio.
    Outlook, Campo Destinatari
    FIG 10 - Outlook, Campo Destinatari