Curso:
Testando a
Segurança de sua
Aplicação Web
Matheus Fidelis - @fidelissauro
$whoami
Matheus Fidelis
Especialista em Sistemas e Segurança Linux
Experiência em projetos e soluções Open Source
Experiência em Controle e Segurança de Servidores e
Ambientes Linux
CEO Fundador do Proj. Nanoshots Open Source Security
Ementa do Curso:
NÃO É O OBJETIVO
Formar 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!!!
Material do Curso:
Virtualbox 4.3 + - https://www.virtualbox.org/
Kali Linux 2.0 - https://www.kali.org/
Metasploitable VM -
SQLi VM -
Hackers e Motivações
Hacker - Pessoas que utilizam seu conhecimento para explorar
e modificar a favor das pessoas
Cracker - Pessoas que utilizam seu conhecimento para tirar
proveito ou prejudicar
Script Kiddie - Normalmente pessoas que não possuem muito
conhecimento e passam a procurar soluções prontas para
exploits
tipos de pentest
Black 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
acordos de contrato
GrayWhite Black
O QUE EU DEVO SABER SOBRE O HTTP?
É o processo utilizado para realizar
comunicações com o servidor Web
Baseado 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”
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
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
USO DO HTTPS
“Hyper Text Transfer Protocol Secure”
O HTTPS é a versão Criptografada do HTTP
HTTP 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
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
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
✘ 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 status
As 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.
SERVIDOR WEB
HARDWARE
SERVIÇOS QUE ESTÃO SENDO
EXECUTADOS NAS PORTAS DO
SERVIDOR QUE PERMITAM QUE A
APLICAÇÃO SEJA ACESSADA.
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
1º - SQL Injection
OWASP TOP 10
2013
2º - Quebra de autenticação e Sessão
3 º - Cross-Site Scripting (XSS)
4º - Referência Insegura e Direta a Objeto
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
Obrigado!
Perguntas?
Twitter: @fidelissauro
msfidelis01@gmail.com
www.nanoshots.com.br
Credits
Special thanks to all the people who made and released
these awesome resources for free:
✘Presentation template by SlidesCarnival
✘Photographs by Unsplash

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

  • 1.
    Curso: Testando a Segurança desua Aplicação Web Matheus Fidelis - @fidelissauro
  • 2.
    $whoami Matheus Fidelis Especialista emSistemas e Segurança Linux Experiência em projetos e soluções Open Source Experiência em Controle e Segurança de Servidores e Ambientes Linux CEO Fundador do Proj. Nanoshots Open Source Security
  • 3.
    Ementa do Curso: NÃOÉ O OBJETIVO Formar 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!!!
  • 4.
    Material do Curso: Virtualbox4.3 + - https://www.virtualbox.org/ Kali Linux 2.0 - https://www.kali.org/ Metasploitable VM - SQLi VM -
  • 5.
    Hackers e Motivações Hacker- Pessoas que utilizam seu conhecimento para explorar e modificar a favor das pessoas Cracker - Pessoas que utilizam seu conhecimento para tirar proveito ou prejudicar Script Kiddie - Normalmente pessoas que não possuem muito conhecimento e passam a procurar soluções prontas para exploits
  • 6.
    tipos de pentest BlackBox - 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
  • 7.
  • 8.
    O QUE EUDEVO SABER SOBRE O HTTP? É o processo utilizado para realizar comunicações com o servidor Web Baseado 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”
  • 9.
    O QUE EUDEVO 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
  • 10.
    O QUE EUDEVO 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
  • 11.
    USO DO HTTPS “HyperText Transfer Protocol Secure” O HTTPS é a versão Criptografada do HTTP HTTP 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
  • 12.
    CICLOS DO HTTP Navegadorenvia 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
  • 13.
    COOKIE - Essecabeç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
  • 14.
    ✘ 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 status As 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.
  • 15.
    SERVIDOR WEB HARDWARE SERVIÇOS QUEESTÃO SENDO EXECUTADOS NAS PORTAS DO SERVIDOR QUE PERMITAM QUE A APLICAÇÃO SEJA ACESSADA.
  • 16.
    APLICAÇÃO WEB CODIGO FONTEQUE ESTÁ SENDO EXECUTADO NO SERVIDOR WEB QUE PROVÊ AS FUNCIONALIDADES QUE OS USUÁRIOS PODEM UTILIZAR. EX: PHP, JAVA, PYTHON, RUBY E ETC
  • 17.
    1º - SQLInjection OWASP TOP 10 2013 2º - Quebra de autenticação e Sessão 3 º - Cross-Site Scripting (XSS) 4º - Referência Insegura e Direta a Objeto 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
  • 18.
  • 19.
    Credits Special thanks toall the people who made and released these awesome resources for free: ✘Presentation template by SlidesCarnival ✘Photographs by Unsplash