Pass the hash Giacomo Lanzi

Pass the hash: come guadagnare accesso senza la password

Tempo di lettura stimato: 6 minuti

Da quando internet è diventato molto diffuso, sono stati fatti incredibili passi avanti sulla consapevolezza dell’uso delle password. Ormai tutti conoscono quali sono le best practice per impostare una password (evitare le password standard, usare lettere e numeri, evitare le date di nascita, etc). Tuttavia, non c’è tanto da stare tranquilli, perché gli hacker hanno un altro trucco che potrebbe mettere a rischio i vostri account: l’attacco pass the hash.

Generalmente gli attacchi alle password possono essere mitigati applicando password forti, eliminando le impostazioni predefinite dei fornitori e implementando una ragionevole policy di sostituzione ciclica delle password. Gli attacchi alle password, o meglio alle credenziali, sono ancora molto popolari, in realtà. Uno di questi attacchi è il cosiddetto pass the hash o PtH.

Questi attacchi sono visti da alcuni come un problema dei vecchi sistemi Windows. Un po’ è vero, ma sono comunque una minaccia. Infatti, il Pass the Hash è ancora soggetto di molto materiale recuperabile con una semplice ricerca Google, sia per capire come difendersi, sia per imparare ad attaccare.

pass the hash password

Gli hash

Prima di capire cosa sia l’attacco Pass the Hash, è meglio definire in modo chiaro cosa sia un Hash.

I ricercatori in campo di sicurezza sanno fin dagli albori dell’informatica moderna che memorizzare le password in chiaro è una pessima pratica di sicurezza. Per questo, hanno avuto l’idea di passare la stringa di testo semplice attraverso una speciale funzione di crittografia a 1 via per produrre un hash. Un hash è un codice matematico di una lunghezza prestabilita che deriva e rappresenta univocamente la password, ma non può essere invertito matematicamente o rivelare quale sia la password di partenza.

Si tratta, nella pratica, di una stringa di caratteri alfanumerici generata partendo dalla password.

Il punto chiave è che in entrambi i sistemi Windows e Linux la password hash viene memorizzata al posto di quella leggibile. Se ci si pensa un po’, l’hash agisce come un proxy per l’identità: se puoi dimostrare di averlo, è come un biglietto d’ingresso.

In Windows, il protocollo di autenticazione NTLM prevede lo scambio di messaggi per confermare che gli utenti abbiano l’hash senza effettivamente inviarlo nella comunicazione. Questa tecnica di autenticazione è al centro di come Active Directory (cuore del sistema Windows Server), supporta i login remoti all’interno di un dominio ed è anche usata per altri servizi di Windows, in particolare l’accesso remoto ai file.

Pass the Hash

Il sistema operativo stocca gli hash nella memoria per implementare il Single Sign On o SSO, che è una caratteristica essenziale degli ambienti aziendali Windows. Fin qui, tutto bene, sembrerebbe.

Per esempio, su un portatile l’utente accede inizialmente con la password, Windows ne fa un hash e lo memorizza in modo che quando, per esempio, si acceda a una directory remota o si usano altri servizi in cui c’è bisogno di provare l’identità, non è necessario inserire nuovamente la password. Windows usa l’hash memorizzato.

Questa comportamento è sufficiente per gli hacker. Attraverso l’uso di RAM scrapers usati sui dispositivi, gli hacker possono sbirciare nella memoria RAM e recuperare gli hash. Non sorprende che ci siano kit di strumenti sulla rete che permettono agli hacker di rubare le credenziali dalla memoria e accedere come quell’utente.

Questo è uno dei punti deboli del sistema SSO. Gli hacker non devono craccare gli hash (cercare cioè di decifrarli), ma semplicemente riutilizzarli o passarli ad un server di autenticazione, da cui il nome pass the hash.

pass the hash login

Pass the Hash sfrutta una caratteristica non un bug

Il presupposto di questo attacco è che l’hacker guadagna i permessi da amministratore per la macchina di un primo utente. Chiunque del settore vi dirà che non è necessariamente difficile da realizzare.

