lunedì 19 febbraio 2018

VSTO: Creare un componente aggiuntivo per l'installazione di un payload

VSTO (Visual Studio Tools for Office) è un insieme di strumenti di sviluppo disponibili sotto forma di runtime e di add-in di Visual Studio che consente alle versioni di MS Office 2003 e successive di  ospitare il .NET Framework Common Language Runtime (CLR) e permettere la realizzazione di funzionalità attraverso .NET.
I componenti aggiuntivi VSTO possono essere installati, nel proprio profilo, anche dagli utenti che non dispongono di privilegi amministrativi ed eseguiti ad ogni avvio dell'applicazione MS Office per cui sono stati realizzati (ad es. Excel). Tale comportamento rappresenta un grosso problema per la sicurezza. L'add-in può essere creato in modo che venga avviato un payload (una routine malevola). In questi casi AppLocker, nella sua configurazione di default, non blocca l'esecuzione del codice.

Vediamo come creare un add-in VSTO in Visual Studio.
  • Avviare Visual Studio e creare un nuovo progetto. Dal menu File selezionare Nuovo quindi Progetto;
    Visual Studio, Nuovo Progetto
    FIG 1 - Visual Studio, Nuovo Progetto
  • Alla richiesta di selezionare il modello da utilizzare, selezionare Visual C# quindi Office/SharePoint;
    Visual Studio, Progetto in Visual C# - Office/SharePoint
    FIG 2 - Visual Studio, Progetto in Visual C# - Office/SharePoint
  • Se nel sistema non è già installato verrà richiesto di installare Office Developer Tools (FIG 2). Eseguire un doppio click su Installa progetti Office Developer Tools, attendere il download e seguire le istruzioni a video per portare a termine l'installazione di tale componente.
    Visual Studio, Installazione Office Developer Tools
    FIG 3 - Visual Studio, Installazione Office Developer Tools
  • Terminata l'installazione di Office Developer Tools avviare nuovamente Visual Studio, creare un nuovo progetto Visual C# quindi selezionare Office/SharePoint. Selezionare per quale applicazione MS Office si intende sviluppare il componente aggiuntivo (in questo articolo è stato selezionata l'opzione Componente aggiuntivo VSTO per Word 2013 e 2016), assegnare un nome al progetto e confermare cliccando sul pulsante OK.
    Visual Studio, selezione componente aggiuntivo da creare
    FIG 4 - Visual Studio, selezione componente aggiuntivo da creare
  • A questo punto Visual Studio provvederà a creare il template del nostro add-in. Per fare in modo che al caricamento del componente aggiuntivo venga eseguita una particolare operazione, bisogna modificare la funzione ThisAddIn_Startup. Aggiungendo il seguente codice, come mostrato anche in FIG 5, all'avvio del componente aggiuntivo verrà avviata la calcolatrice.
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo.FileName = @"c:\windows\system32\calc.exe";
    proc.Start();
    Visual Studio, Modifica della funzione ThisAddIn_Startup per richiamare un file eseguibile (calc.exe)
    FIG 5 - Visual Studio, Modifica della funzione ThisAddIn_Startup per richiamare un file eseguibile (calc.exe)
  • Dal menu Progetto selezionare Proprietà;
    Visual Studio, Proprietà progetto
    FIG 6 - Visual Studio, Proprietà progetto
  • Nella sezione Applicazione impostare il .NET Framework da utilizzare;
    Visual Studio, Framework di destinazione
    FIG 7 - Visual Studio, Framework di destinazione
  • Selezionare la sezione Firma. Firmare i manifesti ClickOnce con un certificato valido consente la distribuzione e l'installazione attraverso la tecnologia ClickOnce di Microsoft. Firmare i manifesti con un certificato non valido, d'altra parte, potrebbe impedire l'installazione/esecuzione del payload attraverso ClickOnce. Si può testare tale comportamento firmando i manifesti con un certificato autofirmato cliccando su Crea certificato di prova... e confermando cliccando su OK senza immettere alcuna password.
    Visual Studio, Firma manifesti ClickOnce
    FIG 8 - Visual Studio, Firma manifesti ClickOnce
  • Selezionare Pubblica. In tale sezione è possibile impostare le opzioni per la distribuzione del pacchetto come ad esempio la versione, prerequisiti, dipendenze ecc. In Percorso pubblicazione specificare un path lasciando tutto il resto impostato come di default, quindi cliccare sul pulsante Pubblica.
    Visual Studio, Pubblica componente aggiuntivo
    FIG 9 - Visual Studio, Pubblica componente aggiuntivo
  • Nella cartella Release del progetto, verranno generati i file del componente aggiuntivo. Per procedere all'installazione basta eseguire il file con estensione .VSTO.
    File componente aggiuntivo VSTO
    FIG 10 - File componente aggiuntivo VSTO
  • Terminata l'installazione, avviando MS Word verrà caricato anche il componente aggiuntivo che, a sua volta,  provvederà ad avviare la calcolatrice.
    VSTO, all'avvio di MS Word e dell'add-in viene avviata la calcolatrice
    FIG 11 - VSTO, all'avvio di MS Word e dell'add-in viene avviata la calcolatrice


