23
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

KDC Spoofing com Kerberos MIT

Embed Size (px)

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

Page 1: KDC Spoofing com Kerberos MIT

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

Page 2: 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

Page 3: KDC Spoofing com Kerberos MIT

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

Page 4: KDC Spoofing com Kerberos MIT

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

...

Page 5: KDC Spoofing com Kerberos MIT

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

Page 6: KDC Spoofing com Kerberos MIT

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

Page 7: KDC Spoofing com Kerberos MIT

7

... Autenticação Kerberos ...

Page 8: KDC Spoofing com Kerberos MIT

8

Page 9: KDC Spoofing com Kerberos MIT

9

Page 10: KDC Spoofing com Kerberos MIT

10

Autenticação Kerberos

Page 11: KDC Spoofing com Kerberos MIT

11

Autenticação Kerberos

Page 12: KDC Spoofing com Kerberos MIT

12

Autenticação Kerberos

Page 13: KDC Spoofing com Kerberos MIT

13

Autenticação Kerberos

Page 14: KDC Spoofing com Kerberos MIT

14

Kerberos CLI

● Kinit

● Klist

● Kdestroy

Page 15: KDC Spoofing com Kerberos MIT

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)

Page 16: KDC Spoofing com Kerberos MIT

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

Page 17: KDC Spoofing com Kerberos MIT

17

Entradas no DNS

● _kerberos

● _kerberos-master._udp

● _kerberos-adm._tcp

● _kpasswd._udp

● _kerberos._udp

● _ldap._tcp.seu.realm

Page 18: KDC Spoofing com Kerberos MIT

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 *****

Page 19: KDC Spoofing com Kerberos MIT

19

Spoofing e Poisoning

● ARP

● DNS

● KDC

Page 20: KDC Spoofing com Kerberos MIT

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)

Page 21: KDC Spoofing com Kerberos MIT

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 *****

Page 22: KDC Spoofing com Kerberos MIT

22

POC

● AS_REQ / AS_REP

Page 23: KDC Spoofing com Kerberos MIT

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!