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

Palestra apresentada no 9º FGSL - Fórum Goiano de Software Livre

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!