Instalação de metasploit e comandos básicos

Instalação de metasploit e comandos básicos

“Este tutorial explica como instalar e começar com comandos básicos de metasploit no Linux com um exemplo de cenário real.

Metasploit é vulnerabilidades e explora a coleção de auditoria de segurança e exploração de vulnerabilidades. Esta ferramenta ajuda os administradores do sistema a testar a segurança da rede e do dispositivo. Ele também permite que usuários inexperientes executem ataques contra alvos facilmente.

Todas as instruções descritas neste documento incluem capturas de tela, facilitando para os leitores entendê -los e aplicá -los.”

O que é PostGresql, como é útil ao usar o metasploit e como instalá -lo

Quando um alvo é digitalizado para encontrar vulnerabilidades ou explorado por meio de um orifício de segurança, as informações coletadas são salvas em um banco de dados a serem importadas e usadas por outras ferramentas de pentesting. Obviamente, aqueles que executam tarefas de pentesting podem salvar as informações manualmente, mas manter os resultados pentesting adequadamente solicitados em um banco de dados é útil para rastrear a atividade, aumentar a produtividade e aliviar tarefas de pentestor.

O sistema de gerenciamento de banco de dados suportado pelo metasploit é PostGresql e, embora não seja obrigatório ao usar o metasploit, é altamente recomendável instalá -lo. Usar o metasploit sem um sistema de gerenciamento de banco de dados não é uma decisão inteligente. Portanto, este tutorial começa com instruções sobre como instalar o PostgreSQL antes de instalar o metasploit.

Instalando o PostgreSQL nas distribuições Linux baseadas no Debian (CentOS abaixo)

No Debian e suas distribuições Linux baseadas como o Ubuntu, você pode instalar facilmente o PostgreSQL usando o gerenciador de pacotes APT, conforme mostrado na captura de tela a seguir.

Observação: CENTOS Os usuários podem encontrar instruções para instalar o PostgreSQL em CENTOS abaixo.

Sobre Debian/Ubuntu Execute o seguinte comando.

sudo apt install postgresql postgresql-contrrib sudo systemctl start pósgresql

Instruções para instalar o PostgreSQL no CentOS

Para instalar o PostgreSQL no CentOS, execute o comando mostrado abaixo.

sudo yum install pósgresql-server postgreresql-contrrible

Em seguida, inicialize o banco de dados executando o seguinte comando.

Serviço PostGresql initdb

Inicie o serviço usando o SystemCtl, como mostrado abaixo.

sudo systemctl iniciar o pós -grausql

Instalando metasploit no Linux

Para instalar o metasploit no Linux, execute o comando mostrado abaixo.

Sudo Curl https: // RAW.GithubUserContent.com/rapid7/metasploit-omnibus/master/config/modsates/metasploit-framework-wrappers/msfupdate.erb> msfinstall && chmod 755 msfinstall && ./msfinstall

Depois de instalar o metasploit, você precisa inicializá -lo; O processo de inicialização criará o banco de dados para se conectar ao PostgreSQL. Execute o seguinte comando para inicializar o metasploit.

Observação: Ao executar o comando abaixo, você será perguntado se deseja inicializar o serviço da web metasploit para interagir com o metasploit através da API REST. Como não é necessário e muitos usuários reclamam de problemas ao lidar com o serviço da web, o que não é relevante para o uso de metasploit, digitei o “Não”Opção.

msfdb init

Depois que o metasploit for inicializado, inicie -o executando o comando mostrado na imagem abaixo.

MSFCONSOLE

Antes de começar com o metasploit, verifique se ele foi conectado com sucesso ao banco de dados, executando o seguinte comando.

db_status

Como você pode ver, o metasploit conectado com sucesso ao banco de dados; Podemos prosseguir com os comandos básicos do metasploit. Se você receber erros ao tentar se conectar, leia sobre os comandos de solução de problemas de banco de dados do Metasploit aqui.

Introdução com comandos básicos de metasploit

Esta seção explica os comandos básicos do metasploit, incluindo um exemplo prático de uso de cenário real.

A tabela abaixo mostra os comandos de metasploit mais usados ​​com uma breve explicação. Após a tabela, você pode ver como os comandos são aplicados em um cenário real.

