
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Novembre 2002 ml@sikurezza.org Soggetto: Soluzioni VPN + pptp Mittente: scai Data: 8 Nov 2002 18:03:59 -0000
visto che e' stato risollevata la "questione pptp" ne approfitto per
ri/postare il pistolotto che avevo compilato (e postato qua) il 28 feb 2002.
Lo ri/posto anche perche ho aggiunto il bug windoziano rilevato di recente
...e poi anche perche la domanda che mi (vi) pongo e' sempre valida...
- cut - cut - cut - cut -
ieri mi sono (ri)messo a giocherellare col PPTP, nella fattispecie VPN
w2000<-->w98 w2000<--> linux
Ora, perche usarlo, prima di tutto?
1) perche esiste su tutta la suite windoziana di default (e nella
fattispecie sulle piattaforme piu attualmente presenti... w2000, NT e w98)
2)perche e' semplice da spiegare/creare/usare per utonti/clienti
3) una volta capito come impostare il chap-secrets, anche su linux e' molto
facile da gestire
La voce "perche non usarlo" e' alquanto ampia, ma forse, ed e' su questo che
volevo ragionare su, in pratica e' esagerata...
Riassumo alcune cosine uscite nel tempo..
(1)- nel '98 Bruce Schneier e Mudge hanno fatto uscire un paper dove
descrivevano numerose vulnerabilita del PPTP di micro$oft..
http://www.counterpane.com/pptp-paper.html al quale TANTI si sono riferiti
per dire "PPTP e' buggato"..
(2) nel '99 hanno fatto un 2' paper : www.counterpane.com/pptpv2.pdf , dove
venivano ridimensionate di molto le preoccupazioni sulla debolezza dell
implementazione anche se "However, the revised protocol is still vulnerable
to offline password-guessing attacks from hacker tools such as L0phtcrack"
(3) i phenolit (se non ricordo male il nome) hanno scritto un paper su DoS
relativi al GRE
(4) recentemente i team-teso hanno fatto uscire un paper 'chap.pdf' dove
descrivevano debolezze dell auth via CHAP
[ riportatemi altri dox _rilevanti_ se mancano ... :) ]
Ora, detta cosi sembra che il PPTP sia uno schifo totale, (MS o meno)... in
realta' io aggiungerei un po di commenti...
Sull (1) : 1' cosa: il paper era relativo a debolezze implementative di MS
e non del proto (o dei proto ,meglio) in se...
2' il paper e' del 1998. e' ovvio (?) che MS ha fixato
tutti i prob relativi... molti citano sempre questo paper ,ma mi pare ormai
davvero outdated. Tra l'altro riguardava si GRE/MPPE 40bit , ma MS-CHAPv1
(da molto outdated) e le LAN MANAGER pw (notoriamente un buco totoale)
Sul (2) : 1' mudge & c confermano che molte debolezze implementative sono
state fixate , MS ha messo MS-CHAPv2 che non usa piu il Lan Manager etc...
rimane cmq la possibilita' di bruteforzare le pw... il challange/response
impiegato da MS-CHAPv2 e' piu debole di quanto non dovrebbe , e uno che
possa sniffare la VPN puo tentare un attacco bruteforce / a dizionario...
Inoltre le chiavi usate dal MPPE sono derivate dalle credenziali negoziate
dal MS-CHAP...
Insomma ,posto che uno possa sniffare (compresa la negoziazione, mi pare di
capire) ,l'implementazione non e' molto resistente, e con capacita'
computazionale e dizionari/bruteforce si puo decrittare (almeno in teoria...
risulta un qualche tool che lo faccia 'live' ??)
Sul (4) : e' alquanto interessante e insidioso... la descrizione riporta
"Weaknesses in the CHAP protocol as used within PPP and PPTP. Allows
authentication in PPTP networks without knowing valid login/password
combinations. This authentication scheme is widely used at universities
(WLAN networks). A link to a special pppd which is able to authenticate
without valid /etc/ppp/chap-secrets is included". Ci sono due dubbi
fondamentalmente che mi sovvengono :
4.1) descrive unicamente il CHAP , MS-CHAPv2 quanto differisce nelle
feature e nell implementazione? non ho avuto tempo di confrontarli... se
qualcuno ha da commentare
4.2) il core del paper, sull attacco, riporta :
"Now you know why we use IP. It is trivial to send a spoofed challenge to
the client which appears to originate from the original server. The client
computes the response and sends it to the server.
Two things happen then. First we sniff the response and use it to
authenticate ourself, second the server also obtains the challenge from the
legit client which he just answers with a success packet as required by
the RFC"
Ora, anche se la gravita' e' ancora maggiore di cio che veniva riportato nel
'99, il punto e' sempre che uno deve essere root sul tuo segmento di rete,
per spoofare e sniffare le risposte...
E forse se uno e' gia root su una tua macchina, il fatto che si metta li ad
autenticarsi sulla VPN e' l'ultimo dei problemi.... :)
Final rant
- Nessuno di questi paper si rifa' a w2000 (che si suppone non abbila le
debolezze implementative del '98 e del '99 trovate su NT)
- il fatto di venire a capo dei dati o di autenticarsi sulla VPN implicano
che tu sia root sul segmento di rete della victim per poter sniffare (e
spoofare)
- Se il (4) e' valido anche per MS-CHAPv2 e se il (2) e' ancora valido per
w2000, beh... effettivamente non si puo considerare granche' questa
implementazione... ANCHE SE implicano cmq che ci sia gia un attacker che
sniffa (quindi forse i buchi sono altrove ;))
In conclusione... lo sconsigliereste nel MODO PIU ASSOLUTO il PPTP o ,
posto che e' facile da gestire per tutti i windozari e se non si hanno
troppe pretese di sicurezza militare, lo fareste usare? :)
PS: salvo che in tempi remoti (1998) non mi pare che sia veicolo di
crash/DoS della macchina il pptp-server di w2000..
*AGGIUNTA di nov'2002:
A cura di sh@phion.com il 26oct 2002 e' stato rilasciato un advisory dal
preoccupante titolo "Microsoft PPTP Server and Client remote vulnerability
" ( leggibile per es via
http://archives.neohapsis.com/archives/bugtraq/2002-09/0313.html ).
Con conseguente bulletin M$
http://www.microsoft.com/technet/security/bulletin/ms02-063.asp.
In sostanza si evince che piattaforme w2000 e XP (sia wks che server) sono
crashabili (il bulletin di m$ sembra mitigare un po il problema... dal
advisory e il resto si evince che crasha proprio l'OS non il servizio, visto
che va a sovrascrivere strutture del kernel)
se viene forgiato un particolare pacchetto PPTP.
Se non ho capito male i windoze "client" (w95/98/me) non sono affetti dalla
rogna.
Una sessione pptp trasporta sia i dati propri di una certa sessione sia
informazioni di controllo relative all'instaurazione e mantenimento di
questa sessione.
Le doc dicono che pacchetti pptp contenenti info di controllo, forgiati
appositamente, possono far crashare il sistema
M$ (e phion.com) dice che non e' riuscita ad eseguire codice via stack/heap
ma solo a corrompere le strutture del kernel..
La cosa e' ovviamente seria perche la tcp/1723 tipicamente deve rimanere in
ascolto per accettare connesioni entranti... (e anche un client, una volta
che inizia a negoziare una sessione pptp avra' la 1723 aperta.. )
Problema che , fix disponibile a parte, puo, imho, essere mitigato
facilmente col fatto che l'accesso alla porta del server dovrebbe COMUNQUE
essere ristretto a uno (o un piccolo range) di ip che sono autorizzati a
negoziare una sessione pptp (insomma un fw)
(Certo magari un blind spoof o peggio se puoi hijack/mitm la connessione...
ma dettagli su COME costruire questi pacchetti PPTP fake non ce ne sono/non
ne ho letti.. magari il blind non e' possibile)
Ok, fine deliri.
In ogni caso e' un problema gia fixato ... quello che non so e' se qualcuno
ha gia testato il lato linux/bsd..
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005