19
Curso: Testando a Segurança de sua Aplicação Web Matheus Fidelis - @fidelissauro

Aula 1 - Testando a Segurança de Sua Aplicação Web

Embed Size (px)

Citation preview

Page 1: Aula 1 - Testando a Segurança de Sua Aplicação Web

Curso:Testando a

Segurança de sua Aplicação Web

Matheus Fidelis - @fidelissauro

Page 2: Aula 1 - Testando a Segurança de Sua Aplicação Web

$whoamiMatheus Fidelis

Especialista em Sistemas e Segurança Linux Experiência em projetos e soluções Open SourceExperiência em Controle e Segurança de Servidores e Ambientes LinuxCEO Fundador do Proj. Nanoshots Open Source Security

Page 3: Aula 1 - Testando a Segurança de Sua Aplicação Web

Ementa do Curso:NÃO É O OBJETIVOFormar Hackers Éticos e apresentar roteiros de testes de instrusão.

OBJETIVO:O objetivo do curso é apresentar para desenvolvedores, analistas, profissionais e estudantes de segurança da informação uma bateria de testes afim de encontrar, classificar e explorar falhas mais comuns recorrentes em ambientes e aplicações web.

Após este curso o alunosegurança estará apto a realizar varreduras, análises e apresentar relatórios com vulnerabilidades do servidor afim de apresentar e propor melhorias e correções de falhas de sua própria aplicação, para a equipe ou clientes.

25 Horas

CURSO PRATICO!!!

Page 4: Aula 1 - Testando a Segurança de Sua Aplicação Web

Material do Curso:

Virtualbox 4.3 + - https://www.virtualbox.org/

Kali Linux 2.0 - https://www.kali.org/Metasploitable VM - SQLi VM -

Page 5: Aula 1 - Testando a Segurança de Sua Aplicação Web

Hackers e MotivaçõesHacker - Pessoas que utilizam seu conhecimento para explorar e modificar a favor das pessoasCracker - Pessoas que utilizam seu conhecimento para tirar proveito ou prejudicarScript Kiddie - Normalmente pessoas que não possuem muito conhecimento e passam a procurar soluções prontas para exploits

Page 6: Aula 1 - Testando a Segurança de Sua Aplicação Web

tipos de pentestBlack Box - Tem o objetivo de simular a visão real de um hacker malicioso, onde o atacante não possui nenhuma informação sobre o sistema e a infraestrutura. Gray Box - Este teste funciona com um grau intermediário de informações disponibilizadas. Como rotinas, sistemas a serem testados, horários e gargalos visando não comprometer o funcionamento do sistema durante horários de pico e gargalo.White Box - Esta modalidade mais rápida que visa testar as vulnerabilidades junto a equipe de infraestrutura e desenvolvimento que irá colaborar com as informações dos sistemas e disponibilizando dados que necessitar

Page 7: Aula 1 - Testando a Segurança de Sua Aplicação Web

acordos de contrato

GrayWhite Black

Page 8: Aula 1 - Testando a Segurança de Sua Aplicação Web

O QUE EU DEVO SABER SOBRE O HTTP?

É o processo utilizado para realizar comunicações com o servidor WebBaseado totalmente em texto

Trabalha com Requests e Responses entre o cliente e servidor