Comando de metasploit Descrição breve
MSFCONSOLE Este comando executa o metasploit
procurar Este comando é usado para encontrar módulos e explorações pelo nome
usar O usar O comando é usado para selecionar módulos e explorações
mostrar opções Mostrar opções de módulo ou explorar
defina rhosts <Alvo (s)> Este comando é usado para definir alvos
defina portas <Portas> Este comando é usado para definir portas
Defina threads <Tópicos> Este comando é usado para definir threads
correr O correr O comando é usado para executar módulos
voltar O voltar O comando o leva de volta ao diretório anterior
db_nmap<Bandeiras><Alvo (s)> O db_nmap O comando permite que você use o NMAP integrado
Defina o RPORT <Alvo> Este comando é usado para definir portas
informações O comando info imprime o módulo ou explorar informações
explorar O explorar Comando executa o exploração selecionada
saída O saída O comando fecha a sessão do Target ou sai metasploit
carregar O comando de carga é usado para carregar plugins
descarregar O comando de descarga é usado para descarregar plugins
cd Este comando é usado para alterar a seleção atual
Ajuda / ? Ambos ajuda comando e ? Símbolo explica o uso dos comandos

Exemplo de comandos básicos de metasploit

Esta seção mostra um exemplo prático dos 14 primeiros comandos de metasploit listados na tabela anterior.

O endereço IP atribuído de destino neste exemplo é 192.168.0.101.

Para começar, execute o metasploit com o seguinte comando.

MSFCONSOLE

Para começar, vou executar uma verificação de porta contra o alvo para descobrir portas abertas. A metasploit inclui vários scanners de porta como módulos auxiliares que podemos escolher para digitalizar metas.

Para encontrar os módulos auxiliares de scanners de portas disponíveis, os módulos auxiliares, o procurar O comando é usado, seguido pelo tipo de módulo ou palavra -chave. Nesse caso, estamos procurando um PortScan; Portanto, precisamos executar o comando mostrado na imagem abaixo.

Pesquise portscan

Como você pode ver na captura de tela anterior, temos diferentes scanners de porta para diferentes fins. Nesse caso, quero executar uma varredura TCP usando o Auxiliar/Scanner/PortScan/TCP módulo.

Para selecionar o módulo escolhido, vou executar o usar comando, seguido pelo caminho para o módulo, como mostrado abaixo.

Use auxiliar/scanner/PortScan/tcp

Depois que o módulo for selecionado, precisamos saber suas opções necessárias ou disponíveis antes de usá -lo, para as quais usaremos o mostrar opções comando como mostrado na captura de tela abaixo.

mostrar opções

Das opções do módulo listadas na imagem acima, vou usar Rhosts Para definir o endereço IP alvo, Portas Para definir uma linha de portas e TÓPICOS Para definir o número de tarefas simultâneas. Então eu iniciarei o processo de digitalização executando o comando Run.

Exceto pelo correr comando usado neste exemplo, Rhosts, Portas, e TÓPICOS As opções devem ser precedidas pelo definir Comando retratado na tabela de comandos básicos do metasploit.

O Rhosts Sintaxe da opção para definir um alvo é mostrado abaixo, onde <Alvo (s)> deve ser substituído por um ou mais hosts de destino ou endereços IP. No meu caso, como mostrado na figura a seguir, o endereço IP de destino é 192.168.0.101.

defina rhosts

Abaixo você pode ver o Portas Sintaxe da opção, onde <Portas> Deve ser substituído pelo intervalo de porta ou porta que você deseja digitalizar. Para este exemplo, eu defini um intervalo de portas de 20 a 100.

defina portas

O TÓPICOS A opção permite definir o número de threads; Eu selecionei 10.

Defina threads

Depois de definir as opções mencionadas anteriormente, executo a varredura usando o correr comando. Você pode ver todo o processo na figura a seguir.

correr

Como você pode ver, as portas 23, 21, 22, 25, 53 e 80 estão abertas no alvo. Mas quero saber as versões de serviço ouvindo em cada porta aberta, para a qual usarei o NMAP no metasploit.

Vou usar o comando de volta para voltar ao contexto inicial para uma visão mais confortável.

voltar

