networking

PPP, PPPoE e PPTP: guida ai rischi reali per chi fa pentest

PPP, PPPoE e PPTP: guida ai rischi reali per chi fa pentest

PPP spiegato bene: come funziona Point-to-Point Protocol, differenze tra PAP e CHAP, PPPoE, PPTP, MS-CHAPv2, attacchi reali e impatto nel pentesting moderno.

  • Pubblicato il 2026-03-25
  • Tempo di lettura: 7 min

PPP è il protocollo che ha dominato le connessioni WAN e dial-up per decenni. Capire cos’è PPP e come funziona è ancora rilevante oggi: i suoi derivati PPPoE e PPTP sono presenti in moltissime reti enterprise e ISP, e le vulnerabilità legate a questi protocolli sono tutt’altro che teoriche. Chi fa pentesting su infrastrutture WAN, VPN legacy o reti di accesso non può ignorare PPP e la sua famiglia.


Cos’è PPP #

PPP (Point-to-Point Protocol) è un protocollo di comunicazione definito nell’RFC 1661 del 1994. Opera al livello 2 del modello OSI (Data Link Layer) ed è progettato per gestire connessioni dirette tra due nodi: niente broadcast, niente indirizzi MAC, solo un canale punto a punto tra mittente e destinatario.

Nasce come sostituto di SLIP (Serial Line Internet Protocol), aggiungendo funzionalità essenziali:

  • Autenticazione: supporto a PAP e CHAP
  • Negoziazione delle opzioni: tramite LCP
  • Multiplexing di protocolli: tramite NCP (Network Control Protocol)
  • Rilevamento degli errori: tramite FCS nel frame
  • Compressione e cifratura: opzionali, negoziabili

PPP è stato il protocollo standard per le connessioni dial-up degli anni ‘90 e 2000, ma la sua architettura flessibile lo ha reso la base per protocolli ancora ampiamente usati: PPPoE, PPTP, L2TP, PPPoA.


Come funziona PPP #

Le tre fasi di una connessione PPP #

Una sessione PPP si stabilisce in tre fasi sequenziali:

Fase 1 — Link Establishment (LCP) LCP (Link Control Protocol) negozia i parametri della connessione: MTU, compressione, autenticazione richiesta, multilink. Solo quando LCP ha completato la negoziazione si passa alla fase successiva.

Fase 2 — Authentication Se il link richiede autenticazione, viene eseguita in questa fase con PAP o CHAP.

Fase 3 — Network Layer Protocol (NCP) NCP configura i protocolli di rete che useranno il link. Per IPv4 si usa IPCP (IP Control Protocol), che negozia gli indirizzi IP delle due estremità.

LCP è il cuore di PPP. Gestisce l’intera vita del link:

  • Configure-Request / Configure-Ack: negoziazione delle opzioni
  • Terminate-Request / Terminate-Ack: chiusura ordinata del link
  • Echo-Request / Echo-Reply: keepalive per verificare che il link sia attivo
  • Code-Reject / Protocol-Reject: gestione di messaggi non riconosciuti

I meccanismi di autenticazione PPP #

PAP (Password Authentication Protocol) PAP è il meccanismo più semplice: il client invia username e password in chiaro in un PAP-Request. Il server verifica e risponde con PAP-Ack o PAP-Nak.

Problema fondamentale: le credenziali viaggiano in chiaro. Chiunque possa sniffare il link vede le credenziali.

CHAP (Challenge Handshake Authentication Protocol) CHAP è significativamente più sicuro. Non trasmette mai la password:

  1. Il server invia un Challenge (valore casuale)
  2. Il client calcola MD5(id + password + challenge) e invia il risultato
  3. Il server fa lo stesso calcolo e confronta
  4. Se corrispondono: autenticazione riuscita

La password non transita mai sul link. Tuttavia CHAP usa MD5, considerato debole per standard moderni, e rimane vulnerabile a offline brute force se si cattura il challenge e la risposta.

MS-CHAP e MS-CHAPv2 Versioni Microsoft di CHAP, usate principalmente in PPTP e alcuni L2TP. MS-CHAPv2 è stato dimostrato completamente compromesso: con una singola cattura di handshake è possibile recuperare la password tramite attacco dizionario o servizi online come cloudcracker.