In un tipico exploit, l’hacker prenderà alcuni hash, accederà ad altri server e continuerà il processo di accumulo di credenziali. Se riesce a fare jackpot, ossia arrivare a un controller di dominio o un server SQL, potrebbe essere in grado di ottenere gli hash di tutti gli utenti nel sistema.

Sfortunatamente, pass the hash è una caratteristica di Windows, non un bug! L’autenticazione NTLM sta effettivamente usando l’hash per implementare il protocollo SSO, risparmiando all’utente la fatica di inserire la password. Gli hacker stanno solo sfruttando questa caratteristica per i loro scopi.

Per non essere troppo duro con i sistemi Windows, bisogna dire che pass the hash è anche un problema nei sistemi Linux che implementano il protocollo di comunicazione Kerboros, dove si ha un equivalente attacco Pass the Ticket o PtT.

Ecco la cosa più importante da tenere a mente: non si può prevenire l’attacco Pass the Hash, si può solo mitigare o ridurre notevolmente la possibilità che questo attacco si verifichi.

Pass the hash

Prevenire l’exploit

Ad oggi, questo tipo di attacco è usato dai peggiori software di ransomware.

L’attacco avverrebbe in questo modo: una volta che il ransomware colpisce, acquisisce i privilegi di amministratore e, oltre a cifrare tutti i dati del disco, utilizza gli hash trovati per compiere dei lateral movement. Ottenuto accesso a un’altra macchina della rete, procede a cifrare i dati presenti su di essa, diffondendosi rapidamente in una rete.

L’unico modo di azzerare le possibilità di attacco pass the hash, sarebbe quello di non utilizzare il sistema Single Sign-On per l’autenticazione. In questo caso gli hash non ci sarebbe del tutto e non si potrebbero sfruttare per l’attacco. Sfortunatamente non è semplice eliminare un sistema così comodo che rende la gestione degli accessi così semplice e comoda per gli utenti.

La soluzione di SOD

Un altro metodo di mitigazione, è quello di implementare nella rete sistemi SIEM e UEBA, ed impostare un controllo della rete centralizzato con un SOC.

Grazie al servizio SOC as a Service offerto da SOD, infatti, la rete viene monitorata e controllata da un’intelligenza artificiale che segnala ogni possibile comportamento sospetto. Il lateral movement è così immediatamente rilevato e bloccato, così come dubbie richieste di accesso a computer della rete aziendale.

La tecnologia avanza e si implementano sempre nuove soluzioni per la difesa, ma allo stesso modo gli attaccanti scoprono nuovi modi di sfruttare le vulnerabilità.

Per abbassare di molto il rischio di perdita di dati o accessi fraudolenti, bisogna restare sempre al passo con i tempi.

Se sei interessato a sapere come il nostro SOCaaS poterebbe aiutare la tua azienda, non esitare a contattarci, saremo lieti di rispondere a ogni tuo dubbio.

Useful links:

Condividi


RSS

Piu’ articoli…

Categorie …

Tags

RSS Feed sconosciuto

RSS Feed sconosciuto

