Baixe Apostila Pentest Web e outras Resumos em PDF para Língua Portuguesa, somente na Docsity!
Coordenação de Tecnologia da Informação – CTI Divisão de Informática - DINF Coordenação de Tecnologia da Informação – CTI MJ – Departamento de Polícia Federal
Pen-test de Aplicações Web: Técnicas e
Ferramentas
Ivo de Carvalho Peixinho Perito Criminal Federal
Coordenação de Tecnologia da Informação – CTI
Agenda
1.Introdução
2.Ferramentas
3. Metodologia
4.Conclusões
Coordenação de Tecnologia da Informação – CTI
Introdução
- Segurança de Aplicações Web
- SSL/TLS como panacéia de segurança
- Protocolo HTTP inseguro
- Inadequado para aplicações web ( stateless )
- Clientes ( Browsers ) inseguros
- Usuário pode manipular dados
- Usuário pode enviar dados arbitrários
- Proteção de perímetro insuficiente
Coordenação de Tecnologia da Informação – CTI
Introdução
- Análise de Vulnerabilidades
- Pode ser automatizado por ferramentas
- Bons para aplicações off the shelf (Webmail, blogs, etc).
- Podem não encontrar todas as vulnerabilidades da aplicação (variações)
- Podem gerar falso-positivos
- Pen-Testing
- Requer conhecimento e tempo por parte do analista
- Capaz de encontrar vulnerabilidades mais complexas
- Comprovação das vulnerabilidades (sem falso-positivos)
Coordenação de Tecnologia da Informação – CTI
Metodologia
1. Mapear o conteúdo da aplicação
2. Analisar a aplicação e o servidor
3. Testar controles no lado do cliente
4. Testar mecanismos de autenticação
5. Testar mecanismos de gerenciamento de sessão
6. Testar controles de acesso
7. Testar vulnerabilidades nos parâmetros de entrada
8. Testar vulnerabilidades do Web Server
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Mapear o conteúdo da aplicação
- Web Spidering
- Varrer links da aplicação
- Montar “mapa da aplicação”
- Ferramentas automáticas
- Burp Suite
- WebScarab
- Paros Proxy
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Mapear o conteúdo da aplicação
- Web Spidering automático
- Desvantgens
- Métodos de navegação não usuais
- Funções com validação de dados
- Gerenciamento de sessões
- Spidering manual
- Ferramentas de interceptação / proxy
- Acesso manual à aplicação
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Mapear o conteúdo da aplicação
- Conteúdo escondido
- Força bruta (admin, access, setup, teste,
test, downloads, private, phpinfo, .php)
- robots.txt
- Mecanismos de busca (google site: e link: )
- Caminhos escondidos em aplicações
conhecidas
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Analisar o servidor
- Identificando o servidor Web
- httprint
- Mensagens de erro da aplicação
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Possível superfície de ataque
- Bancos de dados -> Injeção SQL
- Envio/download de arquivos -> Vulnerabilidades de path traversal
- Apresentação de dados enviados pelo usuário -> XSS
- Autenticação -> enumeração de usuários, senhas fracas, força bruta
- Mensagens de erro -> Vazamento de informação
- Componentes nativos -> buffer overflows
- Componentes de terceiros -> Vulnerabilidades conhecidas
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Testar controles no lado do cliente
- Campos de formulário escondidos
- Parametros em URL
- Dados obfuscados
- Limites de tamanho em formulários
- Validação Javascript (ex: CPF)
- Atributos desabilitados (disabled=“true”)
- Componentes compilados (Applets Java, etc)
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Testar controles no lado do cliente
- Applets em Java
- Bytecode decompilável
- JAva Decompiler (JAD)
- Possibilidades
- Alterar e recompilar
- Analisar métodos públicos (JavaScript)
- Converter em linha de comando (void main)
Coordenação de Tecnologia da Informação – CTI
Metodologia
- Testar mecanismos de autenticação
- Senhas fracas
- Possibilidade de enumerar usuários
- Força bruta de usuários
- Mecanismos de recuperação de senhas e
contas
- Cookies de lembrança ( remember-me )
Coordenação de Tecnologia da Informação – CTI
Metodologia