Escolar Documentos
Profissional Documentos
Cultura Documentos
Automao
para web
Hacking
Coolers-lab $ whoami
Antonio Costa Cooler_
Experincia de 4 anos com desenvolvimento de
sistemas web e web spiders em geral,solues para
problemas em unix...
Desenvolvedor e pesquisador .
Fao 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://code.google.com/p/bugsec/
@Cooler_freenode
Agenda
O que um Web Spider ?
Casos de uso
Minerando dados
APIs para ajudar no desenvolvimento
Trabalhando com formulrios e cookies
Spoofing de user agent
Autenticao,captcha e OAUTH
Passando certificados com SSL
Uso de proxys
Scanners,fuzzers, Hacks...
Cdigos exemplos da
apresentao !
code.google.com
/p/bugsec/
downloads/list
owasp_cooler.zip
Cdigos exemplos da
apresentao !
O que um Web
Spider ?
Geralmente trabalha nos protocolos
HTTP e HTTPs
Exemplo usando
sockets simples
arquivo ex1.c
Leia
rfc2616
send()
GET /index.php
HTTP/1.1\nHost:
localhost \t \n
Ento para pegar a
resposta um read()
Como resultado temos o source da
pgina :-)
./ex1
Exemplo
servidor HTTP
Arquivo ex2.c
Exemplo
servidor HTTP programa
ex2.c
"HTTP/1.1 200
Ok\n\n<html>codigo em
html<br><b>BUGSEC</b>
</html>\n"
Ex2.c
Casos de uso
No android e no iOS
Na sua TV moderna
Gateways de pagamento...
Casos de uso
GPS
Casos de uso
Muitos...
Casos de uso
Em ferramentas...
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...
Bitwise bitap
Minerando dados
Minerando dados
Minerando dados
Temperatura.pl
PCRE
foreach (@result) {
if ($_ =~
m/<b>(.*?).C<\/b>/) {
my $graus="$1";
Minerando dados
Abstrao,normalizao e
profundidade.
Minerando dados
Minerando dados
Seu spider tem permisses para minar os
dados ? robots.txt
Trabalhando com
formulrios e cookies
Trabalhando com
formulrios e cookies
POST:
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");
Vide ex3.c
COOKIE:
res = curl_easy_setopt(curl,
CURLOPT_COOKIELIST,
"Set-Cookie: quem=nozes");
curl_easy_setopt(curl,
CURLOPT_COOKIEJAR,
"cookie.txt");
Spoofing de User
Agent
Como mudar o User Agent ?
Spoofing de User
Agent
Como mudar o User Agent ?
curl_setopt (curl,
CURLOPT_USERAGENT, "Mozilla/5.0
NetBSD 4.1");
Analisar como a aplicao se comporta
com diferentes User Agent.
Enganar sistemas anti-bots que usam
blacklists.
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
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);
Autenticao,
captcha e OAUTH
Brute Force ?
Sim, por que no ?
Wp-brute = brute force para wordpress
Fairy = brute force para auth http
Autenticao,
captcha e OAUTH
Autenticao,
captcha e OAUTH
HTTP AUTH , o mais fcil de brutar :-)
Autenticao,
captcha e OAUTH
Green Fairy Programa para brute force de auth
HTTP
https://github.com/CoolerVoid/Fairy
Fcil para entender
curl_easy_setopt(curl_handle,
CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_easy_setopt(curl_handle,
CURLOPT_USERPWD, auth);
auth==admin:password
Autenticao,
captcha e OAUTH
Captcha o que ?
Como quebrar um captcha ?
Autenticao,
captcha e OAUTH
OAUTH o que ?
Facebook
twitter
APIs
Tokens
http://oauth.net
Automao no web
browser
PTC ( Paid to Click) ,Pagam por Cliques !
AdSense como google ,
buscap,submarino,zura...
Neobux , adbux ,landbux...
irc.makecash.org
Scanners,fuzzers,GPS
hacks...
0d1n :
http://code.google.com/p/
0d1n/
Scanners,fuzzers,
hacks...
Site.com/index.jsp?var=!
&x=0!
Onde temos ! ser trocado
por um PAYLOAD, ento enviamos
Request.
Logo depois ser feito uma busca
por strings suspeitas na
Response.
Scanners,fuzzers,
hacks...
Analisamos os dados
hammer.html
Scanners,fuzzers,
hacks...
Scanners,fuzzers,
hacks...
Um Bruteforce
-h Site.com/index.jsp
-P 'login=admin?password=!'
Depois basta analisar a tabela
gerada
github.com/CoolerVoid/beer
Perguntas ?
Contato
c00f3r@gmail.com
acosta@conviso.com.br
Muito
Obrigado !
BugSec (m0nad,iak,bman,slyfunky),
CONVISO.
Clandestine,sigsegv,muzgo,F117,
bsdaemon, eremitah,crash,Ricardo
Logan, kov...