venerdì 16 febbraio 2018

MS Office: Disabilitare il Dynamic Data Exchange

Da molti anni MS Office integra la tecnologia DDE (Dynamic Data Exchange) un sistema di comunicazione interprocesso pensato per lo scambio di informazioni tra le applicazioni della suite. Tale tecnologia di recente viene utilizzata per scopi malevoli da malware piuttosto insidiosi. La vulnerabilità riguarda una particolare funzione di DDE che si occupa di aggiornare le informazioni collegate quando il documento viene aperto. Agendo tramite le impostazioni delle applicazioni di MS Office è possibile disabilitare l'aggiornamento automatico incidendo in modo marginale sull'usabilità della tecnologia DDE
L'operazione che verrà indicata di seguito per MS Word dovrà essere ripetuta per ciascuna delle altre applicazioni del pacchetto MS Office.

  • Avviare MS Word, dal menu File selezionare Opzioni;

    MS Word, Opzioni
    FIG 1 - MS Word, Opzioni
  • Selezionare, sul lato sinistro della finestra, la voce Impostazioni avanzate;
  • Sul lato destro, scorrere fino alla sezione Generale quindi rimuovere la spunta alla voce Aggiorna collegamenti automatici all'apertura;

    MS Word, Aggiorna collegamenti automatici all'apertura
    FIG 2 - MS Word, Aggiorna collegamenti automatici all'apertura
  • Confermare la modifica cliccando sul pulsante OK.


martedì 13 febbraio 2018

MS Office Quick Tip: Integrare i font all'interno di un documento

Quando si distribuisce un documento di MS Office, in particolare di Word e PowerPoint, bisogna tener conto dei font utilizzati all'interno dello stesso. Quando i programmi della suite MS Office non trovano nel sistema i tipi di caratteri utilizzati nel documento, provvedono a sostituirli con font disponibili. Tale sostituzione può stravolgere l'impostazione e l'aspetto del documento/presentazione rendendola confusa. Una soluzione consiste nell'integrare all'interno del documento i font utilizzati:
  • Aprire il file con la relativa applicazione di MS Office;
  • Cliccare sul menu File e selezionare la voce Opzioni;

    MS Word, Opzioni
    FIG 1 - MS Word, Opzioni
  • Sul lato sinistro della finestra selezionare Salvataggio;
  • Sul lato destro della finestra, scorrere l'elenco fino ad individuare la sezione Fedeltà nella condivisione (in PowerPoint la sezione sarà Mantieni fedeltà nella condivisione della presentazione seguente);
  • Attivare l'opzione Incorpora caratteri nel file. É possibile attivare anche le opzioni sottostanti che permettono di specificare se includere l'intero set di caratteri oppure solo i caratteri utilizzati nel documento. Confermare la modifica cliccando sul pulsante OK.

    MS Word, Incorpora caratteri nel file
    FIG 2 - MS Word, Incorpora caratteri nel file



lunedì 12 febbraio 2018

Plop Boot Manager: Avviare il sistema da USB anche se non supportato dal BIOS

Su PC molto datati potrebbe non essere possibile impostare da BIOS il boot da USB. Per ovviare a questa mancanza è necessario affidarsi a tool di terze parti come all'ottimo Plop Boot Manager.
Plop Boot Manager è un boot manager, sviluppato Elmar Hanlhofer, che integra i driver delle unità ottiche e USB consentendo l'accesso all'hardware e il boot da tali periferiche anche senza l'aiuto del BIOS.
Il boot manager può essere avviato da Floppy disk, da CD/DVD, da rete oppure installato direttamente su Hard Disk (non richiede alcuna partizione aggiuntiva).
Plop Boot Manager può essere scaricato dal seguente link
DOWNLOAD

Una volta scompattato il file .zip troveremo diversi file e cartelle che ci consentono di avviare il boot manager da diversi supporti oppure installarlo direttamente sul PC. 
Plop Boot Manager, file
FIG 1 - Plop Boot Manager, file



Creazione Floppy Disk

