Edlaine Zamora
Como analisar a vulnerabilidade de uma aplicação
web com o Kali Linux
Quem sou eu?
Formação
- Graduada em Informática pela Universidade Estadual de Maringá
- Especialista em Desenvolvimento Web pela Universidade Estadual de Maringá
O que eu faço atualmente
- Consultora de Desenvolvimento na Thoughtworks de BH
Contatos
- Linkedin: https://www.linkedin.com/in/edlaine-zamora-73a53795/
- E-mail: edlainetsz1@hotmail.com
- Twitter: @edlainezamora
- Website: http://www.edlainezamora.com.br
- Github: https://github.com/EdlaineZamora
Segurança da Informação
A segurança da informação diz respeito à
proteção de determinados dados, com a intenção
de preservar seus respectivos valores para uma
organização (empresa) ou um indivíduo.
Segurança da Informação
Confidencialidade: Sigilo das
informações. Disponibilizá-las somente
aos usuários devidamente autorizados.
Integridade: Assegurar que as
informações estarão disponibilizadas na
mesma forma que foram salvas.
Disponibilidade: Garantia de que todas as
informações estarão disponíveis, a todo e
qualquer momento.
Segurança da Informação
A Segurança da Informação promove a proteção de dados contra diversos tipos de vulnerabilidade.
Uma dessas vulnerabilidades que podemos mencionar é a de software, pois é muito comum um
software apresentar erros e falhas que possibilitem a violação de dados.
OWASP - The Open Web Application Security Project
Comunidade aberta, dedicada a capacitar as organizações a desenvolver, adquirir e manter
aplicações confiáveis.
https://www.owasp.org/
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
1. Injeção
As falhas de injeção, em especial SQL Injection, são muito comuns em aplicações Web. A injeção
ocorre quando os dados fornecidos pelo usuário são enviados a um interpretador contendo comandos
mal intencionados.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
2. Quebra de Autenticação e Gerenciamento de Sessão
As credenciais de acesso e token de sessão não são protegidos apropriadamente. Atacantes
comprometem senhas, chaves ou tokens de autenticação de forma a assumir a identidade
de outros usuários.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
3. Cross Site Scripting (XSS)
Os furos XSS ocorrem sempre que uma aplicação obtém as informações fornecidas pelo usuário e as
envia de volta ao navegador sem realizar validação ou codificação daquele conteúdo. O XSS permite
aos atacantes executarem scripts no navegador da vítima, o qual pode roubar sessões de usuário,
modificar sites Web, introduzir worms, etc.
No exemplo acima, a aplicação não valida o dado enviado no parâmetro CC do request e constrói um
HTML. O atacante modifica o parâmetro CC adicionando um script que irá roubar os dados de cookie.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
4. Falha de Controle de Acesso
Restrições de perfil de acesso não são devidamente aplicadas. Atacantes podem explorar essas falhas
para acessar a funcionalidade e/ou dados não autorizados.
No primeiro caso, o atacante pode colocar qualquer conta na requisição e, como não é verificada, ele pode ter acesso
às informações desta conta.
No segundo caso, o atacante explora URLs com rotas que solicitam informações de admin. Se não há uma validação
para testar se o usuário está logado e tem permissão para essa url, ele consegue acessar essas informações.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
5. Configuração Incorreta de Segurança
Boa segurança requer uma configuração segura definida e
implementada para a aplicação, frameworks, servidor de
aplicação, servidor web, servidor de banco de dados, plataforma,
etc. Além disso, software deve ser mantido atualizado.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
6. Exposição de Dados Sensíveis
Muitas aplicações web e APIs não protegem adequadamente
dados confidenciais. Os atacantes podem roubar ou modificar
tais dados fracamente protegidos para fraude de cartão, roubo
de identidade ou outros crimes. Os dados sensíveis merecem
uma proteção de criptografia, bem como precauções especiais
quando trocadas com o navegador.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
7. Insuficiente Proteção Contra Ataques
A proteção contra ataques vai muito além da validação básica de
entrada e envolve detecção automática, registro, resposta e até
bloqueio de tentativas de exploração.
Atacantes usam ferramentas automatizadas como SQLMap para
detectar vulnerabilidades. Neste caso, uma detecção de ataque
poderia identificar que a aplicação começou a receber uma
quantidade de request incomum e tomar alguma ação referente a
isto.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
8. Cross Site Request Forgery (CSRF)
Um ataque CSRF força o navegador da vítima, que esteja autenticado em uma aplicação, a enviar uma
requisição pré-autenticada à um servidor Web vulnerável, que por sua vez força o navegador da vítima
a executar uma ação maliciosa em prol do atacante.
A aplicação permite ao usuário submeter informações na url sem nenhuma proteção. Então, o atacante
constrói uma imagem com a URL fazendo transferir um valor monetário para sua conta. Como o
usuário está logado, se ele clicar na imagem, a aplicação vai executar o request.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
9. Utilização de Componentes Vulneráveis Conhecidos
Os componentes, como bibliotecas, frameworks e outros módulos
de software mantém um contato direto com a aplicação. Se um
componente vulnerável é explorado, tal ataque pode causar séria
perda de dados. Aplicações e APIs que utilizam componentes
com vulnerabilidades podem minar as defesas de aplicação e
permitir vários ataques e impactos.
Top 10 Vulnerabilidades mais Críticas em Aplicações Web (2017)
10. APIs Desprotegidas
As aplicações modernas envolvem frequentemente aplicações de cliente ricas e APIs, como JavaScript
no navegador e aplicativos móveis, que se conectam a uma API de algum tipo (SOAP, REST, com
JSON ou XML, etc.). Estas APIs são frequentemente desprotegidas e contêm numerosas
vulnerabilidades.
Kali Linux
- Distribuição Linux especializada em Testes de Intrusão e Auditoria de Segurança
- Muito apreciada por hackers e analistas de segurança
- Possui muitos softwares pré-instalados para análise de segurança, incluindo o Nmap (port
scanner), Wireshark (um sniffer), John the Ripper (crackeador de password), Aircrack-ng
(software para testes de segurança em redes sem fios) e SQLMap (teste de sql injection)
- É distribuído em imagens ISO compilados para diferentes arquiteturas
- Pode ser instalado como sistema operacional principal
Aplicação para Estudo de Caso
http://testphp.vulnweb.com/search.php?test=query
Site da empresa Acunetix - endereço que permite fazer testes de sql injection
Ferramenta para Demonstração: SQLMap
Sqlmap é uma ferramenta de teste de intrusão de código aberto que automatiza o processo de detecção
e exploração de falhas de injeção de SQL.
- Comando para executar o teste de vulnerabilidade de injeção de sql:
sqlmap -u http://testphp.vulnweb.com/search.php?test=query --dbs
- Comando para listar as tabelas do banco de dados:
sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables
Ferramenta para Demonstração: SQLMap
- Comando para listar as colunas da tabela users:
sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables -T users --columns
- Comando para listar os usuários e senhas do banco:
sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables -T users -C 'name, pass'
--dump
Edlaine Zamora
Obrigada