Struttura del frame PPP #

CampoDimensioneDescrizione
Flag1 byte0x7E — delimitatore di frame
Address1 byte0xFF — broadcast (sempre uguale)
Control1 byte0x03 — unnumbered frame
Protocol2 byteTipo di payload (0xC021=LCP, 0x0021=IPv4)
InformationvariabilePayload del protocollo
FCS2-4 byteChecksum
Flag1 byte0x7E — fine frame

Dove viene usato PPP nelle reti #

PPP puro su seriale è praticamente scomparso, ma i suoi derivati sono ovunque:

  • PPPoE (PPP over Ethernet): usato dalla stragrande maggioranza degli ISP italiani ed europei per le connessioni ADSL/FTTC/FTTH. Ogni router ADSL domestico usa PPPoE per connettersi al provider.
  • PPTP (Point-to-Point Tunneling Protocol): VPN legacy basata su PPP. Ancora presente in moltissime reti aziendali, nonostante sia considerata insicura da anni.
  • L2TP (Layer 2 Tunneling Protocol): evoluzione di PPTP, spesso combinato con IPSec (L2TP/IPSec). Usato in VPN enterprise e accesso remoto.
  • PPPoA (PPP over ATM): usato in alcuni ambienti ADSL legacy.
  • Reti WAN legacy: connessioni seriali tra sede centrale e filiali, ancora presenti in ambienti industriali e bancari datati.

Perché PPP è importante in cybersecurity #

PPP è rilevante per la sicurezza principalmente attraverso i suoi derivati. Chi fa pentesting su:

  • Infrastrutture ISP: PPPoE è il protocollo di accesso. Capirne il funzionamento è fondamentale per analizzare la sicurezza delle reti di accesso.
  • VPN legacy (PPTP): PPTP è basato su PPP con MS-CHAPv2. È compromesso e qualsiasi azienda che lo usa ancora ha un problema di sicurezza critico.
  • Reti WAN enterprise: connessioni WAN legacy basate su PPP possono essere un vettore di accesso se mal configurate.
  • Ambienti di accesso remoto: capire come funziona l’autenticazione PPP aiuta ad analizzare i meccanismi di autenticazione delle VPN.

PPP in un engagement di pentesting #

Reconnaissance su connessioni PPPoE #

In una rete con connessione PPPoE (praticamente ogni rete con router ADSL/FTTC), è possibile catturare il processo di discovery e autenticazione PPPoE:

bash
tcpdump -i eth0 -nn ether proto 0x8863 or ether proto 0x8864
  • 0x8863 — PPPoE Discovery
  • 0x8864 — PPPoE Session

Il processo PPPoE Discovery avviene in broadcast e rivela l’Access Concentrator (AC) del provider: nome, servizio, e a volte versione del sistema.

Cattura e analisi di handshake PAP #

Se in una rete trovi connessioni PPP con PAP, le credenziali viaggiano in chiaro. Con Wireshark:

text
ppp.protocol == 0xc023

Filtro per pacchetti PAP. Le credenziali sono visibili nel campo payload.

Attacco a MS-CHAPv2 (PPTP) #

MS-CHAPv2 è il punto debole di PPTP. Il processo di attacco:

  1. Cattura il challenge e la risposta MS-CHAPv2 durante un handshake VPN
  2. Estrai i valori con tool come asleap o chapcrack
  3. Invia al servizio online o a hashcat per il crack

Con Wireshark, cattura l’handshake PPTP:

text
ppp.protocol == 0x8021 || pptp

Con hashcat, attacco dizionario su hash MS-CHAPv2:

bash
hashcat -m 5500 hash.txt wordlist.txt

Enumeration di sessioni PPPoE attive #

In un segmento dove è presente un concentratore PPPoE, inviare un PPPoE Active Discovery Initiation (PADI) rivela i concentratori presenti e i servizi disponibili:

bash
pppoe-discovery -I eth0

Output: nome AC, servizio, MAC address del concentratore.

VPN PPTP: attack surface completa #