Protocolo totalmente sem estados(Cada solicitação corresponde a um evento totalmente novo e independente do anterior

“Hyper Text Transfer Protocol”

Page 9: Aula 1 - Testando a Segurança de Sua Aplicação Web

O QUE EU DEVO SABER SOBRE O HTTP?

Ainda assim, como ela mantém o controle da sessão e das solicitações anteriores?

Cookies e Sessões

Menos praticidade

Inumeras solicitações de Login

Page 10: Aula 1 - Testando a Segurança de Sua Aplicação Web

O QUE EU DEVO SABER SOBRE O HTTP?

Gera enormes vetores de ataque

PORÉM…. Interceptação de Tráfego

Exposição a Sniffers de Rede

Session Hijacking (Roubo de Sessão)

Captura de Cookies

Page 11: Aula 1 - Testando a Segurança de Sua Aplicação Web

USO DO HTTPS“Hyper Text Transfer Protocol Secure”

O HTTPS é a versão Criptografada do HTTPHTTP rodando sobre o protocolo SSL/TLS(Secure Socket Layer/Transport Layer Security)Dificulta ataques MITM - “Man in the middle”Cria um “Canal Privado” entre o cliente e o servidor Não impede que ataques sejam realizados sobre a aplicação

Page 12: Aula 1 - Testando a Segurança de Sua Aplicação Web

CICLOS DO HTTP

Navegador envia a solicitação com todas as variáveis, cookies, headers,

O Servidor interpreta a solicitação e responde a solicitação baseado nos parâmetros enviados, enviando respostas determinadas pelas solicitações.request

response

Page 13: Aula 1 - Testando a Segurança de Sua Aplicação Web

COOKIE - Esse cabeçalho mostra o cookie que pode estar servindo como identificador de sessão do usuário. É possível roubar essa sessão com uso de Sniffers como Wireshark e Ettercap

HTTP READERS

INFORMAÇÕES UTEIS ENCONTRADAS NOS CABEÇALHOS HTTP

Content-Length - É o tamanho em bytes da resposta. Utilizado para analise de força bruta.

Location - É usado quando é necessário fazer o redirecionamento de um usuário para alguma outra página.Referrer - Este dado mostra onde o navegador do usuário estava anteriormente. Pode ser manipulado para quebrar regras de segurança

Page 14: Aula 1 - Testando a Segurança de Sua Aplicação Web

✘ 100’s : São respostas adicionais do servidor, raramente são utilizadas.

✘ 200’s: Indicam que nossas solicitações foram aceitas e processadas pelo servidor

✘ 300’s: São respostas que indicam redirecionamento. Como ao tentar acessar um painel administrativo sem sessão válida, mandando o cliente para alguma página index ou login.

✘ 400’s: Representam erros na solicitação. As mais comuns são “404: Not Found” e “403: Forbidden”

✘ 500’s: São utilizados para apresentar erros no lado do servidor, como “500: Internal Server Error”

https statusAs respostas do servidor incluem códigos de status para indicar o tipo de resposta que ele deu para nossa solicitação. Eles são classificados em 5 grupos.

Page 15: Aula 1 - Testando a Segurança de Sua Aplicação Web

SERVIDOR WEB

HARDWARE

SERVIÇOS QUE ESTÃO SENDO EXECUTADOS NAS PORTAS DO SERVIDOR QUE PERMITAM QUE A APLICAÇÃO SEJA ACESSADA.

Page 16: Aula 1 - Testando a Segurança de Sua Aplicação Web

APLICAÇÃO WEB

CODIGO FONTE QUE ESTÁ SENDO EXECUTADO NO SERVIDOR WEB QUE PROVÊ AS FUNCIONALIDADES QUE OS USUÁRIOS PODEM UTILIZAR.

EX: PHP, JAVA, PYTHON, RUBY E ETC

Page 17: Aula 1 - Testando a Segurança de Sua Aplicação Web

1º - SQL Injection

OWASP TOP 102013

2º - Quebra de autenticação e Sessão

3 º - Cross-Site Scripting (XSS)4º - Referência Insegura e Direta a Objetos

5º -Configuração incorreta 6º - Exposição de Dados Sensíveis

7º - Falta de Controle do Nível de Acesso

8º - Cross-Site Request Forgery (CSRF)

9º - Utilização de Componentes Vulneráveis Conhecidos

10º - – Redirecionamentos e Encaminhamentos Inválidos

Page 18: Aula 1 - Testando a Segurança de Sua Aplicação Web

Obrigado!Perguntas?Twitter: @[email protected]

www.nanoshots.com.br

Page 19: Aula 1 - Testando a Segurança de Sua Aplicação Web

CreditsSpecial thanks to all the people who made and released these awesome resources for free:

✘Presentation template by SlidesCarnival✘Photographs by Unsplash