“Web Spiders” – Automação para Web Hacking
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

“Web Spiders” – Automação para Web Hacking

on

  • 6,900 views

Palestra ministrada no OWASP Floripa Day - Florianópolis - SC | ...

Palestra ministrada no OWASP Floripa Day - Florianópolis - SC |
Apresentação aborda Automação para Hacking na WEB, bem como entender o funcionamento de crawlers para o hacking, entender o funcionamento de autenticação e como fazer força bruta; burlar captcha; usar OAUTH; construir parsers; passar certificados de SSL; e uso de APIs para desenvolvimento.

Statistics

Views

Total Views
6,900
Views on SlideShare
2,485
Embed Views
4,415

Actions

Likes
1
Downloads
38
Comments
0

11 Embeds 4,415

http://coolerlab.wordpress.com 4385
https://coolerlab.wordpress.com 9
http://localhost 8
http://tw.pinggu.baidu.com 5
http://abtasty.com 2
http://www.linkedin.com 1
http://yoleoreader.com 1
https://www.google.com.tr 1
http://webcache.googleusercontent.com 1
http://translate.googleusercontent.com 1
http://digg.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

“Web Spiders” – Automação para Web Hacking Presentation Transcript

  • 1. Web SpidersAutomação para web Hacking
  • 2. Coolers-lab $ whoami 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
  • 3. Agenda• 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• Scanners,fuzzers, Hacks...
  • 4. O que é um Web Spider ?Códigos exemplos da apresentação !code.google.com/p/bugsec/downloads/list• owasp_cooler.zip
  • 5. O que é um Web Spider ?• Geralmente trabalha nos protocolos• HTTP e HTTPs
  • 6. O que é um Web Spider ?• E agora como fazer abstração do conteúdo ?
  • 7. O que é um Web Spider ?• Exemplo usando sockets simples• arquivo ex1.c• Leia rfc2616
  • 8. O que é um Web Spider ?• send() “GET /index.php HTTP/1.1nHost: localhost t n “• Então para pegar a resposta um read()• Como resultado temos o source da página :-)
  • 9. O que é um Web Spider ?• ./ex1
  • 10. O que é um Web Spider ?• Exemplo• servidor HTTP• Arquivo ex2.c
  • 11. O que é um Web Spider ?• Exemplo• servidor HTTP programa ex2.c• Se receber qualquer dado então• String para write() vai ser• "HTTP/1.1 200 Oknn<html>codigo em html<br><b>BUGSEC</b></htm l>n"
  • 12. O que é um Web Spider ?• Ex2.c
  • 13. Casos de uso• Onde podemos encontrar web spiders ?
  • 14. Casos de uso• No android e no iOS• Na sua TV moderna• Gateways de pagamento...
  • 15. Casos de uso• GPS
  • 16. Casos de uso• Muitos...
  • 17. Casos de uso• Em ferramentas...
  • 18. Minerando dados• Parsers !!!• <p>rand(x)</p>• /<p>(.*?)</p>/• split(),strtok(),strcmp...• Comparar letra por letra, ou cadeias...• re2c,flex+bison,pcre,posix regex,sed...• Assembly !? o.O
  • 19. Minerando dados• Spider para pegar temperatura do tempo Como você faria o Parser ???
  • 20. Minerando dados• Temperatura.pl• PCREforeach (@result) { if ($_ =~ m/<b>(.*?).C</b>/) { my $graus="$1";…
  • 21. Minerando dados• Abstração,normalização e profundidade.
  • 22. Minerando dados• Seu spider tem permissões para minar os dados ? • “robots.txt”
  • 23. APIs para ajudar no desenvolvimento• Ruby a gem Mechanize,curl...• Perl no CPAN temos LWP,WWW::Mechanize,curl...• Python requests...• Java,PHP,Common Lisp,C++...• Não precisa recriar a roda com sockets!
  • 24. APIs para ajudar no desenvolvimento•
  • 25. APIs para ajudar no desenvolvimento•
  • 26. Trabalhando com formulários e cookies• Sempre que temos input no protocolo HTTP temos como os mais populares métodos POST e GET.• Em RestFul temos outros como Delete,Put...• Outras entradas também “User Agent”
  • 27. Trabalhando comformulários e cookies
  • 28. POST e GET com libcurlPOST:curl_easy_setopt(curl,CURLOPT_POSTFIELDS,"bugsec=1&floripa=praia");GET:curl_easy_setopt(curl, CURLOPT_URL,"http://www.bugsec.com.br/site.jsp?var=1");
  • 29. POST e GET com libcurlVide ex3.cCOOKIE: res = curl_easy_setopt(curl,CURLOPT_COOKIELIST,"Set-Cookie: quem=nozes");curl_easy_setopt(curl,CURLOPT_COOKIEJAR,"cookie.txt");
  • 30. Spoofing de User Agent• Como mudar o User Agent ?
  • 31. Spoofing de User Agent• Como mudar o User Agent ?• curl_setopt (curl, CURLOPT_USERAGENT, "Mozilla/5.0 NetBSD 4.1");• Analisar como a aplicação se comporta com diferentes User Agent.• Enganar sistemas anti-bots que usam blacklists.
  • 32. Passando certificados com SSL• curl_setopt(x, CURLOPT_SSL_VERIFYPEER, false); OU• curl_setopt(x, CURLOPT_SSL_VERIFYPEER, true);• curl_setopt(x, CURLOPT_SSL_VERIFYHOST, 2);• curl_setopt (x, CURLOPT_CAINFO,”/local/CA/cert.crt”);• CURLOPT_CAPATH
  • 33. Uso de proxys• curl_setopt(x,CURLOPT_HTTPPROXYTUNNEL, 1);• curl_setopt(x, CURLOPT_PROXY, “201.66.121.116:666”);• curl_setopt(x, CURLOPT_FOLLOWLOCATION, 1);
  • 34. Autenticação, captcha e OAUTH• Brute Force ? Sim, por que não ?• Wp-brute = brute force para wordpress• Fairy = brute force para auth http
  • 35. Autenticação, captcha e OAUTH•
  • 36. Autenticação, captcha e OAUTH• HTTP AUTH , o mais fácil de brutar :-)
  • 37. Autenticação, captcha e OAUTH• Green Fairy – Programa para brute force de auth HTTP• https://github.com/CoolerVoid/Fairy• Fácil para entender• curl_easy_setopt(curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY);• curl_easy_setopt(curl_handle, CURLOPT_USERPWD, auth);• auth==”admin:password”
  • 38. Autenticação, captcha e OAUTH• Captcha o que é ?• Como quebrar um captcha ?
  • 39. Autenticação, captcha e OAUTH• OAUTH o que é ?• Facebook• twitter• APIs• Tokens• http://oauth.net
  • 40. Automação no web browser• PTC ( Paid to Click) ,Pagam por Cliques !• AdSense como google , buscapé,submarino,zura...• Neobux , adbux ,landbux... irc.makecash.org
  • 41. Scanners,fuzzers,GPS hacks...• 0d1n : http://code.google.com/p/0d1n/
  • 42. Scanners,fuzzers, hacks...• Um Scanner• Site.com/index.jsp?var=!&x=0!• Onde temos “!” será trocado por um PAYLOAD, então enviamos “Request”.• Logo depois será feito uma busca por strings suspeitas na “Response”.
  • 43. Scanners,fuzzers, hacks...• Analisamos os dados “hammer.html”
  • 44. Scanners,fuzzers, hacks...• Ao clicar em uma linha na tabela
  • 45. Scanners,fuzzers, hacks...• Um Bruteforce• -h Site.com/index.jsp• -P login=admin?password=!• Depois basta analisar a tabela gerada
  • 46. Scanners,fuzzers, hacks...Perguntas ?
  • 47. Scanners,fuzzers, hacks... Contato• c00f3r@gmail.com• acosta@conviso.com.br
  • 48. Scanners,fuzzers, hacks... Muito Obrigado !• BugSec , CONVISO...• muzgo,F117,bsdaemon,eremitah...