Il file plpbt.img contiene l'immagine di un disco floppy. Il file non va copiato direttamente sul floppy ma vanno utilizzati appositi programmi, come ad es RawWrite, per riportare i dati presenti nel file immagine nei corrispondenti settori del disco floppy.
Con RawWrite, una volta selezionato il floppy drive e il file immagine basta cliccare su Write e attendere il termine del processo.
RawWrite, Creare un floppy disk per l'avvio di Plop Boot Manager
FIG 2 - RawWrite, Creare un floppy disk per l'avvio di Plop Boot Manager



Creazione di un CD/DVD

Il file plpbt.iso è l'immagine di un CD e può essere masterizzato su CD/DVD utilizzando un qualsiasi programma di masterizzazione come Nero Burning Rom, ImgBurn, o CDBurnerXP.



Installazione all'interno del MBR

Per installare il boot manager all'interno del MBR, eseguire, come amministratore, il file batch InstallToMBR presente nella cartella Windows di Plop Boot Manager. Il batch provvederà a creare una entry all'interno del boot menu di Windows. All'avvio del sistema selezionare, dal menu che appare, Install the plop Boot Manager to the MBR.

Per rimuovere la voce dal boot menu di Windows è necessario eseguire come amministratore il file plpbt4win.exe presente nella stessa directory. In FIG 3 sono visibili le operazioni eseguibili. Con "l" ("L" minuscola) si ha l'elenco delle voci del boot menu di Windows e relativo ID. Per eliminare una voce dal menu basta digitare "r" seguito dall'ID (ad es. r 2).
Plop Boot Manager, Installazione all'interno del MBR
FIG 3 - Plop Boot Manager, Installazione all'interno del MBR


Avvio tramite PXE

PXE (Preboot Execution Environment) è un metodo per eseguire il boot del computer utilizzando una connessione di rete ed il supporto di un server. Per avviare il Plop Boot Manager tramite PXE è necessario verificare che la scheda di rete del computer supporti PXE, procurarsi i file di Plop Linux e predisporre un server DHCP e TFTP.

Scaricare il file ploplinux-pxeboot.zip quindi estrarlo in C:\. Verrà creata la cartella c:\tftpboot.
Scaricare e scompattare il file ploplinux-4.3.3-x86_64.zip quindi copiare il contenuto della cartella ploplinux-4.3.3 all'interno della cartella c:\tftpboot\ploplinux-netboot\. A questo punto avremo una struttura come la seguente
c:\tftpboot\
           \ploplinux-netboot\
                          \boot.msg
                          \memtest
                          \menu.c32
                          \spash.png
                          \vesamenu.c32
                          \pxelinux.0
                          \ploplinux\
                                    \bin\
                                    \bin.sqfs
                                    \etc.tgz
                                    \lib.sqfs
                                    \opt\
                                    \ploplinux.version
                                    \pxelinux.cfg\
                                                 \default
                                    \syslinux\
                                             \kernel\
                                                    \bzImage
                                                    \initramfs.gz
                                              \plop\
                                                   \plpbt.bin
                                                   \plpinstc.com



Per quanto riguarda il server TFTP e DHCP è possibile utilizzare TFTP64 installandolo su un PC della stessa rete.
Una volta avviato abilitare il server DHCP e TFTP
TFTPD64, Abilitazione server DHCP e TFTP
FIG 4 - TFTPD64, Abilitazione server DHCP e TFTP

Nella scheda relativa al server TFTP impostare come Base Directory il percorso c:\tftpboot e abilitare Option negotiation e Translate Unix file names.

TFTPD64, TFTP server
FIG 5 - TFTPD64, TFTP server

Nella scheda DHCP inserire 10.0.0.100 nella casella IP pool start address e in Boot File inserire \ploplinux-netboot\pxelinux.0
TFTPD64, DHCP server
FIG 6 - TFTPD64, DHCP server





Plop Boot Manager avvio

All'avvio di Plop Boot Manager viene visualizzata una schermata analoga a quella mostrata di FIG 7 che permette di selezionare da quale dispositivo eseguire il boot.
Plop Boot Manager, menu di avvio
FIG 7 - Plop Boot Manager, menu di avvio






domenica 11 febbraio 2018

Windows 10: Nascondere l'indirizzo email nella schermata di accesso