Como eu disse, a saída anterior de varredura relatou portas abertas. Mas quero aprender mais sobre os serviços por trás desses portos abertos usando o NMAP.

O db_nmap O comando executa o NMAP do metasploit. No exemplo abaixo, vou lançar uma varredura de pegada. Neste tutorial, não vou explicar as bandeiras do NMAP, mas você pode aprender a pegadas com o NMAP neste artigo que publicamos no Linuxhint.

A sintaxe é simples, execute db_nmap seguido pelas bandeiras desejadas e pelo endereço IP de destino, como mostrado abaixo.

DB_NMAP -SC -SV -O 192.168.0.101

Como você pode ver na figura anterior, a versão de serviço FTP em execução na porta 21 é vsftpd 2.3.4.

Depois de aprender nosso alvo está funcionando vsftpd, Podemos usar o procurar comando para ver os recursos disponíveis para executar um ataque contra o software identificado.

Pesquise vsftp

Metasploit retornou uma exploração disponível (exploração/unix/ftp/vsftpd_234_backdoor) Podemos usar contra o servidor FTP vsftpd 2.3.4.

Anteriormente eu executei o usar comando para selecionar um módulo. Agora vou executar o usar comando para selecionar a exploração disponível, conforme mostrado na figura abaixo. A sintaxe é a mesma; execute o usar Comando seguido pelo caminho completo do Exploração.

Use explorar/unix/ftp/vsftpd_234_backdoor

Depois de selecionar a exploração, vou executar o mostrar opções comando para exibir as opções de exploração.

mostrar opções

Como você pode ver na figura anterior, as opções são Rhosts Para definir o alvo e Rport Para definir portas. Target e Port já estão selecionados. O alvo é obtido em nossa atividade anterior, enquanto a porta é a porta FTP padrão; Se fosse diferente, eu executaria o Defina o RPORT opção para mudar isso.

O informações O comando mostra informações adicionais sobre a exploração ou módulo selecionado. Abaixo você pode ver um exemplo do informações saída de comando.

informações

Se você quisesse definir um alvo diferente, você executaria o seguinte comando.

Definir Rhosts 192.168.0.101

Depois que o alvo e a porta forem definidos, execute o explorar comando para iniciar o exploração.

explorar

Como você pode ver, eu tenho uma concha remota no alvo. O ls Comando mostra os principais diretórios de destino. O alvo foi hackeado com sucesso.

Para se desconectar do alvo, eu corro o saída comando.

saída

Para sair do metasploit, use também o comando de saída.

saída

É tudo por agora; O exemplo dado acima inclui os comandos mais usados ​​para você começar com o metasploit.

Comandos de solucionamento de metasploit e pós -grausql

Muitos usuários reclamam de problemas ao se conectar ao banco de dados. Aqui eu listo alguns comandos que você pode usar se surgirem problemas ao conectar o metasploit ao banco de dados.

comandos de solução de problemas do msfdb Descrição
Serviço PostGresql Reiniciar Reinicie o PostGresql
msfdBreinit Remova e reinicialize o banco de dados
MSFDB DELETE Remova o banco de dados
msfdbinit Inicialize o banco de dados (execute após o exclusão do msfdb)
status msfdb Mostre o status do banco de dados
Run msfdb Inicie o banco de dados e execute o metasploit

Se você tiver problemas, tente usar os comandos na ordem da tabela. Primeiro, tente reiniciar o PostgreSQL. Se isso não funcionar, tente reinicializar o banco de dados. Se o problema persistir, remova o banco de dados e reinicalize -o. Use o status msfdb comando para verificar o status após cada comando.

Conclusão

O metasploit é uma das ferramentas pentesting mais populares para auditoria de segurança. Juntamente com o NMAP, leva a recursos de segurança multitarefa. Metasploit pode ser usado para fins defensivos e ofensivos. Como você pode ver, usá -lo não é difícil; Os usuários só precisam incorporar um pouco de conhecimento prático se já estiver familiarizado com a rede e a programação. A metasploit também está disponível para Mac OS e Microsoft Windows.

Obrigado por ler este tutorial explicando a instalação de metasploit e comandos básicos. Continue nos seguindo para mais dicas e tutoriais profissionais do Linux.