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

Preview:

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

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.

/me

@0xc0da

!= rockstar de SegInfo

= dedo podre para quebrar coisas

== alguém que gosta de compartilhar coisas

== fã de Danny Trejo

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. ;-)

Um dia você encontrou um XSS

medonho em uma aplicação.

E apresentou assim

Provavelmente reagiram

assim.

Vamos nos divertir um pouco

mais?

All your forms are belong to us

I.

Então você tem um formulário de

login.

E um XSS.

Por que um alert quando você...

Pode redirecionar o formulário?

Por que um alert quando você...

Pode usar um keylogger?

Advanced Persistent Threats

II.

Um cenário interessante, de um

teste real.

Informações do cookie eram

utilizadas na página.

Sem filtro, claro.

E havia outra vulnerabilidade,

que permitia acessar o cookie.

Já mencionei que eu gosto de

compartilhar?

Por que um alert quando você...

Pode compartilhar uma aba?

Uma história sobre botões de

download.

*Krzysztof Kotowicz – Hack In Paris 2012

Pode compartilhar arquivos*?

Por que um alert quando você...

Amarrando tudo*...

*Apenas Chrome (até agora)

Shells e todas aquelas

coisas legais

III.

Você ainda quer Shell?

Sem problemas!

Por que um alert quando você...

Pode explorar um 0day do JAVA

todo mês?

Por que um alert quando você...

Pode fazer um port scan, usar o

navegador como proxy e lançar

ataques como o usuário?

Ferramentas como BeEF e xssf

podem ajudar a manipular o

navegador do usuário.

Mais algumas dicas

IV.

Dica #1

Queremos ser o discretos.

Deixar o código limpo ajuda, ok?

Dica #2

Shell não é tudo.

Criar usuários, enviar mensagens e acessar

dados também pode ser interessante

Dica #3

Não se restrinja a interface web.

Mobile Apps também podem ser vetores

interessantes de ataque.

Obrigado!

@0xc0da codalabs.net /0xc0da

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.