Skip to content

Foi feito o estudo de um repositório simulando a vulnerabilidade de um buffer overlow, documentamos como conseguimos rodar o código e fizemos uma modificação no shellcode para executar outro comportamento (desligar a maquina virtual)

Notifications You must be signed in to change notification settings

facens-cybersec/exploit-studies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 

Repository files navigation

⚡️ Exploits, Buffer Overflow e Vulnerabilidades. ⚡️

Este repositório tem como objetivo fornecer uma análise completa dos conceitos de exploit, Buffer Overflow e vulnerabilidades, explorando suas definições, tipos, exemplos e impactos na segurança de sistemas.

👾 O que é um Exploit? 👾

Definição:
Um exploit é um fragmento de código ou um conjunto de instruções que se aproveita de uma vulnerabilidade em um sistema, permitindo a execução de ações maliciosas. Essas ações podem variar desde a obtenção de acesso não autorizado até a execução de código arbitrário.

Tipos de Exploits:

  • Exploits de Software: Direcionados a falhas em softwares como aplicativos, sistemas operacionais e drivers.
  • Exploits de Hardware: Exploram falhas em dispositivos de hardware, como roteadores, firewalls e dispositivos IoT.
  • Exploits de Rede: Aproveitam falhas em protocolos de rede ou configurações de rede.

Exemplos Notáveis:

  • WannaCry: Ransomware que explorou uma vulnerabilidade no protocolo SMB do Windows, propagando-se rapidamente e criptografando dados em larga escala.
  • Heartbleed: Vulnerabilidade crítica na biblioteca OpenSSL que permitia a extração de informações confidenciais da memória de servidores, expondo dados sensíveis como senhas e chaves de criptografia.

Impacto na Segurança:

  • Roubo de Dados: Possibilita o acesso e roubo de informações confidenciais, como senhas, dados financeiros e informações pessoais.
  • Corrupção de Dados: Permite a corrupção ou destruição de dados, causando perda de informações e interrupção de serviços.
  • Controle Remoto: Faculta aos atacantes o controle de sistemas infectados, permitindo a execução de comandos maliciosos e o acesso a recursos do sistema.

💣 Entendendo o Buffer Overflow 💣

Definição:
Buffer Overflow é uma vulnerabilidade que ocorre quando um programa tenta gravar dados além dos limites de um buffer de memória. Essa ação pode sobrescrever dados adjacentes na memória, incluindo ponteiros de função e outras informações críticas.

Tipos de Buffer Overflow:

  • Stack Overflow: Ocorre quando um programa grava dados além do limite de um buffer alocado na pilha de execução.
  • Heap Overflow: Acontece quando um programa grava dados além do limite de um buffer alocado no heap.

Exemplo:

  • Ataque de Buffer Overflow em Servidor Web:
    Um atacante envia uma requisição HTTP maliciosa contendo um campo de entrada excessivamente grande, causando um Buffer Overflow no servidor e permitindo a execução de código arbitrário.

Impacto na Segurança:

  • Execução de Código Arbitrário: Permite que atacantes executem código malicioso no sistema afetado, assumindo o controle do sistema.
  • Negação de Serviço: Provoca falhas no programa afetado, levando à interrupção de serviços e indisponibilidade de sistemas.

⚠️ Vulnerabilidades: Pontos Fracos Exploráveis ⚠️

Definição:
Uma vulnerabilidade representa uma fraqueza em um sistema que pode ser explorada por atacantes para comprometer a segurança. Essas fraquezas podem estar presentes em softwares, hardwares, configurações de rede ou até mesmo em práticas e procedimentos de segurança.

Tipos de Vulnerabilidades:

  • Vulnerabilidades de Software: Falhas em softwares exploráveis por atacantes.
  • Vulnerabilidades de Hardware: Falhas em dispositivos de hardware exploráveis por atacantes.
  • Vulnerabilidades de Rede: Falhas em protocolos de rede ou configurações de rede exploráveis por atacantes.
  • Vulnerabilidades Humanas: Erros humanos, como senhas fracas ou falta de treinamento em segurança, que podem ser explorados.

Exemplos:

  • Injeção de SQL: Permite que atacantes injetem comandos SQL maliciosos em um aplicativo web, possibilitando o acesso não autorizado a dados ou a execução de comandos no banco de dados.
  • Cross-Site Scripting (XSS): Permite que atacantes injetem scripts maliciosos em páginas web, possibilitando o roubo de cookies ou o redirecionamento de usuários para sites maliciosos.

Impacto na Segurança:

  • Confidencialidade: Compromete a confidencialidade das informações, permitindo o acesso não autorizado a dados confidenciais.
  • Integridade: Compromete a integridade dos dados, permitindo a modificação ou destruição de dados importantes.
  • Disponibilidade: Compromete a disponibilidade de sistemas, causando interrupções de serviços e indisponibilidade de recursos.

🔗 Fontes de Pesquisa: 🔗


