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
Ferramentas/GitHubGitHub/atgreen/block-copyfail
Ferramentas DefensivasAnálise Dinâmica (Sandboxing)Análise de VulnerabilidadesResposta a Incidentes
GitHubatgreen/block-copyfail

block-copyfail

BPF LSM blocker para CVE-2026-31431 (Copy Fail) — bloqueia binds AF_ALG authencesn em tempo de execução sem reinicializar

Ver Repositório
73há 3 mesesAinda 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

block-copyfail

Prova de conceito de mitigação em tempo de execução para CVE-2026-31431 ("Copy Fail") — uma escalada de privilégios no kernel Linux via o template criptográfico authencesn em algif_aead.

Ao contrário do bloqueio de módulos, isto não requer reinicialização. Um programa BPF LSM intercepta socket_bind e bloqueia todos os binds AF_ALG AEAD — o subsistema explorado pelo Copy Fail. Isso impede bypasses via aninhamento de templates criptográficos (ex.: pcrypt(authencesn(...))). Outros usos de AF_ALG (hash, skcipher) não são afetados.

Tentativas bloqueadas são registradas em tempo real com PID, nome do processo e timestamp.

Pré-requisitos

  • Kernel Linux 5.7+ com CONFIG_BPF_LSM=y e lsm=bpf nos parâmetros de boot
  • SBCL 2.0+
  • Whistler (compilador eBPF em Common Lisp)
root@kitploit:~
make doctor   # verifica todos os pré-requisitos

Início rápido

root@kitploit:~
git clone https://github.com/atgreen/block-copyfail.git
cd block-copyfail
make ubi8-build
sudo ./block-copyfail

O bloqueador permanece ativo até você pressionar Ctrl-C, então se desanexa de forma limpa.

Compilar localmente

Para compilar na sua própria máquina, você precisa de SBCL e Whistler (o compilador eBPF em Common Lisp):

root@kitploit:~
git clone https://github.com/atgreen/whistler.git ~/git/whistler
make build
sudo ./block-copyfail

Compilar um binário portátil (EL8+)

Compile dentro de um contêiner UBI8 para produzir um binário que roda em RHEL/CentOS/Alma/Rocky 8+, Fedora, Ubuntu 20.04+ e qualquer Linux com glibc 2.28 ou mais recente. Não é necessário SBCL ou Whistler no sistema de destino — basta copiar o binário e executá-lo.

root@kitploit:~
make ubi8-build
scp block-copyfail root@server:
ssh root@server ./block-copyfail

Compilar para objeto ELF

Produz um arquivo .bpf.o padrão carregável por bpftool, libbpf ou qualquer carregador BPF:

root@kitploit:~
make elf
sudo mkdir -p /sys/fs/bpf/copyfail
sudo bpftool prog loadall block-copyfail.bpf.o /sys/fs/bpf/copyfail autoattach

Para desanexar e remover:

root@kitploit:~
sudo rm -rf /sys/fs/bpf/copyfail

Testes

Com o bloqueador em execução em um terminal, dispare um teste em outro:

root@kitploit:~
python3 trigger-test.py

O script de teste tenta um bind AF_ALG AEAD (nenhum exploit é executado).

Saída esperada no terminal de teste:

root@kitploit:~
BLOCKED: aead/authencesn(hmac(sha256),cbc(aes)) — [Errno 1] Operation not permitted
BLOCKED: aead/gcm(aes) — [Errno 1] Operation not permitted
ALLOWED: hash/sha256
ALLOWED: skcipher/cbc(aes)

Saída esperada no terminal do bloqueador:

root@kitploit:~
Copy Fail blocker active — all AF_ALG AEAD binds blocked.
Other AF_ALG usage (hash, skcipher) unaffected.
Watching for blocked attempts. Press Ctrl-C to exit.

TIME                  PID       COMMAND
----                  ---       -------
06:38:12               31337  python3

Sem o bloqueador em execução, o script de teste imprime ALLOWED para todos os quatro algoritmos.

Como funciona

O programa BPF lê 7 bytes de struct sockaddr_alg dos argumentos de socket_bind via bpf_probe_read_kernel, verifica se salg_family == AF_ALG e salg_type == "aead", e retorna -EPERM em caso de correspondência. Isso bloqueia todos os binds de algoritmos AEAD independentemente do aninhamento de templates. Eventos são enviados ao espaço do usuário via um ring buffer.

Escrito em Whistler, um dialeto de Common Lisp que compila diretamente para bytecode eBPF — sem necessidade de C, clang ou LLVM.

Licença

MIT

Baixar ferramenta