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”
2

                          Agenda
    ●   LDAP
    ●   OpenLDAP
    ●   SASL
    ●   Overlays
    ●   Buffer Overflow
    ●   Mapeamento de um processo
    ●   Stack Overflow
    ●   Anatomia de um exploit
    ●   POC
3

                          LDAP


    ●   Estrutura
    ●   Operações
    ●   Por que e onde utilizar
4

                     OpenLDAP

    ●   Índices
    ●   Módulos
    ●   ACLs
    ●   SSL/TLS
    ●   Backends diversos
    ●   Replicação: master/slave, multimaster
5

                        SASL

    ●   GSS-API
    ●   Ampliação da gama       de   aplicações   que
        poderão se autenticar
    ●   userPassword: {SASL}principalName
6

                       Overlays


    ●   Por que ?
    ●   Alguns importantes
    ●   Vamos ver, criar e explorar!
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
8

    Processo(duartes.org)
9

               Stack Overflow


    char buffer[500];
    strcpy(buffer, argv[1]);


    strncpy X off by one
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
11

                              POC
     ●   Proteções
            –   Kernel Land X User Land
            –   Em tempo de compilação
            –   Hardware
     ●   Exemplos
            –   ASLR
            –   DEP
            –   PIE
     ●   SELinux, Apparmor e GRSecurity(+PAX)
Muito Obrigado!

               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

Open ldap criando e explorando um overlay

  • 1.
    OpenLDAP, criando e explorandoum 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”
  • 2.
    2 Agenda ● LDAP ● OpenLDAP ● SASL ● Overlays ● Buffer Overflow ● Mapeamento de um processo ● Stack Overflow ● Anatomia de um exploit ● POC
  • 3.
    3 LDAP ● Estrutura ● Operações ● Por que e onde utilizar
  • 4.
    4 OpenLDAP ● Índices ● Módulos ● ACLs ● SSL/TLS ● Backends diversos ● Replicação: master/slave, multimaster
  • 5.
    5 SASL ● GSS-API ● Ampliação da gama de aplicações que poderão se autenticar ● userPassword: {SASL}principalName
  • 6.
    6 Overlays ● Por que ? ● Alguns importantes ● Vamos ver, criar e explorar!
  • 7.
    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
  • 8.
    8 Processo(duartes.org)
  • 9.
    9 Stack Overflow char buffer[500]; strcpy(buffer, argv[1]); strncpy X off by one
  • 10.
    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
  • 11.
    11 POC ● Proteções – Kernel Land X User Land – Em tempo de compilação – Hardware ● Exemplos – ASLR – DEP – PIE ● SELinux, Apparmor e GRSecurity(+PAX)
  • 12.
    Muito Obrigado! 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