giovedì 27 gennaio 2022

PowerShell: Visualizzare l'ultimo utente connesso

Il nome dell'ultimo utente connesso al sistema viene memorizzato all'interno del valore LastLoggedOnUser presente nella chiave di registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI

Per visualizzare l'ultimo utente connesso al sistema utilizzando PowerShell possiamo utilizzare il cmdlet Get-ItemProperty:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" | Select-Object -Property LastLo*, Idle*

LogonUI, ultimo utente connesso
FIG 1 - LogonUI, ultimo utente connesso

Allo stesso modo, per visualizzare tutti i profili utente memorizzati nel registro di Windows:
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\profilelist\*' | Select-Object -Property ProfileImagePath, FullProfile






mercoledì 26 gennaio 2022

Kali Linux: Installare PowerShell

Per installare PowerShell in Kali Linux eseguire, dalla finestra Terminale, i seguenti comandi
sudo apt update
sudo apt -y install powershell
Kali Linux, installare PowerShell
FIG 1 - Kali Linux, installare PowerShell

Al termine dell'installazione del pacchetto basterà eseguire pwsh per avviare PowerShell e trovarsi dinanzi al familiare prompt "PS".


Disinstallazione

Per disinstallare PowerShell basta eseguire dalla finestra Terminale il comando
sudo apt-get remove powershell
Per rimuovere PowerShell e le sue dipendenze il comando da eseguire è
sudo apt-get -y autoremove powershell





martedì 25 gennaio 2022

PowerShell: Identificare l'account amministratore locale

Nei sistemi Windows sono presenti alcuni account predefiniti come l'account locale "Administrator" che dispone di privilegi elevati. Il nome dell'account relativo all'amministratore locale può variare da regione a regione pertanto, per identificarlo indipendentemente dal suo nome, è opportuno ricercarlo tramite l'identificatore di sicurezza (SID). Il SID dell'account amministratore locale inizia sempre con 'S-1-5-' e usa il RID '-500'. Per ricercalo tramite PowerShell è possibile utilizzare il seguente comando
Get-LocalUser | Where-Object Sid -like 'S-1-5-*-500'
Get-LocalUser
FIG 1 - Get-LocalUser







lunedì 24 gennaio 2022

PowerShell: Rinominare l'account locale Administrator

Per ragioni di sicurezza, potremmo considerare di rinominare l'account Administrator locale incorporato in Windows che, avendo un nome noto e privilegi elevati, può essere oggetto di attenzione da parte di malintenzionati.
Prima di procedere con la rinomina dell'account bisogna chiarire alcuni punti:
  • Una volta rinominato l'account questo continuerà a funzionare ma per utilizzarlo sarà necessario specificare il nuovo nome. 
  • Assicurarsi che non ci siano processi automatici che utilizzino il vecchio nome account, in tal caso sarà necessario aggiornarli con il nuovo nome.
  • Rinominare l'account non cambierà il suo SID. Trattandosi di un SID noto, l'account potrà essere comunque preso di mira da attacchi mirati.
Per modificare il nome dell'account Administrator tramite PowerShell basta eseguire il seguente comando da una finestra PowerShell eseguita come amministratore
Rename-LocalUser -Name "Administrator" -NewName "GLubrano"
sostituendo la stringa passata al parametro -NewName con il nuovo nome che si intende assegnare all'account.

Per verificare se il nome dell'account di amministratore locale è stato modificato, eseguire il comando
Get-Localuser | Where-Object Sid -like 'S-1-5-*-500'

Rename-LocalUser
FIG 1 - Rename-LocalUser



sabato 22 gennaio 2022

Kali Linux: Installare Visual Studio Code

Visual Studio Code è un editor di codice sorgente gratuito sviluppato da Microsoft per i sistemi Windows, Linux e macOS. Combina la semplicità di un editor di codice sorgente con potenti strumenti di sviluppo, come il completamento del codice IntelliSense e il debug. Si tratta di uno strumento molto apprezzato tra gli sviluppatori e in questo breve articolo vedremo come installarlo in ambiente Kali Linux. Per l'installazione utilizzeremo il repository ufficiale APT prima, però, aggiorniamo il repository e installiamo il package indicato di seguito
sudo apt update
sudo apt install curl gpg software-properties-common apt-transport-https
Aggiornamento repository e installazione package
FIG 1 - Aggiornamento repository e installazione package


Importiamo la chiave Microsoft GPG in Linux con il comando
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Il prossimo passo consiste nell'aggiungere il repository APT per Visual Studio Code a Kali Linux
echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
Aggiungere repository per Visual Studio Code
FIG 2 - Aggiungere repository per Visual Studio Code

Infine avviare l'installazione con i comandi
sudo apt update
sudo apt install code
Installazione Visual Studio Code
FIG 3 - Installazione Visual Studio Code

L'installazione non richiede molto tempo ma dipende dalla velocità di connessione ad Internet. Terminata l'installazione eseguire Visual Studio Code con il comando
code
Visual Studio Code per Kali Linux
FIG 4 - Visual Studio Code per Kali Linux








venerdì 21 gennaio 2022

PowerShell: Disabilitare l'account locale Guest

Windows viene fornito con un account locale integrato chiamato "Guest". Dal momento che questo account è usato raramente e può essere utilizzato come vettore di attacco è di default disabilitato nelle recenti distribuzioni di Windows.
 
Poiché il nome dell'account è localizzato e può variare leggermente da regione a regione, per identificare l'account e visualizzarne lo stato è consigliabile usare il suo SID:
Get-LocalUser | Where-Object Sid -like 'S-1-5-*-501' 

Get-Localuser
FIG 1 - Get-LocalUser


Per disattivare l'account utilizzare il cmdlet Disable-LocalUser
Get-LocalUser | Where-Object Sid -like 'S-1-5-*-501' | Disable-LocalUser





giovedì 20 gennaio 2022

PowerShell: Identificare le versioni di .NET Framework installate nel sistema

Il .NET Framework è uno strato software ideato per facilitare lo sviluppo e l'esecuzione dei programmi in ambiente Windows. Il framework è costituito dall'ambiente di esecuzione Common Language Runtime (CLR), che fornisce la gestione della memoria e altri servizi di sistema, e dalla Framework Class Library (FCL) un'ampia libreria di classi utilizzabili dai programmatori e contenenti codice per lo sviluppo di applicazioni. Nel corso degli anni il .NET Framework ha conosciuto numerose revisioni e aggiornamenti. Conoscere le versioni di .NET Framework installate sul PC può essere fondamentale soprattutto in quei casi in cui si utilizza un determinato software .NET che funziona solo con una specifica versione del framework.

Per conoscere tutte le versioni di .NET Framework installate sul sistema basta eseguire il seguente comando PowerShell
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where{ $_.PSChildName -Match'^(?!S)\p{L}'} | Select PSChildName, version

Versioni .NET Framework installate
FIG 1 - Versioni .NET Framework installate