Escolar Documentos
Profissional Documentos
Cultura Documentos
● Grupo Clavis
● Sócio Diretor Técnico
● Análise forense computacional
● Detecção e resposta a incidentes de segurança
● Testes de invasão em redes, sistemas e
aplicações.
Contatos
rafaelsoaresferreira@gmail.com
rafaelsoaresferreira
@rafaelsferreira
www.facebook.com/rafaelsoaresferreira
Agenda
● Introdução
● Ambiente de Teste
● Utilização
● Varreduras
● Mantendo Acesso
● Módulos Auxiliares
Introdução
Definição
● Solução livre para Testes de Invasão
● Open Source
● Mantido pela comunidade (& Rapid7)
● Também possui Versões Comerciais
Introdução
Versões
“for IT Professionals”
Objetivo
● Desenvolvimento de Exploits
● Customização e Lançamento
● Exploits Testados e Reescritos
Introdução
Arquitetura
Introdução
Sistema de Arquivos
Bibliotecas
Módulos
Exploits
● Módulo + Payload
● Modúlos Auxiliares
Módulos - Localização
Primários
● $install/modules/
Privados
● ~/.msf3/modules/
Introdução
Plugins
● Automatizam tarefas
● Adicionam funcionalidades
● Suportados apenas na msfconsole
Utilização
Interfaces - msfcli
● Linha de Comando
● Apenas uma sessão por vez
● Útil para scripts e automatizações
Utilização
Interfaces - msfcli
Utilização
Interfaces - msfcli
● Variáveis definidas através do “=”
● Comandos úteis
O – Visualiza opções para o módulo
P – Visualiza payloads para o módulo
-h – Menu de ajuda
Utilização
Interfaces - msfcli
Utilização
Interfaces - msfcli
Utilização
Interfaces -
msfweb
● Point-and-Click
● Retirada do desenvolvimento
● Proposta de Substituição: Armitage
Utilização
Interfaces - msfconsole
Interfaces - msfconsole
Utilização
Interfaces - msfconsole
Comandos Básicos
● help
● use / back
● info / show
● check
● exploit / run
Utilização
Interfaces - msfconsole
Comando “connect”
● Similar ao netcat ou telnet
● Suporte a SSL
Utilização
Interfaces - msfconsole
Comando “irb”
● Interpretador Ruby
Interfaces - msfconsole
Comando “jobs”
● Módulos em background
Utilização
Interfaces - msfconsole
Comando “load/unload/loadpath”
● Carrega plugins ou adiciona paths
Utilização
Interfaces - msfconsole
Comando “resource / -r”
● Carrega rotinas pré-prontas
Utilização
Interfaces - msfconsole
Comando “set / unset / setg”
Utilização
Interfaces - msfconsole
Comando “sessions”
● Interação com sessões abertas
Utilização
Interfaces - msfconsole
Comando “search”
● Busca por expressão regular
Utilização
Exploits
● Busca por módulos
● Configuração de parâmetros
● Escolha de alvo(s)
● Podem ser ativos ou passivos
Utilização
Exploits – Ativos
● Sinais de Sucesso (Shell)
● Força Bruta
● Não tolerante a erros
● Podem rodar em background (-j)
Utilização
Exploits – Ativos
Utilização
Exploits – Passivos
Exploits – Passivos
Utilização
Payloads
●Inline
Payload simples e completo
● Staged
Dividido em 2 agentes:
Stager - responsável pelo canal
Stage - execução de código remoto
Utilização
Payloads
●Meterpreter
Opera via dll injection
Reside em memória (não deixa rastros)
● PassiveX
Utiliza o ActiveX control
Comunicação através de HTTP
Utilização
Payloads
● NoNX
Visa burlar DEP
●Ord
Payloads genéricos para Windows
Funciona com configurações default
Tamanho reduzido
Utilização
Payloads
●IPv6
Payloads para redes Ipv6
● Reflective DLL injection
Injeção feita em processo em execução
Não afeta o disco rígido
Utilização
Payloads
● Customização de opções
● Pode ser extraído o shellcode
Utilização
Payloads
Utilização
Meterpreter
● Gestão de sessões
● Informações de processos
● Manipulação de arquivos
● Execução de Comandos
Utilização
Meterpreter
Utilização
Meterpreter
Utilização
Meterpreter
Utilização
Meterpreter
Utilização
Meterpreter
Utilização
Meterpreter
Obtenção de Informação
● Port Scanning
● Identificação de Serviços
● Captura de Senhas
● SNMP Sweeping
Obtenção de Informação
Sugestão: Dradis
Sugestão: Dradis
Obtenção de Informação
Port Scanning
● Importando resultados
Obtenção de Informação
Port Scanning
● Visualizando
Obtenção de Informação
Port Scanning
● Visualizando (no Dradis)
Obtenção de Informação
Port Scanning
Port Scanning
Obtenção de Informação
Idle Scanning
● Scan sub-reptício
Obtenção de Informação
Idle Scanning
Obtenção de Informação
Idle Scanning
Obtenção de Informação
Servidores MSSQL
● Execução de Comandos
Obtenção de Informação
Servidores MSSQL
Obtenção de Informação
Servidores MSSQL
Obtenção de Informação
Identificação de Serviços
● Tunning de performance
Obtenção de Informação
Identificação de Serviços
Obtenção de Informação
Identificação de Serviços
● Exemplo SSH:
Obtenção de Informação
Identificação de Serviços
● Exemplo FTP:
Obtenção de Informação
Captura de Senhas
● Módulo psnuffle
● Similar ao dsniff
Captura de Senhas
Obtenção de Informação
SNMP Sweeping
● Scan Ativo
● Community Scanning
● Força Bruta
Obtenção de Informação
SNMP Sweeping
Obtenção de Informação
SNMP Sweeping
Identificação de Vulnerabilidades
Open X11
Identificação de Vulnerabilidades
● Plugin nativo
● Focado em Aplicações Web
● Originalmente baseada no SQLmap
Identificação de Vulnerabilidades
MSF Database
● hosts
● notes
● services
● vulns
● creds
Mantendo Acesso
● Keylogging
● Backdoor
● Escalada de Privilégio
● Captura de Tela
● etc...
Mantendo Acesso
Keylogging
Mantendo Acesso
Backdooring
Mantendo Acesso
Escalada
Mantendo Acesso
Captura de Tela
Estudos de Caso
● Exploração “default”
● Módulos Auxiliares
● Pós Invasão
Conclusão
Perguntas?
Críticas?
Sugestões?
Muito Obrigado!
rafael@clavis.com.br