Se trovi un server PPTP durante un engagement, la superficie di attacco è ampia:

  • MS-CHAPv2 crack: come descritto sopra
  • Bit-flipping attack su MPPE: la cifratura RC4 usata da PPTP è vulnerabile
  • Credenziali di default: molti server PPTP legacy hanno credenziali di accesso non cambiate

Integra con Nmap per identificare porte PPTP (TCP 1723) e GRE protocol nell’infrastruttura target.


Attacchi e abusi possibili su PPP #

PAP Credential Sniffing #

Se una connessione PPP usa PAP come autenticazione, le credenziali viaggiano in chiaro nel campo Information del frame PPP. Chiunque possa catturare il traffico sul link ottiene username e password immediatamente.

MS-CHAPv2 Offline Attack #

Come già descritto, MS-CHAPv2 è compromesso. L’attacco è offline: cattura il challenge e la risposta, poi applica brute force o dizionario. Non serve rimanere connesso al target.

PPPoE Rogue Access Concentrator #

In un segmento con client PPPoE, un attaccante può rispondere ai PADI dei client impersonando il concentratore legittimo. I client si connettono al concentratore falso, rivelando le proprie credenziali (PAP in chiaro o CHAP hashato).

Tool: pppoe-server configurato come rogue AC, combinato con un setup di intercettazione.

LCP Negotiation DoS #

Inviare pacchetti LCP malformati o inondare con Terminate-Request può chiudere forzatamente sessioni PPP attive, causando interruzioni del servizio su connessioni WAN o VPN.

PPTP Downgrade Attack #

Alcuni client PPTP possono essere forzati a usare autenticazione meno sicura (PAP invece di MS-CHAPv2) durante la negoziazione LCP, se il server accetta più metodi e l’attaccante riesce a intercettare e modificare la negoziazione.


Esempi pratici con PPP in laboratorio #

Analisi completa di una sessione PPPoE con Wireshark #

Cattura una sessione PPPoE dall’inizio:

bash
tcpdump -i eth0 -w pppoe_session.pcap

In Wireshark, segui il flusso filtrando per le quattro fasi del discovery:

text
pppoed  # Discovery frames

Poi per la sessione dati:

text
pppoes  # Session frames

Verifica del tipo di autenticazione su un server PPTP #

Con nmap e il suo engine di scripting:

bash
nmap -p 1723 --script pptp-version <target>

Restituisce la versione del server PPTP e le opzioni di autenticazione supportate.

Dump di credenziali PAP con tcpdump #

bash
tcpdump -i eth0 -A -nn 'ppp' | grep -A2 "PAP"

Detection e difesa PPP #

Un difensore che monitora connessioni PPP può rilevare:

  • Autenticazione PAP in uso: credenziali in chiaro, da eliminare immediatamente
  • Handshake MS-CHAPv2 catturati: anche se non sono immediatamente leggibili, la loro cattura è il primo passo per un attacco offline
  • PADI broadcast anomali: possibile rogue AC in ascolto
  • LCP Terminate-Request non attesi: possibile DoS o teardown forzato di sessioni
  • Connessioni PPTP verso IP non autorizzati: possibile uso non autorizzato di VPN legacy

Hardening e mitigazioni PPP #

Eliminare PPTP #

PPTP non è più sicuro. Se la tua infrastruttura lo usa ancora, sostituiscilo con IKEv2/IPSec o WireGuard. Non esiste patching che renda PPTP sicuro: il problema è strutturale in MS-CHAPv2 e RC4.

Usare CHAP invece di PAP #

Se devi usare PPP, configura sempre CHAP come meccanismo di autenticazione obbligatorio e rifiuta PAP esplicitamente nella configurazione LCP.

PPPoE: proteggere il concentratore #

Il concentratore PPPoE dovrebbe essere raggiungibile solo dalle porte autorizzate. Considera l’uso di PPPoE Intermediate Agent per aggiungere informazioni di circuit-ID ai frame, facilitando il monitoraggio e riducendo il rischio di rogue AC.

Monitorare le sessioni attive #

Su router e concentratori, abilita il logging di tutte le sessioni PPP: apertura, chiusura, fallimenti di autenticazione. Un picco di autenticazioni fallite può indicare un attacco brute force.

Segmentare le connessioni WAN legacy #

