Arquitetura e Configuração de Banco de Dados

CibersegurançaBeginner
Pratique Agora

Introdução

O Metasploit Framework é uma ferramenta poderosa utilizada por profissionais de segurança para testes de invasão e desenvolvimento de vulnerabilidades. Um componente central de sua arquitetura é o banco de dados de backend, tipicamente o PostgreSQL.

Vale a pena enfatizar que o Metasploit não é apenas uma coleção de exploits; ele é uma plataforma de fluxo de trabalho. O banco de dados, os módulos, as sessões e os espaços de trabalho (workspaces) existem para ajudá-lo a gerenciar um engajamento à medida que ele se torna mais complexo.

Integrar um banco de dados ao Metasploit permite que você armazene, pesquise e gerencie com eficiência os dados coletados durante suas avaliações. Isso inclui hosts descobertos, portas abertas, serviços em execução e credenciais extraídas. Ao utilizar espaços de trabalho, você pode separar logicamente esses dados para diferentes projetos ou redes de destino, garantindo que seu fluxo de trabalho de teste de invasão permaneça limpo e organizado.

Sem essa estrutura, uma avaliação de maior escala rapidamente se torna difícil de gerenciar. O banco de dados transforma comandos isolados em conhecimento persistente que você pode revisitar e correlacionar.

Neste laboratório, você aprenderá a inicializar o banco de dados PostgreSQL, interagir com a interface principal do Metasploit (msfconsole), gerenciar espaços de trabalho de projetos e popular seu banco de dados usando ferramentas de varredura integradas.

Inicializar o Banco de Dados PostgreSQL

Nesta etapa, você inicializará o banco de dados PostgreSQL para o Metasploit. O banco de dados é um componente crucial da arquitetura do Metasploit Framework. Ele armazena suas configurações, espaços de trabalho, hosts descobertos, serviços e credenciais, permitindo um gerenciamento de dados eficiente durante os testes de invasão.

Primeiro, certifique-se de que o serviço PostgreSQL esteja em execução. Use o seguinte comando para iniciar o serviço:

sudo systemctl start postgresql

Em seguida, inicialize o banco de dados do Metasploit. Este comando cria um novo banco de dados, configura um usuário de banco de dados dedicado para o Metasploit e gera os arquivos de configuração necessários em seu diretório pessoal:

msfdb init

Você deverá ver uma saída indicando que o banco de dados foi criado e configurado com sucesso. A configuração é salva em um diretório oculto em ~/.msf4/database.yml.

Iniciar o msfconsole e verificar o status do banco de dados

Nesta etapa, você iniciará o console do Metasploit Framework (msfconsole) e verificará se ele se conectou com sucesso ao banco de dados PostgreSQL.

O msfconsole pode ser considerado o centro de comando do framework. Uma vez que o banco de dados esteja conectado, as ações realizadas no console podem enriquecer um modelo interno compartilhado do engajamento.

O msfconsole é a principal interface de linha de comando para interagir com o Metasploit Framework. Ele fornece um console centralizado para acessar todos os módulos, payloads e recursos de banco de dados.

Inicie o console em modo silencioso (para pular o banner de inicialização em arte ASCII) executando o seguinte comando em seu terminal:

msfconsole -q

Assim que o console carregar, seu prompt mudará para msf6 >, indicando que você está agora dentro do ambiente Metasploit.

Verifique o status da conexão com o banco de dados digitando o seguinte comando dentro do console:

db_status

Você deverá ver uma saída semelhante à seguinte, confirmando a conexão:

[*] Connected to msf. Connection type: postgresql.

Você pode manter o msfconsole aberto para as próximas etapas.

Criar e gerenciar espaços de trabalho

Nesta etapa, você aprenderá a criar e gerenciar espaços de trabalho (workspaces). Os espaços de trabalho permitem que você separe logicamente seus dados de teste de invasão. Por exemplo, você pode ter espaços de trabalho diferentes para clientes diferentes ou redes de destino distintas, garantindo que hosts e credenciais não se misturem.

Certifique-se de que você ainda está no prompt do msfconsole (msf6 >). Se você saiu, basta digitar msfconsole -q para entrar novamente.

Para visualizar os espaços de trabalho atuais, digite:

workspace

Você verá um espaço de trabalho chamado default marcado com um asterisco (*), indicando que ele é o espaço de trabalho ativo no momento.

Agora, crie um novo espaço de trabalho chamado project_alpha usando a flag -a (add):

workspace -a project_alpha

O console mudará automaticamente para o espaço de trabalho recém-criado. Você pode verificar isso executando o comando workspace novamente:

workspace

Você deverá ver * project_alpha na saída, confirmando que seu novo espaço de trabalho está ativo e pronto para armazenar dados.

Importar varreduras do Nmap para o espaço de trabalho

Nesta etapa, você populará o banco de dados do seu espaço de trabalho executando uma varredura do Nmap diretamente de dentro do Metasploit.

O Metasploit fornece o comando db_nmap, que executa a ferramenta Nmap padrão, mas importa automaticamente os resultados da varredura (hosts, portas e serviços) para o banco de dados do espaço de trabalho ativo.

Dentro do seu msfconsole (certifique-se de que você ainda está no espaço de trabalho project_alpha), execute uma varredura rápida em sua máquina local (127.0.0.1). Nesta configuração de laboratório, o PostgreSQL é o serviço que sabemos estar em execução, então vamos escanear sua porta padrão, 5432.

db_nmap -sV -p 5432 127.0.0.1

Aguarde alguns instantes para que a varredura seja concluída. Uma vez finalizada, você pode visualizar os hosts descobertos que foram armazenados automaticamente no banco de dados:

hosts

Para ver os serviços específicos e as portas abertas descobertas durante a varredura, use o comando services:

services

Você verá uma tabela estruturada exibindo o IP do host, porta, protocolo, estado e nome do serviço. Como escaneamos a porta 5432, você deve esperar ver uma entrada de serviço relacionada ao PostgreSQL, em vez de HTTP ou SSH.

Você inicializou o banco de dados, gerenciou espaços de trabalho e importou dados de varredura com sucesso. Para sair do console do Metasploit e retornar ao seu terminal Linux padrão, digite:

exit

Resumo

Parabéns! Você concluiu com sucesso o laboratório de Arquitetura e Configuração de Banco de Dados.

Você aprendeu como inicializar o banco de dados PostgreSQL para o Metasploit Framework, iniciar o msfconsole e verificar a conectividade com o banco de dados. Além disso, você dominou a criação e o gerenciamento de espaços de trabalho para manter os dados do seu projeto isolados e utilizou o db_nmap para escanear alvos e importar os resultados diretamente para o seu banco de dados. Essas habilidades fundamentais são essenciais para manter fluxos de trabalho de teste de invasão organizados e eficientes.