Agora vamos para a etapa de instalar e utilizar a ferramenta.
Primeiramente vamos preparar um ambiente básico:
Computador com sistema operacional
Linux com kernel igual ou superior ao 2.4, recomendável 2.6.x.x.
Dependências e ferramentas requeridas:
- GNU C Compilador
- GNU Make
- GNU C Library
- zlib
- OpenSSL
- libidn (mais importante e chato de implementar)
Agora vamos para a etapa de instalar e utilizar a ferramenta.
O próximo passo é efetuar o download do pacote binário para que possamos compilar e testar.
Efetue o download em:
No momento que escrevo este artigo ele está na versão 1.30, em apenas 2 dias 3 dias já foi alterado, isto prova que o projeto está em constante mudança e novas funções estarão disponíveis.
Após o download precisamos descompactar o pacote.
Dúvidas?
No terminal (shell) de sua preferência, digite o comando:
# tar -vzxf skipfish-1.30b.tgz
Após a descompressão, acesse a pasta gerada e vamos compilar o programa.
# make
Sim, somente isto, nada de .config, make all, make install, make clean, basta compilar.
ERRO? Ok, veja se apresentou isto:
# make
cc -L/usr/local/lib/ -L/opt/local/lib skipfish.c -o skipfish -O3 -Wno-format -Wall -funsigned-char -g -ggdb -D_FORTIFY_SOURCE=0 -I/usr/local/include/ -I/opt/local/include/ \http_client.c database.c crawler.c analysis.c report.c -lcrypto -l ssl -lidn -lz
http_client.c:39:18: error: idna.h: No such file or directory
http_client.c: In function âparse_urlâ:
http_client.c:277: warning: implicit declaration of function âidna_to_ascii_8zâ
http_client.c:277: error: âIDNA_SUCCESSâ undeclared (first use in this function)
http_client.c:277: error: (Each undeclared identifier is reported only once
http_client.c:277: error: for each function it appears in.)
make: *** [skipfish] Error 1
Isto se deve pois você não possui o
libidn11-dev, para isto basta um simples apt-get:
# apt-get install libidn11-dev
Repita o processo "make".
Ainda com erros na compilação? Sem problemas, isto deve resolver:
# apt-get install libssl-dev build-essential zlibc zlib-bin libidn11-dev libidn11
Repita o procedimento anterior.
Agora precisamos copiar um arquivo de dicionário de dados desejado da subpasta "dictionaries" para o arquivo skipfish.wl.
Qualquer dúvida consulte o arquivo README-FIRST, localizado na mesma subpasta "dictionaries".
Existem diversos dicionários, escolha um. Mas lembre-se a escolha dele implicará na performance dos testes. Pela web você poderá encontrar muitos dicionários modificados, uns melhores que outros.
Com o dicionário escolhido, vamos:
# ./skipfish -o output_dir http://www.site.com.br/teste/skipfish-start/path.txt
Sites com autenticação simples?
# ./skipfish -A usuário:senha ...parâmetros...
Testar uma porta específica?
# ./skipfish -I http://site.com.br:1234/
Existem muitas formas de utilizá-lo, bem como parâmetros, comandos.
Teste estilo brute force:
# ./skipfish -B .site.com.br -O -o output_dir -t 5 http://www.sites.com.br/
A lista de comandos por ser acessada por:
# ./skipfish -h
Espero que tenham gostado desta contribuição.
Ainda haverão muitas modificações e melhorias neste sistema e quem sabe criamos algo parecido ou o modificamos.
Paulo Roberto Junior
Portal pessoal:
http://www.paulojr.info
Perfil no VOL:
http://www.vivaolinux.com.br/~paulorvojr
Outros artigos:
http://www.vivaolinux.com.br/artigos/userview.php?login=paulorvojr