12
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” OpenLDAP, criando e explorando um overlay

OpenLDAP, criando e explorando um overlay

Embed Size (px)

DESCRIPTION

O protocolo LDAP se tornou um padrão para serviços de diretórios e é implementado em softwares renomados como OpenLDAP e outros não tão renomados assim como Active Directory(!?MS-PAC/MS-KILE/MS-NLMP?!). O desenvolvimento de overlays para o OpenLDAP é a forma mais elegante que temos para adicionar novas funcionalidades ao mesmo, mas o que pode acontecer quando desenvolvedores desavisados se aventuram no submundo dos códigos do OpenLDAP ?

Citation preview

Page 1: OpenLDAP, criando e explorando um overlay

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”

OpenLDAP, criando e explorando um overlay

Page 2: OpenLDAP, criando e explorando um overlay

2

Agenda

● LDAP

● OpenLDAP

● SASL

● Overlays

● Buffer Overflow

● Mapeamento de um processo

● Stack Overflow

● Anatomia de um exploit

● POC

Page 3: OpenLDAP, criando e explorando um overlay

3

LDAP

● Estrutura

● Operações

● Por que e onde utilizar

Page 4: OpenLDAP, criando e explorando um overlay

4

OpenLDAP

● Índices

● Módulos

● ACLs

● SSL/TLS

● Backends diversos

● Replicação: master/slave, multimaster

Page 5: OpenLDAP, criando e explorando um overlay

5

SASL

● GSS-API

● Ampliação da gama de aplicações que poderão se autenticar

● userPassword: {SASL}principalName

Page 6: OpenLDAP, criando e explorando um overlay

6

Overlays

● Por que ?

● Alguns importantes

● Vamos ver, criar e explorar!

Page 7: OpenLDAP, criando e explorando um overlay

7

Buffer Overflow

● Arquitetura x86– 32 bits X 64 bits

● 0 – F ; 1 bit ; 1 byte ; – 1 endereço 0x00000000 - 0xffffffff

● Integer Overflow

● Heap Overflow

● Stack Overflow

Page 8: OpenLDAP, criando e explorando um overlay

8

Processo(duartes.org)

Page 9: OpenLDAP, criando e explorando um overlay

9

Stack Overflow

char buffer[500];

strcpy(buffer, argv[1]);

strncpy X off by one

Page 10: OpenLDAP, criando e explorando um overlay

10 Anatomia de um exploit● Segmentation fault/SIGSEGV x Fuzzers

● Um pacote (Header X Payload)– Socket

– Operações

– Connect Back / Covert Channel

● “Trigar” uma falha

● Shellcode– Assembly e (%EAX, %EBP, %ESP, %EIP)

– NOPS / 0x90 e lixos

– Nullbytes 0x00

– Código a ser executado

– Polimorfismo

Page 11: OpenLDAP, criando e explorando um overlay

11

POC● Proteções

– Kernel Land X User Land

– Em tempo de compilação

– Hardware

● Exemplos– ASLR

– DEP

– PIE

● SELinux, Apparmor e GRSecurity(+PAX)

Page 12: OpenLDAP, criando e explorando um overlay

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!