40

Badass XSS: Esqueça o alert e vá para mundo real

Embed Size (px)

DESCRIPTION

Co0L BSidesSP v5 (Mai/2013) Você provavelmente já deve ter cansado de demonstrar XSS com aquela famosa janelinha de alert ou com códigos que não fazem sentido nenhum em ataques reais. Adicione aqui gerentes, diretores e clientes "low tech" que continuam sem entender o problema. A palestra tem como objetivo trazer a diversão de volta para a exploração das falhas de XSS, mostrando maneiras diferentes de utilizá-las em cenários reais e tornar a demonstração mais interessantes para gerentes e diretores. Em Janeiro de 2014, a palestra foi apresentada também no I Encontro do Capítulo Rio da OWASP.

Citation preview

Page 1: Badass XSS: Esqueça o alert e vá para mundo real
Page 2: Badass XSS: Esqueça o alert e vá para mundo real

AVISO PADRÃO O conteúdo aqui apresentado representa minhas próprias conclusões e opiniões

e não as de meus empregadores, clientes e etc.

Não há intenção de causar nenhum danos a terceiros. A utilização do conteúdo

apresentado é fruto de pesquisa e deve ser utilizado apenas em ambientes

autorizados.

Page 3: Badass XSS: Esqueça o alert e vá para mundo real

/me

@0xc0da

!= rockstar de SegInfo

= dedo podre para quebrar coisas

== alguém que gosta de compartilhar coisas

== fã de Danny Trejo

Page 4: Badass XSS: Esqueça o alert e vá para mundo real

Premissas

Todos sabemos o que é Cross Site Scripting (XSS).

Nada de evasão de filtros hoje, galera.

Nada de über1337h4x0rninjaskillz. Vamos do jeito

“fácil” dessa vez. ;-)

Page 5: Badass XSS: Esqueça o alert e vá para mundo real

Um dia você encontrou um XSS

medonho em uma aplicação.

Page 6: Badass XSS: Esqueça o alert e vá para mundo real

E apresentou assim

Page 7: Badass XSS: Esqueça o alert e vá para mundo real

Provavelmente reagiram

assim.

Page 8: Badass XSS: Esqueça o alert e vá para mundo real
Page 9: Badass XSS: Esqueça o alert e vá para mundo real

Vamos nos divertir um pouco

mais?

Page 10: Badass XSS: Esqueça o alert e vá para mundo real

All your forms are belong to us

I.

Page 11: Badass XSS: Esqueça o alert e vá para mundo real

Então você tem um formulário de

login.

Page 12: Badass XSS: Esqueça o alert e vá para mundo real
Page 13: Badass XSS: Esqueça o alert e vá para mundo real

E um XSS.

Page 14: Badass XSS: Esqueça o alert e vá para mundo real
Page 15: Badass XSS: Esqueça o alert e vá para mundo real

Por que um alert quando você...

Pode redirecionar o formulário?

Page 16: Badass XSS: Esqueça o alert e vá para mundo real

Por que um alert quando você...

Pode usar um keylogger?

Page 17: Badass XSS: Esqueça o alert e vá para mundo real

Advanced Persistent Threats

II.

Page 18: Badass XSS: Esqueça o alert e vá para mundo real

Um cenário interessante, de um

teste real.

Page 19: Badass XSS: Esqueça o alert e vá para mundo real

Informações do cookie eram

utilizadas na página.

Page 20: Badass XSS: Esqueça o alert e vá para mundo real
Page 21: Badass XSS: Esqueça o alert e vá para mundo real

Sem filtro, claro.

E havia outra vulnerabilidade,

que permitia acessar o cookie.

Page 22: Badass XSS: Esqueça o alert e vá para mundo real

Já mencionei que eu gosto de

compartilhar?

Page 23: Badass XSS: Esqueça o alert e vá para mundo real

Por que um alert quando você...

Pode compartilhar uma aba?

Page 24: Badass XSS: Esqueça o alert e vá para mundo real

Uma história sobre botões de

download.

Page 25: Badass XSS: Esqueça o alert e vá para mundo real

*Krzysztof Kotowicz – Hack In Paris 2012

Pode compartilhar arquivos*?

Por que um alert quando você...

Page 26: Badass XSS: Esqueça o alert e vá para mundo real

Amarrando tudo*...

*Apenas Chrome (até agora)

Page 27: Badass XSS: Esqueça o alert e vá para mundo real

Shells e todas aquelas

coisas legais

III.

Page 28: Badass XSS: Esqueça o alert e vá para mundo real

Você ainda quer Shell?

Page 29: Badass XSS: Esqueça o alert e vá para mundo real

Sem problemas!

Page 30: Badass XSS: Esqueça o alert e vá para mundo real
Page 31: Badass XSS: Esqueça o alert e vá para mundo real

Por que um alert quando você...

Pode explorar um 0day do JAVA

todo mês?

Page 32: Badass XSS: Esqueça o alert e vá para mundo real

Por que um alert quando você...

Pode fazer um port scan, usar o

navegador como proxy e lançar

ataques como o usuário?

Page 33: Badass XSS: Esqueça o alert e vá para mundo real

Ferramentas como BeEF e xssf

podem ajudar a manipular o

navegador do usuário.

Page 34: Badass XSS: Esqueça o alert e vá para mundo real
Page 35: Badass XSS: Esqueça o alert e vá para mundo real

Mais algumas dicas

IV.

Page 36: Badass XSS: Esqueça o alert e vá para mundo real

Dica #1

Queremos ser o discretos.

Deixar o código limpo ajuda, ok?

Page 37: Badass XSS: Esqueça o alert e vá para mundo real

Dica #2

Shell não é tudo.

Criar usuários, enviar mensagens e acessar

dados também pode ser interessante

Page 38: Badass XSS: Esqueça o alert e vá para mundo real

Dica #3

Não se restrinja a interface web.

Mobile Apps também podem ser vetores

interessantes de ataque.

Page 39: Badass XSS: Esqueça o alert e vá para mundo real

Obrigado!

@0xc0da codalabs.net /0xc0da

Page 40: Badass XSS: Esqueça o alert e vá para mundo real

Agradecimentos especiais

Esta palestra não seria possível sem a colaboração de algumas

pessoas, em especial minha namorada Renata Senna (design da capa

e fundo dos slides), os amigos Vanessa Maia, Sávio Mendes,

Alexandre Pinaffi, Alan Markus, Jaime Souza, Tiago Bitarelli Gomes

e Eduardo França.

Meu muito obrigado também a equipe da Bsides SP pela dedicação e

execução do evento.