Material de Apoio

Ferramentas

  • Metasploit Framework
    Framework de exploração de vulnerabilidades amplamente utilizado por pentesters e hackers éticos.
    Permite realizar testes de penetração, desenvolver exploits e automatizar tarefas de segurança.
    Link para o Metasploit

  • Immunity Debugger
    Depurador popular para análise de código e exploração de vulnerabilidades em Windows.
    Facilita a análise de programas, identificação de buffer overflows e desenvolvimento de exploits.
    Link para o Immunity Debugger

  • GDB (GNU Debugger)
    Depurador poderoso e versátil para Linux e outros sistemas Unix-like.
    Permite inspecionar o estado de um programa em execução, controlar sua execução e analisar o código-fonte.
    Link para o GDB


Fundamentos de Desenvolvimento de Exploits

Buffer Overflow Exploit


Base de Dados de Exploits e Vulnerabilidades

Ferramenta de Desenvolvimento de Exploits


Artigos

  • Smashing the Stack for Fun and Profit (Aleph One)
    Artigo seminal que popularizou o conceito de buffer overflow e técnicas de exploração.
    Explica os mecanismos de buffer overflow e demonstra como explorar essa vulnerabilidade para obter controle de um programa.
    Link para o artigo na Phrack Magazine

  • A Pentester's Guide to Exploiting Buffer Overflow Vulnerabilities (Cobalt.io)
    Guia prático com exemplos de exploração de buffer overflow em diferentes cenários.
    Demonstra como identificar, analisar e explorar vulnerabilidades de buffer overflow, com foco em técnicas de pentest.
    Link para o artigo no Cobalt.io

  • Buffer Overflow Exploitation Case Study (Infosec Institute)
    Estudo de caso detalhado sobre a exploração de um buffer overflow, com análise passo-a-passo.
    Apresenta as etapas de identificação, análise e exploração de uma vulnerabilidade, com exemplos de código e ferramentas.
    Link para o artigo no Infosec Institute


Canais do YouTube

  • Sec4US: Desenvolvimento de Exploits
    Sec4US BlackWeek 2021: Desenvolvimento de Exploits 32 bits

  • Running a Buffer Overflow Attack - Computerphile
    Assistir no YouTube


Cursos

  • Offensive Security Certified Professional (OSCP)
    Certificação renomada em pentest, com foco em técnicas de exploração de vulnerabilidades.
    Curso intensivo com laboratórios práticos e um exame desafiador que exige a exploração de vulnerabilidades em um ambiente simulado.
    Link para o OSCP

Exploit Escolhido

O exploit escolhido para este estudo foi o disponibilizado no seguinte repositório:

Este repositório demonstra um ataque de buffer overflow, uma vulnerabilidade clássica que permite a execução de código arbitrário em um sistema. O estudo deste exploit visa aprofundar o conhecimento sobre as técnicas de exploração e as medidas de mitigação para este tipo de vulnerabilidade.

Configurando uma VM Ubuntu 12.04 32 bits para Estudo de Exploits

Este guia fornece instruções sucintas para configurar uma Máquina Virtual (VM) Ubuntu 12.04 32 bits com o objetivo de estudar exploits.

1. Ferramentas Necessárias

  • Virtualizador: VirtualBox, VMware Workstation ou similar.
  • Imagem ISO do Ubuntu 12.04 32 bits: Baixe a ISO do Ubuntu 12.04.1 LTS (Precise Pangolin) 32 bits de um repositório confiável, como o arquivo oficial do Ubuntu.
  • Metasploit Framework: Ferramenta de testes de penetração para desenvolver e executar exploits.

2. Criação da VM

  • Nova Máquina Virtual: Crie uma nova VM no seu virtualizador.
  • Tipo de SO: Selecione Linux e Ubuntu (32 bits).
  • Recursos: Aloque RAM e espaço em disco suficientes (recomenda-se pelo menos 2 GB de RAM e 20 GB de disco).
  • Rede: Configure a rede da VM como "NAT" para acesso à internet ou "Host-only" para um ambiente isolado.
  • Mídia de Instalação: Utilize a ISO do Ubuntu 12.04 32 bits baixada como mídia de instalação.

3. Instalação do Ubuntu

  • Inicialize a VM: Inicie a VM e siga as instruções do instalador do Ubuntu.
  • Atualizações: Após a instalação, atualize o sistema com o seguinte comando:
sudo apt-get update && sudo apt-get upgrade

🙌 Contribuições: 🙌

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para melhorar este repositório.

A pesquisa ampliou nosso conhecimento e também destacou a importância de reconhecer e mitigar esses riscos em sistemas.

About

Foi feito o estudo de um repositório simulando a vulnerabilidade de um buffer overlow, documentamos como conseguimos rodar o código e fizemos uma modificação no shellcode para executar outro comportamento (desligar a maquina virtual)

Topics

Resources

Stars

Watchers

Forks