Como analisar a vulnerabilidade de uma aplicação web com o Kali Linux

  • 1.
    Edlaine Zamora Como analisara vulnerabilidade de uma aplicação web com o Kali Linux
  • 2.
    Quem sou eu? Formação -Graduada em Informática pela Universidade Estadual de Maringá - Especialista em Desenvolvimento Web pela Universidade Estadual de Maringá O que eu faço atualmente - Consultora de Desenvolvimento na Thoughtworks de BH Contatos - Linkedin: https://www.linkedin.com/in/edlaine-zamora-73a53795/ - E-mail: edlainetsz1@hotmail.com - Twitter: @edlainezamora - Website: http://www.edlainezamora.com.br - Github: https://github.com/EdlaineZamora
  • 3.
    Segurança da Informação Asegurança da informação diz respeito à proteção de determinados dados, com a intenção de preservar seus respectivos valores para uma organização (empresa) ou um indivíduo.
  • 4.
    Segurança da Informação Confidencialidade:Sigilo das informações. Disponibilizá-las somente aos usuários devidamente autorizados. Integridade: Assegurar que as informações estarão disponibilizadas na mesma forma que foram salvas. Disponibilidade: Garantia de que todas as informações estarão disponíveis, a todo e qualquer momento.
  • 5.
    Segurança da Informação ASegurança da Informação promove a proteção de dados contra diversos tipos de vulnerabilidade. Uma dessas vulnerabilidades que podemos mencionar é a de software, pois é muito comum um software apresentar erros e falhas que possibilitem a violação de dados.
  • 6.
    OWASP - TheOpen Web Application Security Project Comunidade aberta, dedicada a capacitar as organizações a desenvolver, adquirir e manter aplicações confiáveis. https://www.owasp.org/
  • 7.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 1. Injeção As falhas de injeção, em especial SQL Injection, são muito comuns em aplicações Web. A injeção ocorre quando os dados fornecidos pelo usuário são enviados a um interpretador contendo comandos mal intencionados.
  • 8.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 2. Quebra de Autenticação e Gerenciamento de Sessão As credenciais de acesso e token de sessão não são protegidos apropriadamente. Atacantes comprometem senhas, chaves ou tokens de autenticação de forma a assumir a identidade de outros usuários.
  • 9.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 3. Cross Site Scripting (XSS) Os furos XSS ocorrem sempre que uma aplicação obtém as informações fornecidas pelo usuário e as envia de volta ao navegador sem realizar validação ou codificação daquele conteúdo. O XSS permite aos atacantes executarem scripts no navegador da vítima, o qual pode roubar sessões de usuário, modificar sites Web, introduzir worms, etc. No exemplo acima, a aplicação não valida o dado enviado no parâmetro CC do request e constrói um HTML. O atacante modifica o parâmetro CC adicionando um script que irá roubar os dados de cookie.
  • 10.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 4. Falha de Controle de Acesso Restrições de perfil de acesso não são devidamente aplicadas. Atacantes podem explorar essas falhas para acessar a funcionalidade e/ou dados não autorizados. No primeiro caso, o atacante pode colocar qualquer conta na requisição e, como não é verificada, ele pode ter acesso às informações desta conta. No segundo caso, o atacante explora URLs com rotas que solicitam informações de admin. Se não há uma validação para testar se o usuário está logado e tem permissão para essa url, ele consegue acessar essas informações.
  • 11.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 5. Configuração Incorreta de Segurança Boa segurança requer uma configuração segura definida e implementada para a aplicação, frameworks, servidor de aplicação, servidor web, servidor de banco de dados, plataforma, etc. Além disso, software deve ser mantido atualizado.
  • 12.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 6. Exposição de Dados Sensíveis Muitas aplicações web e APIs não protegem adequadamente dados confidenciais. Os atacantes podem roubar ou modificar tais dados fracamente protegidos para fraude de cartão, roubo de identidade ou outros crimes. Os dados sensíveis merecem uma proteção de criptografia, bem como precauções especiais quando trocadas com o navegador.
  • 13.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 7. Insuficiente Proteção Contra Ataques A proteção contra ataques vai muito além da validação básica de entrada e envolve detecção automática, registro, resposta e até bloqueio de tentativas de exploração. Atacantes usam ferramentas automatizadas como SQLMap para detectar vulnerabilidades. Neste caso, uma detecção de ataque poderia identificar que a aplicação começou a receber uma quantidade de request incomum e tomar alguma ação referente a isto.
  • 14.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 8. Cross Site Request Forgery (CSRF) Um ataque CSRF força o navegador da vítima, que esteja autenticado em uma aplicação, a enviar uma requisição pré-autenticada à um servidor Web vulnerável, que por sua vez força o navegador da vítima a executar uma ação maliciosa em prol do atacante. A aplicação permite ao usuário submeter informações na url sem nenhuma proteção. Então, o atacante constrói uma imagem com a URL fazendo transferir um valor monetário para sua conta. Como o usuário está logado, se ele clicar na imagem, a aplicação vai executar o request.
  • 15.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 9. Utilização de Componentes Vulneráveis Conhecidos Os componentes, como bibliotecas, frameworks e outros módulos de software mantém um contato direto com a aplicação. Se um componente vulnerável é explorado, tal ataque pode causar séria perda de dados. Aplicações e APIs que utilizam componentes com vulnerabilidades podem minar as defesas de aplicação e permitir vários ataques e impactos.
  • 16.
    Top 10 Vulnerabilidadesmais Críticas em Aplicações Web (2017) 10. APIs Desprotegidas As aplicações modernas envolvem frequentemente aplicações de cliente ricas e APIs, como JavaScript no navegador e aplicativos móveis, que se conectam a uma API de algum tipo (SOAP, REST, com JSON ou XML, etc.). Estas APIs são frequentemente desprotegidas e contêm numerosas vulnerabilidades.
  • 17.
    Kali Linux - DistribuiçãoLinux especializada em Testes de Intrusão e Auditoria de Segurança - Muito apreciada por hackers e analistas de segurança - Possui muitos softwares pré-instalados para análise de segurança, incluindo o Nmap (port scanner), Wireshark (um sniffer), John the Ripper (crackeador de password), Aircrack-ng (software para testes de segurança em redes sem fios) e SQLMap (teste de sql injection) - É distribuído em imagens ISO compilados para diferentes arquiteturas - Pode ser instalado como sistema operacional principal
  • 18.
    Aplicação para Estudode Caso http://testphp.vulnweb.com/search.php?test=query Site da empresa Acunetix - endereço que permite fazer testes de sql injection
  • 19.
    Ferramenta para Demonstração:SQLMap Sqlmap é uma ferramenta de teste de intrusão de código aberto que automatiza o processo de detecção e exploração de falhas de injeção de SQL. - Comando para executar o teste de vulnerabilidade de injeção de sql: sqlmap -u http://testphp.vulnweb.com/search.php?test=query --dbs - Comando para listar as tabelas do banco de dados: sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables
  • 20.
    Ferramenta para Demonstração:SQLMap - Comando para listar as colunas da tabela users: sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables -T users --columns - Comando para listar os usuários e senhas do banco: sqlmap -u http://testphp.vulnweb.com/search.php?test=query -D acuart --tables -T users -C 'name, pass' --dump
  • 21.