“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ósgresqlInstruçõ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-contrribleEm seguida, inicialize o banco de dados executando o seguinte comando.
Serviço PostGresql initdbInicie o serviço usando o SystemCtl, como mostrado abaixo.
sudo systemctl iniciar o pós -grausqlInstalando 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 && ./msfinstallDepois 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 initDepois que o metasploit for inicializado, inicie -o executando o comando mostrado na imagem abaixo.
MSFCONSOLEAntes de começar com o metasploit, verifique se ele foi conectado com sucesso ao banco de dados, executando o seguinte comando.
db_statusComo 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.
MSFCONSOLEPara 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 portscanComo 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/tcpDepois 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çõesDas 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 rhostsAbaixo 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 portasO TÓPICOS A opção permite definir o número de threads; Eu selecionei 10.
Defina threadsDepois de definir as opções mencionadas anteriormente, executo a varredura usando o correr comando. Você pode ver todo o processo na figura a seguir.
correrComo 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.
voltarComo 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.101Como 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 vsftpMetasploit 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_backdoorDepois de selecionar a exploração, vou executar o mostrar opções comando para exibir as opções de exploração.
mostrar opçõesComo 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çõesSe você quisesse definir um alvo diferente, você executaria o seguinte comando.
Definir Rhosts 192.168.0.101Depois que o alvo e a porta forem definidos, execute o explorar comando para iniciar o exploração.
explorarComo 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ídaPara 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.