View
455
Download
0
Category
Preview:
DESCRIPTION
Kerberos é um protocolo amplamente utilizado em grandes empresas para prover ambientes SSO(Single Sigin On), mas quais são as suas reais limitações ? É possível capturar senhas e/ou forjar tickets em ambientes como Active Directory?
Citation preview
Marcelo Machado Fleury
marcelomf[noSpam]gmail[p]com
marcelo[p]fleury[noSpam]4linux[p]com[p]br
Http://marcelomf.blogspot.com
Http://www.slideshare.com/marcelomf
Http://twitter.com/marcelomf
#h2hc-community, #pev, #gojava, #gophp, #owasp...
“Vamos assar uns GNUs, quebrar umas janelas, comer umas maçãs ou matar uns demônios”
KDC Spoofing com Kerberos MIT
2
Agenda
● Ambiente SSO
● Kerberos
● Pré-requisitos: DNS/BIND, NTP, /etc/...
● Kerberização de serviços
● Spoofing e Poisoning
● KDC Spoofing
● Demonstração
3
Ambiente SSO
● SSO ? Single Sign-On.
● Vantagens– Autenticação centralizada
– Usabilidade
– Segurança (Kerberos/GSSAPI)
● Cuidados– Segurança (KDCSpoofing, vide apresentações
na blackhat)
– Disponibilidade
– Manutenção
4
Kerberos
● História– Projeto Athena. O Cão Cérbero do deus Hades.
– Versão 4 no final dos anos 80, por Steve Miller e Clifford Neuman no MIT.
● RFCs: 4120, 4537, 5021, 5896
● Curiosidades
● Implementações– MIT, Heimdal, Micro$oft
...
5
O ambiente Kerberos
● TTP – Trusted Third Party
● KDC – Key Distribution Center– AS – Authentication Server
– TGS – Ticket Granting Server
● SS – Service Server● TGT - Ticket Granting Ticket
● Cliente
6
… o ambiente
● REALMs
● Cross-Realm Operation
● PrincipalNames: primary/instance@REALM
● ACLs
● Backends diversos
● Replicação, master/slave
● Vários serviços podem ser kerberizados
● APIs para diferentes linguagens
7
... Autenticação Kerberos ...
8
9
10
Autenticação Kerberos
11
Autenticação Kerberos
12
Autenticação Kerberos
13
Autenticação Kerberos
14
Kerberos CLI
● Kinit
● Klist
● Kdestroy
15
Daemons Kerberos MIT
● Kadmind– TCP: 749 (Administração, kadmin)
– TCP: 754 (Propagação)
– UDP: 464 (Alteração de senhas)
● Krb5kdc– TCP/UDP: 88 (KDC V.5)
– TCP/UDP: 750 (V. 4)
– TCP/UDP: 751 (V.4)
16
Os pré-requisitos
● NTP/NTPD– Clientes e servidores com relógios
sincronizados. Garantia de vida dos tickets Kerberos.
● DNS/BIND– Utilizado pelos KDCs, clientes e serviços
kerberos e programas de administração como o kadmin(.local).
● IMPORTANTES– /etc/hosts, /etc/hostname, /etc/resolv.conf
17
Entradas no DNS
● _kerberos
● _kerberos-master._udp
● _kerberos-adm._tcp
● _kpasswd._udp
● _kerberos._udp
● _ldap._tcp.seu.realm
18
Serviços kerberizaveis
● OpenLDAP, Pam, Samba, Squid, Apache, SSH, Postfix, Cyrus ...
● Aplicações escritas em diversas linguagens como JAVA, PHP e C.
● WS-Security
● ***** SEMPRE VERIFIQUE SE A APLICAÇÃO ENVIA A SENHA EM TEXTO PLANO NO PRIMEIRO LOGIN *****
19
Spoofing e Poisoning
● ARP
● DNS
● KDC
20
KDC Spoofing
● Não foge a regra– BlackHat 2009
● Possibilidade de realizar replay attacks– Autenticação(AS_REQ/AS_REP)
– Autorização(TGS_REQ/TGS_REP AP_REQ/AP_REP)
21
Serviços kerberizaveis
● OpenLDAP, Pam, Samba, Squid, Apache, SSH, Postfix, Cyrus ...
● Aplicações escritas em diversas linguagens como JAVA, PHP e C.
● WS-Security
● ***** SEMPRE VERIFIQUE SE A APLICAÇÃO ENVIA A SENHA EM TEXTO PLANO NO PRIMEIRO LOGIN *****
22
POC
● AS_REQ / AS_REP
Marcelo Machado Fleury
marcelomf[noSpam]gmail[p]com
marcelo[p]fleury[noSpam]4linux[p]com[p]br
Http://marcelomf.blogspot.com
Http://www.slideshare.com/marcelomf
Http://twitter.com/marcelomf
#h2hc-community, #pev, #gojava, #gophp, #owasp...
"Conheço muitos que não puderam quando deviam, porque não quiseram quando podiam." By François
Rabelais
Muito Obrigado!
Recommended