owasp floripa - web spiders: automação para web hacking by antonio costa aka cooler_

42
Web Spiders Automação para web Hacking

Upload: magno-logan

Post on 22-May-2015

65 views

Category:

Technology


12 download

DESCRIPTION

OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

TRANSCRIPT

Page 1: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Web Spiders Automação

para web Hacking

Page 2: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Coolers-lab $ whoami

• Quem sou ?• Antonio Costa “Cooler_”

• Experiência de 4 anos com desenvolvimento de sistemas web e web spiders em geral,soluções para problemas em unix...

• Desenvolvedor e pesquisador

• Faço parte do grupo de pesquisa BugSec

• Fundador da E-zine Cogumelo Binario

• Programador em ASM,C,C++,Common Lisp,Perl,PHP...

• Trabalho atualmente na CONVISO

https://github.com/CoolerVoid/

Http://www.bugsec.com.br

@Cooler_freenode

Page 3: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 4: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Trabalha nos protocolos HTTP e HTTPs

• Bots, web spiders, Web robot,crawler...

O que é um Web Spider ?

Page 5: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• E agora como fazer abstração do conteúdo ?

O que é um Web Spider ?

Page 6: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Exemplo em

linguagem C

usando sockets

simples

• arquivo ex1.c

• Leia

rfc2616

O que é um Web Spider ?

Page 7: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• ./ex1

O que é um Web Spider ?

Page 8: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• E o Servidor HTTP ?

• O que ele recebe ?

• Como é o seu funcionamento ?

O que é um Web Spider ?

Page 9: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Exemplo foi feito

em linguagem C

• Arquivo ex2.c

O que é um Web Spider ?

Page 10: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 11: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Casos de uso

• Onde podemos ver web spiders,crawlers ?

Casos de uso

Page 12: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Plugins para uso do twitter e facebook

• Sistemas de controle de RSS

• Sistemas de geo localização

• Na sua TV moderna

• No android e no iOS

• Contabilidade

• Sistemas de pagamento digital em gateways de pagamento...

• Spiders,crawlers são usados no mundo todo

Casos de uso

Page 13: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Muitos...

Casos de uso

Page 14: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Em ferramentas...

Casos de uso

Page 15: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 16: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Parsers !!!

• <p>rand(x)</p>

• /<p>(.*?)<\/p>/

• split(),strtok(),strcmp...

• Comparar letra por letra, ou em cadeias...

• re2c,flex+bison,pcre,posix regex,sed...

• Assembly !? o.O

Minerando dados

Page 17: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Minerando dados

Page 18: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Exemplo:

Minando dados

Page 19: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Seu spider tem permissões para minar os dados ?

• Restringir o “robots.txt” pode ser bom e ruim !

Minerando dados

Page 20: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 21: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

APIs para ajudar no desenvolvimento

Page 22: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

APIs para ajudar no desenvolvimento

Page 23: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Tem muitas APIs para ajudar no trabalho pesado

• Perl por exemplo podemos usar LWP,WWW::Mechanize...

• Python,Java,PHP,Chicken Scheme Lisp,C++... todas tem alguma API para fazer seus web spiders

• Não precisa criar a roda com sockets!

• Ajudam a manipular COOKIES,POST,GET...

APIs para ajudar no desenvolvimento

Page 24: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 25: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Sempre que temos input no protocolo HTTP temos como os mais populares métodos POST,GET,COOKIE.

• Em RestFul temos outros como Delete,Put...

• Outras entradas também “User Agent”

• Outras informações bem como IP...

Trabalhando com formulários e cookies

Page 26: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Achando um formulário e analisando o código fonte

Trabalhando com formulários e cookies

Page 27: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Usando plugin do Firefox “Web Developer”

Trabalhando com formulários e cookies

Page 28: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Trabalhando com formulários e cookies

Page 29: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_
Page 30: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent• Autenticação,captcha e OAUTH

• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 31: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Como usar um User Agent ?

• curl_setopt (curl, CURLOPT_USERAGENT, "Mozilla/5.0 NetBSD 4.1");

• Evitar que seu Spider fique na black list

• Talvez deixando aleatório a partir de um array de User Agent, diminuindo ainda mais o risco.

• Ver outras formas do alvo, como por exemplo

analisar a source para versão android ou iOS

Spoofing de User Agent

Page 32: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH• Passando certificados com SSL

• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda

Page 33: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Autenticação POST ou GET, malabarismos com COOKIE bem como armazenar em um arquivo e recuperar na hora pedida...

• Brute Force ? Sim, por que não ?

• Uma lista de senha , um cookie jar e tempo para deixar rolar... exemplo duas ferramentas...

• Wp-brute = brute force para wordpress

• Fairy = brute force para auth http

Autenticação,captcha e OAUTH

Page 34: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Autenticação,captcha e OAUTH

Page 35: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Autenticação,captcha e OAUTH

Page 36: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Autenticação,captcha e OAUTH

Page 37: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• HTTP AUTH , o mais fácil de brutar :-)

Autenticação,captcha e OAUTH

Page 38: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Green Fairy – Programa para brute force de HTTP

• https://github.com/CoolerVoid/Fairy

• Fácil para entender

• Código simples

• Usa libCurl

Autenticação,captcha e OAUTH

Page 39: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

Autenticação,captcha e OAUTH

Page 40: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• Captcha o que é ?

• Como quebrar um captcha ?

Autenticação,captcha e OAUTH

Page 41: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• OAUTH o que é ?

• Facebook

• twitter

• APIs

• Tokens

• libCurl

Autenticação,captcha e OAUTH

Page 42: OWASP Floripa - Web Spiders: Automação para Web Hacking by Antonio Costa aka Cooler_

• O que é um Web Spider ?

• Casos de uso

• Minerando dados

• APIs para ajudar no desenvolvimento

• Trabalhando com formulários e cookies

• Spoofing de user agent

• Autenticação,captcha e OAUTH

• Passando certificados com SSL• Uso de proxys

• Automação no web browser (imacros,selenium...)

• Scanners,fuzzers e GPS Hacks...

Agenda