Jump to content

Fabiano Furtado

Apoiadores
  • Content Count

    29
  • Joined

  • Last visited

Artigo Comments posted by Fabiano Furtado


  1. Oi Fernando... primeiramente, obrigado pelo retorno.

    Acho que ainda não tenho essa capacidade para fazer tal análise, ainda mais de dentro da ld-linux. 😞

    Quem sabe um video sobre o assunto no seu canal do YouTube?

    O máximo que consegui foi tirar algumas informações do dump que foi gravado:

    $ coredumpctl list

    Hint: You are currently not seeing messages from other users and the system.                                                                                   
         Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.                                                                                  
         Pass -q to turn off this notice.                                                                                                                         
    TIME                            PID   UID   GID SIG COREFILE  EXE

    Wed 2018-11-14 15:56:57 -02   17737  1000   988  11 present   /usr/lib/ld-2.28.so
    $ coredumpctl info 17737                                                                                                          
    Hint: You are currently not seeing messages from other users and the system.                                                                                   
         Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.                                                                                  
         Pass -q to turn off this notice.                                                                                                                         
              PID: 17737 (ld-linux-x86-64)                                                                                                                        
              UID: 1000 (fabianofurtado)
              GID: 988 (users)
           Signal: 11 (SEGV)
        Timestamp: Wed 2018-11-14 15:56:56 -02 (5min ago)
     Command Line: /lib64/ld-linux-x86-64.so.2 /tmp/hw64
       Executable: /usr/lib/ld-2.28.so
    Control Group: /user.slice/user-1000.slice/session-6.scope
             Unit: session-6.scope
            Slice: user-1000.slice
          Session: 6
        Owner UID: 1000 (fabianofurtado)
          Boot ID: *****
       Machine ID: *****
         Hostname: PC-107204
          Storage: /var/lib/systemd/coredump/core.ld-linux-x86-64.1000.******.*****.lz4
          Message: Process 17737 (ld-linux-x86-64) of user 1000 dumped core.
                    
                   Stack trace of thread 17737:
                   #0  0x00007f293c068bc3 _dl_relocate_object (/usr/lib/ld-2.28.so)
                   #1  0x00007f293c061397 dl_main (/usr/lib/ld-2.28.so)
                   #2  0x00007f293c076090 _dl_sysdep_start (/usr/lib/ld-2.28.so)
                   #3  0x00007f293c05f088 _dl_start (/usr/lib/ld-2.28.so)
                   #4  0x00007f293c05e008 _start (/usr/lib/ld-2.28.so)

    Esse programa foi um "Hello World" feito em NASM.


  2. Fernando,

    tudo bem?

    Tenho uma dúvida em relação a esse procedimento de hook relacionada a segurança. Muito básica, diga-se.

    Para que esse LD_PRELOAD foi implementado na GLIBC se, ao meu ver, só há desvantagens em relação a segurança? Quais os benefícios de se ter implementado isso? Achei muito interessante esse recurso, mas a segurança fica comprometida com ele ativado.

    Outra... usei o ldd para ver as dependências e a maioria das aplicações Linux linkadas dinamicamente utiliza a ld-linux-x86-64.so.2 para funcionar/carregar o binário ELF. Lendo mais sobre o assunto (1), e também demonstrado por você no artigo (

    $ LD_PRELOAD=$PWD/hook.so ./ld-linux-x86-64.so.2 ./ola

    ), é possível executar um binário sem o bit de execução habilitado. Não entendi o motivo disso.

    Fiz um teste com o ld-linux-x86-64.so.2 em um binário sem dependências (linkado estaticamente)  e, independentemente do estado do bit de execução, o binário não roda. Tenho um Segmentation Fault.

     

    Eu só queria uma opinião mesmo sobre essas implementações pois acho que a segurança fica muito comprometida desta maneira.

    Desde já agradeço.

    Referências:

      * (1) https://superuser.com/questions/341439/can-i-execute-a-linux-binary-without-the-execute-permission-bit-being-set

×
×
  • Create New...