Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-23093 — O buffer overflow ICMP do FreeBSD, poc de buffer overflow do freebsd | Kitploit
Ferramentas/GitHubGitHub/sh4den/cve-2022-23093
Análise de VulnerabilidadesExploraçãoShellcodeDesenvolvimento de PayloadsExploração de Binários
GitHubsh4den/cve-2022-23093

CVE-2022-23093

O buffer overflow ICMP do FreeBSD, poc de buffer overflow do freebsd

Ver Repositório
102há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2022-23093 Estouro de Pilha no FreeBSD

Informações

O shellcode usado por padrão é FreeBSD/x86-64 - execve - 28 bytes do Gitsnik; altere-o e coloque o seu próprio para começar.

Detalhes da Vulnerabilidade

O utilitário ping, usado para solicitar um ICMP ECHO_RESPONSE de um host ou gateway, é invocado com um alvo IPv4, seja IPv4-host ou IPv4-mcast-group, através do datagrama ECHO_REQUEST obrigatório do protocolo ICMP. O datagrama ECHO_REQUEST consiste em um cabeçalho IP e ICMP, seguido por um "struct timeval" e um número variável de bytes "pad" para preencher o pacote.

De acordo com o advisory de segurança do FreeBSD Project, o utilitário ping recupera pacotes IP brutos da rede para processar respostas dentro da função pr_pack(). No processamento da resposta, o ping reconstrói o cabeçalho IP, o cabeçalho ICMP e, se presente, um "pacote citado" (quoted packet) que representa o pacote que causou o erro ICMP. O pacote citado também inclui um cabeçalho IP e um cabeçalho ICMP.

A função pr_pack() copia os cabeçalhos IP e ICMP recebidos para buffers na pilha para processamento posterior. No entanto, ela não leva em conta a possibilidade de cabeçalhos de opções IP após o cabeçalho IP, seja na resposta ou no pacote citado. Na presença de opções IP, a função pr_pack() estoura o buffer de destino em até 40 bytes.

Análise Técnica

O utilitário ping é executado no userspace e, ao invocar o comando ping, o binário localizado em /sbin/ping é executado. O código-fonte do utilitário está disponível publicamente no código-fonte do FreeBSD. A função vulnerável, pr_pack(), imprime as informações de resposta do pacote ICMP na saída padrão (stdout) em formato de string, como "64 bytes from 1.3.3.7: icmp_seq=1 ttl=55 time=13.7 ms."

image

O pacote ICMP, tanto na solicitação quanto na resposta, é composto por cabeçalhos IP com um campo de Opções opcional, conforme ilustrado no diagrama acima. Em um ataque malicioso, essas Opções IP são habilitadas e preenchidas com bytes não nulos.

Se um pacote ICMP for malformado ou deliberadamente adulterado durante o trânsito para o host de destino, e as Opções IP estiverem habilitadas na solicitação de eco original, a função pr_pack() não consegue alocar espaço suficiente na pilha para acomodar a presença das Opções IP, resultando em estouro de pilha.

Nesses casos de erro, a resposta do host de destino também pode incluir um "pacote citado" na seção de dados, identificando o pacote específico que causou o erro ICMP. A função pr_pack() estoura a pilha quando o pacote citado inclui cabeçalhos ICMP.

Baixar ferramenta