Windows 10 ha introdotto un nuovo sistema di autenticazione che consente di autenticarsi con un account Microsoft anziché con un account locale.
Chi ha scelto di utilizzare l'autenticazione attraverso un account Microsoft dovrà digitare il proprio indirizzo email al posto del nome utente in fase di logon. Chiunque si trovi nei pressi del computer potrà sbirciare l'indirizzo email dell'utente che viene visualizzato in chiaro. Proprio per tale motivo, già da Windows Anniversary Update, Microsoft ha introdotto un'opzione per evitare la visualizzazione di informazioni personali nella schermata di accesso. Per disattivare tale opzione e non visualizzare le informazioni personali nella schermata di login si può procedere manualmente:
  • Dal menu Start selezionare Impostazioni (oppure premere la combinazione di tasti WIN+I);
  • Eseguire un doppio click con il tasto sinistro del mouse, sulla voce Account;
    Wndows 10, Impostazioni - Account
    FIG 1 - Wndows 10, Impostazioni - Account
  • Selezionare, sul lato sinistro della finestra, Opzioni di accesso
  • Scorrere l'elenco presente nella parte destra della finestra. Nella sezione Privacy disattivare l'opzione Mostra i dettagli dell’account (ad esempio, l’indirizzo e-mail) nella schermata di accesso.

    Windows 10, Opzioni di accesso - Mostra i dettagli dell'account nella schermata di accesso
    FIG 2 - Windows 10, Opzioni di accesso - Mostra i dettagli dell'account nella schermata di accesso




martedì 30 gennaio 2018

Kali Linux: Installazione Fonts Microsoft Core

Chi lavora in ambiente Linux spesso si scontra con documenti e/o pagine web che utilizzano caratteri diffusissimi in ambiente Windows ma che non sono installati sul proprio sistema operativo.
Per rimediare a tale inconveniente è possibile installare il pacchetto di font Microsoft Core che contiene, fra gli altri, i font Arial, Arial BlackComic Sans MS, Courier New, Times New Roman e Verdana.

Innanzitutto è necessario aggiornare l'elenco dei pacchetti eseguendo il seguente comando dalla finestra terminale:
sudo apt-get update

Per installare il pacchetto dei font, sempre dalla finestra terminale, eseguire il comando
sudo apt-get install ttf-mscorefonts-installer


Kali Linux, Fonts Microsoft Core
FIG 1 - Kali Linux, Fonts Microsoft Core

lunedì 29 gennaio 2018

Windows 10: Personalizzare le impostazioni tramite uno script PowerShell

Windows 10 integra numerose funzioni/impostazioni molte delle quali nascoste e difficili da individuare. Chi ha la necessità di personalizzare spesso una nuova installazione di Windows 10, di Windows Server 2016 oppure intende applicare la stessa configurazione a più computer può trovare utile Windows 10 Initial Setup Script.
Una volta scaricato lo script Win10.ps1 è possibile aprirlo e modificarlo con un qualsiasi editor di testo, tuttavia è consigliabile utilizzare editor dotati di evidenziazione della sintassi come Notepad++, Sublime Text, Emacs , ecc.


Windows 10 Initial Setup Script, Editing del file Win10.ps1
FIG 1 - Windows 10 Initial Setup Script, Editing del file Win10.ps1

Si tratta di uno script PowerShell ben strutturato contenente un lungo elenco di impostazioni, organizzate a coppie, con effetto opposto: nella colonna di sinistra sono presenti i comandi che disabilitano una funzionalità di Windows mentre a destra ci sono i comandi opposti che permettono di riabilitare la funzione disattivata in precedenza (questi ultimi sono per default disabilitati in quanto preceduti dal simbolo # che trasforma in un commento tutto quello che segue sulla stessa riga).
I comandi che non sono commenti, ovvero che non presentano il simbolo # iniziale, verranno applicati a Windows all'esecuzione dello script. 
Lo script può essere avviato, utilizzando un account con privilegi elevati, semplicemente cliccando sul file Win10.ps1 con il tasto destro del mouse e selezionando Esegui con Powershell dal menu contestuale. 


Esegui con PowerShell
FIG 2 - Esegui con PowerShell

Lo script può essere lanciato anche da riga di comando permettendo di specificare le funzioni da eseguire.
Ad es. se si intende disabilitare la telemetria e abilitare il firewall di Windows 10 è possibile lanciare il seguente comando
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 DisableTelemetry EnableFirewall

In alternativa è possibile passare allo script un file di testo contenente l'elenco delle funzioni da eseguire
Ad es.
powershell.exe -NoProfile -ExecutionPolicy Bypass -File Win10.ps1 -preset preset.txt
Il contenuto del file preset.txt avrà un aspetto simile al seguente
#Privacy Settings
DisableTelemetry
DisableWebSearch

#Service Tweaks
EnableFirewall
DisableAutoplay

Al termine dell'esecuzione verrà richiesto di premere un tasto per procedere al riavvio del sistema.