Se hai ancora connessioni PPP seriali legacy, isolarle in segmenti separati con ACL restrittive riduce la superficie esposta. Vedi VLAN e 802.1Q.


Errori comuni su PPP #

“PPTP è sicuro se uso password lunghe” Falso. Il problema di MS-CHAPv2 non è la lunghezza della password: è la struttura dell’algoritmo che permette di ridurre il problema a un singolo DES a 56 bit, cracckabile con risorse moderate.

“PPP non mi riguarda, uso solo reti LAN” PPPoE è il protocollo di accesso di quasi tutti gli ISP in Italia. Se lavori su reti aziendali con connessione ADSL/FTTC, stai usando PPP ogni volta che il router si connette al provider.

“L2TP è sicuro” L2TP da solo non offre cifratura: è solo un tunnel. La sicurezza di L2TP/IPSec dipende interamente da IPSec. L2TP senza IPSec è equivalente a PPP senza cifratura.

“CHAP è sicuro quanto le soluzioni moderne” CHAP usa MD5, considerato debole. MS-CHAPv2 è compromesso. Per autenticazione sicura su VPN, usa protocolli moderni basati su certificati o EAP-TLS.


FAQ su PPP #

Cos’è PPP e dove viene usato oggi? PPP (Point-to-Point Protocol) è un protocollo di livello 2 per connessioni punto a punto. Oggi si trova principalmente nei suoi derivati: PPPoE nelle connessioni ADSL/FTTC degli ISP, PPTP e L2TP nelle VPN legacy enterprise.

Qual è la differenza tra PAP e CHAP in PPP? PAP trasmette le credenziali in chiaro: è insicuro per definizione. CHAP usa un meccanismo challenge-response basato su hash MD5: la password non transita sul link, ma l’hash può essere attaccato offline.

PPTP è ancora sicuro? No. MS-CHAPv2, il meccanismo di autenticazione principale di PPTP, è stato dimostrato completamente compromesso. Qualsiasi implementazione PPTP in produzione rappresenta un rischio di sicurezza critico.

Come funziona PPPoE? PPPoE incapsula sessioni PPP in frame Ethernet. La fase di discovery (PADI, PADO, PADR, PADS) identifica il concentratore di accesso del provider. Poi si stabilisce la sessione PPP standard per l’autenticazione e il trasporto dati.

Qual è l’alternativa moderna a PPTP per le VPN? Le alternative sicure sono IKEv2/IPSec, OpenVPN e WireGuard. WireGuard in particolare offre semplicità di configurazione, performance elevate e una base di codice molto più piccola e auditabile rispetto alle soluzioni legacy.


Conclusione su PPP #

PPP è un protocollo con decenni di storia, ma la sua rilevanza per la sicurezza non è solo storica. PPPoE è attivo in ogni connessione ADSL/FTTC, PPTP è ancora presente in moltissime reti enterprise, e L2TP è alla base di molte soluzioni VPN.

Conoscere PPP significa capire come funziona l’autenticazione a livello 2 nelle connessioni WAN, dove sono i punti deboli dei protocolli derivati, e come sfruttarli in un engagement. MS-CHAPv2 cracckabile, PAP in chiaro, rogue AC su PPPoE: sono vettori reali, non teoria.

Se trovi PPTP in produzione durante un pentest, è quasi sempre una finding critica che porta direttamente a credenziali.

Approfondisci i protocolli e le tecniche correlate:

Riferimento ufficiale: RFC 1661 — The Point-to-Point Protocol


Hai un’infrastruttura WAN o VPN da testare? I nostri penetration test coprono anche protocolli legacy spesso ignorati dalle verifiche standard. Scopri i servizi su hackita.it/servizi.

HackITA è un progetto indipendente. Se lo usi, considera di supportarlo: hackita.it/supporto

#pppoe #ms-chapv2

DIVENTA PARTE DELL’ÉLITE DELL’HACKING ETICO.

Accedi a risorse avanzate, lab esclusivi e strategie usate dai veri professionisti della cybersecurity.

Non sono un robot

Iscrivendoti accetti di ricevere la newsletter di HACKITA. Ti puoi disiscrivere in qualsiasi momento.