Article image

AM

Airton Medina04/05/2024 06:49
Compartilhe

Mergulhando na Arte da Exploração de Binários

    E aí, pessoal! Sejam bem-vindos a esta viagem emocionante pelo mundo da exploração de binários, sendo que é uma disciplina técnica que exige uma compreensão profunda do funcionamento interno dos sistemas computacionais. Neste artigo, exploraremos de modo superficial os fundamentos dessa arte, desde a análise de vulnerabilidades até a criação de um exploit. Seguindo as regras estabelecidas, vamos mergulhar nas entranhas do código, conhecer um pouco da linguagem Assembly e construir entender o que é um exploit.

    Analisando uma Vulnerabilidade

    A base da exploração de binários de é encontrar vulnerabilidades no mesmo. Uma das vulnerabilidades mais comuns é o buffer overflow (estouro de buffer), onde dados são escritos além dos limites de um buffer alocado na memória. Vamos examinar um exemplo simples em linguagem C:

    image

    Neste código, a função vulnerable_function copia o argumento fornecido para um buffer de 8 bytes usando strcpy, sem verificar se o tamanho do input é maior que o buffer.

    Analisando o Assembly com Radare2

    Vamos usar o radare2 para dissecar o binário gerado a partir do código em linguagem C acima. O disassembly revelará como a função `vulnerable_function` é implementada em nível da linguagem Assembly de 64 bits.

    image

    Criando o Exploit

    Compreendendo a vulnerabilidade e o assembly subjacente, agora podemos criar um exploit para controlar o fluxo de execução do programa. Usaremos o módulo pwntools em Python para isso:

    image

    Neste exploit:

    1. Obtemos o endereço da função vulnerable_function.
    2. Geramos o shellcode usando a função shellcraft.sh().
    3. Construímos o payload concatenando caracteres, o endereço da função vulnerable_function e o shellcode.
    4. Conectamo-nos ao processo vulnerável.
    5. Enviamos o payload para estourar o buffer e abrir a shell.
    6. Interagimos com a shell.

    Conclusão

    Dominar a exploração de binários é uma habilidade essencial para qualquer analista de segurança. Ao compreender as vulnerabilidades, analisar o assembly e criar exploits eficazes, você pode fortalecer a segurança dos sistemas e proteger contra ataques maliciosos.

    Pratique, experimente e nunca pare de aprender nesta jornada fascinante pelo Low-Level Exploitation!

    DICA BÔNUS

    Quer dominar o mundo da exploração de binários? Inscreva-se em várias newsletters de profissionais renomados na comunidade de cibersegurança para receber conteúdo de qualidade, dicas de segurança cibernética e tutoriais sobre hacking. Junte-se à comunidade e fortaleça sua jornada de aprendizado, aprimore habilidades no universo da cibersegurança!

    Siga-me nas redes sociais para ainda mais conteúdo:

    Twitter/X: [airtonmedina]

    LinkedIn: [airtonmedina]

    Fontes de produção:

    Imagens geradas por: lexica.art

    Conteúdo gerado por: ChatGPT com revisão humana, que obviamente pode conter erros

    #Exploitation #Binary #Security #Hacking

    Compartilhe
    Comentários (0)