RSS Full Disclosure

  • MitM attack against OpenSSH's VerifyHostKeyDNS-enabled client Febbraio 21, 2025
    Posted by Qualys Security Advisory via Fulldisclosure on Feb 20Qualys Security Advisory CVE-2025-26465: MitM attack against OpenSSH's VerifyHostKeyDNS-enabled client CVE-2025-26466: DoS attack against OpenSSH's client and server ======================================================================== Contents ======================================================================== Summary Background Experiments Results MitM attack against OpenSSH's VerifyHostKeyDNS-enabled client DoS...
  • Self Stored XSS - acp2sev7.2.2 Febbraio 21, 2025
    Posted by Andrey Stoykov on Feb 20# Exploit Title: Self Stored XSS - acp2sev7.2.2 # Date: 02/2025 # Exploit Author: Andrey Stoykov # Version: 7.2.2 # Tested on: Ubuntu 22.04 # Blog: https://msecureltd.blogspot.com/2025/02/friday-fun-pentest-series-19-self.html Self Stored XSS #1: Steps to Reproduce: 1. Visit "http://192.168.58.168/acp2se/mul/muladmin.php" and login with "admin" / "adminpass" 2. In the field "Put the […]
  • Python's official documentation contains textbook example of insecure code (XSS) Febbraio 21, 2025
    Posted by Georgi Guninski on Feb 20Python's official documentation contains textbook example of insecure code (XSS) Date: 2025-02-18 Author: Georgi Guninski === form = cgi.FieldStorage() if "name" not in form or "addr" not in form: print("Error") print("Please fill in the name and addr fields.") return print("name:", form["name"].value) print("addr:",...
  • Re: Netgear Router Administrative Web Interface Lacks Transport Encryption By Default Febbraio 18, 2025
    Posted by Gynvael Coldwind on Feb 17Hi, This isn't really a problem a vendor can solve in firmware (apart from offering configuration via cloud, which has its own issues). Even if they would enable TLS/SSL by default, it would just give one a false sense of security, since: - the certificates would be invalid (public […]
  • Monero 18.3.4 zero-day DoS vulnerability has been dropped publicly on social network. Febbraio 16, 2025
    Posted by upper.underflow via Fulldisclosure on Feb 16Hello, About an hour ago, a group appearing to be named WyRCV2 posted a note on the nostr social network, which can be found at the following link: https://primal.net/e/note1vzh0mj9rcxax9cgcdapupyxeehjprd68gd9kk9wrv939m8knulrs4780x7 Save, share, use. The paste link includes a list of nodes that the attacker has instructed to target, along […]
  • Netgear Router Administrative Web Interface Lacks Transport Encryption By Default Febbraio 16, 2025
    Posted by Ryan Delaney via Fulldisclosure on Feb 16
  • [CVE-2024-54756] GZDoom <= 4.13.1 Arbitrary Code Execution via Malicious ZScript Febbraio 16, 2025
    Posted by Gabriel Valachi via Fulldisclosure on Feb 15In GZDoom 4.13.1 and below, there is a vulnerability involving array sizes in ZScript, the game engine&apos;s primary scripting language. It is possible to dynamically allocate an array of 1073741823 dwords, permitting access to the rest of the heap from the start of the array and causing […]
  • Re: Text injection on https://www.google.com/sorry/index via ?q parameter (no XSS) Febbraio 16, 2025
    Posted by David Fifield on Feb 15Today at about 2025-02-13 19:00 I noticed the "≠" is back, but now the type 0x12 payload of the ?q query parameter gets formatted into the string representation of an IP address, rather than being copied almost verbatim into the page. If the payload length is 4 bytes, it […]
  • SEC Consult SA-20250211-0 :: Multiple vulnerabilities in Wattsense Bridge Febbraio 13, 2025
    Posted by SEC Consult Vulnerability Lab via Fulldisclosure on Feb 12SEC Consult Vulnerability Lab Security Advisory < 20250211-0 > ======================================================================= title: Multiple vulnerabilities product: Wattsense - Wattsense Bridge vulnerable version: Wattsense Bridge * Hardware Revision: WSG-EU-SC-14-00, 20230801 * Firmware Revision: Wattsense (Wattsense minimal)...
  • APPLE-SA-02-10-2025-2 iPadOS 17.7.5 Febbraio 11, 2025
    Posted by Apple Product Security via Fulldisclosure on Feb 10APPLE-SA-02-10-2025-2 iPadOS 17.7.5 iPadOS 17.7.5 addresses the following issues. Information about the security content is also available at https://support.apple.com/122173. Apple maintains a Security Releases page at https://support.apple.com/100100 which lists recent software updates with security advisories. Accessibility Available for: iPad Pro 12.9-inch 2nd generation, iPad Pro 10.5-inch, […]

Customers

Newsletter

{subscription_form_2}