<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Il **_Network Basic Input Output System_ (NetBIOS)** è un protocollo software progettato per consentire alle applicazioni, ai PC e ai desktop all'interno di una rete locale (LAN) di interagire con l'hardware di rete e **agevolare la trasmissione di dati attraverso la rete**. L'identificazione e la localizzazione delle applicazioni software che operano in una rete NetBIOS vengono realizzate attraverso i loro nomi NetBIOS, che possono essere lunghi fino a 16 caratteri e spesso sono distinti dal nome del computer. Una sessione NetBIOS tra due applicazioni viene avviata quando un'applicazione (agendo come client) emette un comando per "chiamare" un'altra applicazione (agendo come server) utilizzando **la porta TCP 139**.
Tecnicamente, la porta 139 è indicata come 'NBT su IP', mentre la porta 445 è identificata come 'SMB su IP'. L'acronimo **SMB** sta per 'Server Message Blocks', che è anche conosciuto modernamente come **Common Internet File System (CIFS)**. Come protocollo di rete a livello di applicazione, SMB/CIFS viene principalmente utilizzato per consentire l'accesso condiviso a file, stampanti, porte seriali e facilitare varie forme di comunicazione tra nodi in una rete.
Ad esempio, nel contesto di Windows, si evidenzia che SMB può funzionare direttamente su TCP/IP, eliminando la necessità di NetBIOS su TCP/IP, attraverso l'utilizzo della porta 445. Al contrario, su diversi sistemi, si osserva l'uso della porta 139, indicando che SMB viene eseguito in combinazione con NetBIOS su TCP/IP.
Il protocollo **Server Message Block (SMB)**, che opera in un modello **client-server**, è progettato per regolare l'**accesso ai file**, alle directory e ad altre risorse di rete come stampanti e router. Principalmente utilizzato all'interno della serie di sistemi operativi **Windows**, SMB garantisce la compatibilità all'indietro, consentendo ai dispositivi con versioni più recenti del sistema operativo di Microsoft di interagire senza problemi con quelli che eseguono versioni più vecchie. Inoltre, il progetto **Samba** offre una soluzione software gratuita che consente l'implementazione di SMB su sistemi **Linux** e Unix, facilitando così la comunicazione multi-piattaforma tramite SMB.
Le condivisioni, che rappresentano **parti arbitrarie del file system locale**, possono essere fornite da un server SMB, rendendo la gerarchia visibile a un client in parte **indipendente** dalla struttura effettiva del server. Le **Access Control Lists (ACL)**, che definiscono i **diritti di accesso**, consentono un controllo **dettagliato** sulle autorizzazioni degli utenti, inclusi attributi come **`execute`**, **`read`** e **`full access`**. Queste autorizzazioni possono essere assegnate a singoli utenti o gruppi, in base alle condivisioni, e sono distinte dalle autorizzazioni locali impostate sul server.
L'accesso alla condivisione IPC$ può essere ottenuto tramite una sessione null anonima, consentendo l'interazione con i servizi esposti tramite named pipe. L'utilità `enum4linux` è utile a questo scopo. Utilizzata correttamente, consente di acquisire:
Questa funzionalità è fondamentale per gli amministratori di rete e i professionisti della sicurezza per valutare la postura di sicurezza dei servizi SMB (Server Message Block) in una rete. `enum4linux` fornisce una visione completa dell'ambiente SMB del sistema di destinazione, che è essenziale per identificare potenziali vulnerabilità e garantire che i servizi SMB siano adeguatamente protetti.
Il comando sopra è un esempio di come `enum4linux` potrebbe essere utilizzato per eseguire una enumerazione completa contro un target specificato da `target_ip`.
Se non sai cos'è NTLM o vuoi sapere come funziona e come sfruttarlo, troverai molto interessante questa pagina su **NTLM** dove viene spiegato **come funziona questo protocollo e come puoi trarne vantaggio:**
Per cercare possibili exploit alla versione SMB, è importante sapere quale versione viene utilizzata. Se queste informazioni non appaiono in altri strumenti utilizzati, è possibile:
To search for exploits, you can use various online resources and databases. These platforms provide a collection of known vulnerabilities and associated exploits that can be used during penetration testing or ethical hacking activities. Some popular resources for exploit searching include:
- Exploit-DB: A comprehensive database of exploits and vulnerable software.
- Metasploit Framework: A powerful tool that includes a vast collection of exploits and payloads.
- GitHub: A platform where developers share code, including exploits and proof-of-concept (PoC) scripts.
- NVD (National Vulnerability Database): A U.S. government-funded database that provides information on known vulnerabilities.
When searching for exploits, it is important to consider the target system's version, software, and configuration. This information will help you find the most relevant exploits that can be used to exploit the target's vulnerabilities. Remember to always use exploits responsibly and with proper authorization.
Il seguente contenuto è tratto da un libro di hacking sulle tecniche di hacking. Il seguente contenuto è tratto dal file /hive/hacktricks/network-services-pentesting/pentesting-smb.md. Traduci il testo inglese pertinente in italiano e restituisci la traduzione mantenendo esattamente la stessa sintassi markdown e html. Non tradurre cose come codice, nomi di tecniche di hacking, parole di hacking, nomi di piattaforme cloud/SaaS (come Workspace, aws, gcp...), la parola 'leak', pentesting e tag markdown. Inoltre, non aggiungere nulla di extra oltre alla traduzione e alla sintassi markdown.
Per ottenere informazioni sugli utenti locali di un sistema target utilizzando Metasploit, è possibile utilizzare il modulo `enum_users`. Questo modulo consente di enumerare gli utenti locali e le relative informazioni, come il nome utente, l'ID utente (UID), il gruppo di appartenenza e altro ancora.
Assicurati di impostare l'indirizzo IP del target nel parametro `RHOSTS` e specificare il numero di thread nel parametro `THREADS`. Una volta eseguito il comando `run`, Metasploit inizierà a enumerare gli utenti locali e mostrerà i risultati ottenuti.
È importante notare che per utilizzare questo modulo è necessario disporre delle credenziali valide per accedere al sistema target. Inoltre, è fondamentale utilizzare Metasploit in modo etico e nel rispetto delle leggi applicabili.
È sempre consigliato verificare se è possibile accedere a qualcosa, se non si dispone di credenziali, provare a utilizzare **null****credentials/guest user**.
To connect to a shared folder on a remote machine, you can use the `smbclient` tool. This tool allows you to interact with SMB (Server Message Block) servers and perform various operations.
To connect to a shared folder, use the following command:
Replace `<IP_address>` with the IP address of the remote machine and `<shared_folder_name>` with the name of the shared folder you want to connect to. Additionally, replace `<username>` with a valid username on the remote machine.
Once connected, you can use various commands to interact with the shared folder. For example, you can use the `ls` command to list the contents of the folder:
Potrebbe essere possibile che tu sia limitato nel visualizzare le condivisioni della macchina host e quando provi a elencarle sembra che non ci siano condivisioni a cui connettersi. Pertanto, potrebbe valere la pena provare a connettersi manualmente a una condivisione. Per enumerare manualmente le condivisioni, potresti cercare risposte come NT\_STATUS\_ACCESS\_DENIED e NT\_STATUS\_BAD\_NETWORK\_NAME, quando si utilizza una sessione valida (ad esempio una sessione null o credenziali valide). Queste possono indicare se la condivisione esiste e non hai accesso ad essa o se la condivisione non esiste affatto.
Particolarmente interessanti sono i file chiamati **`Registry.xml`** in quanto **potrebbero contenere password** per gli utenti configurati con **autologon** tramite Group Policy. Oppure i file **`web.config`** in quanto contengono credenziali.
La condivisione **SYSVOL** è **leggibile** da tutti gli utenti autenticati nel dominio. All'interno potresti **trovare** molti script diversi come batch, VBScript e PowerShell.\
Dovresti **controllare** gli script al suo interno poiché potresti **trovare** informazioni sensibili come **password**.
crackmapexec può eseguire comandi **abusando** di uno qualsiasi dei metodi **mmcexec, smbexec, atexec, wmiexec**, essendo **wmiexec** il metodo **predefinito**. Puoi indicare quale opzione preferisci utilizzare con il parametro `--exec-method`:
Entrambe le opzioni creeranno un nuovo servizio (utilizzando _\pipe\svcctl_ tramite SMB) nella macchina vittima e lo utilizzeranno per eseguire qualcosa (psexec caricherà un file eseguibile nella condivisione ADMIN$ e smbexec punterà a cmd.exe/powershell.exe e metterà gli argomenti nel payload --tecnica senza file-).\
Ulteriori informazioni su [**psexec**](../windows-hardening/ntlm/psexec-and-winexec.md) e [**smbexec**](../windows-hardening/ntlm/smbexec.md).\
In **kali** si trova in /usr/share/doc/python3-impacket/examples/
Questo attacco utilizza il toolkit Responder per **catturare le sessioni di autenticazione SMB** in una rete interna e **reindirizzarle** a una **macchina di destinazione**. Se la **sessione di autenticazione ha successo**, verrai automaticamente inserito in una **shell di sistema**.\
[**Maggiori informazioni su questo attacco qui.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
La libreria di Windows URLMon.dll prova automaticamente ad autenticarsi all'host quando una pagina cerca di accedere a un contenuto tramite SMB, ad esempio: `img src="\\10.10.10.10\path\image.jpg"`
Similmente al Trapping SMB, piazzare file maligni su un sistema di destinazione (tramite SMB, ad esempio) può provocare un tentativo di autenticazione SMB, permettendo l'intercettazione dell'hash NetNTLMv2 con uno strumento come Responder. L'hash può poi essere decifrato offline o utilizzato in un [attacco di reindirizzamento SMB](pentesting-smb.md#smb-relay-attack).
While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.
#These are the commands I run in order every time I see an open SMB port
With No Creds
nbtscan {IP}
smbmap -H {IP}
smbmap -H {IP} -u null -p null
smbmap -H {IP} -u guest
smbclient -N -L //{IP}
smbclient -N //{IP}/ --option="client min protocol"=LANMAN1
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).