_ _
(_) | |
_ _ ____ ____ _ __| | ___ _ __ ___
| | '_ \ \ / / _` |/ _` |/ _ \ '__/ __|
| | | | \ V / (_| | (_| | __/ | \__ \
|_|_| |_|\_/ \__,_|\__,_|\___|_| |___/
Forum Invaders (Un)Security Team
Titulo: Web Apps Firgerprinting
Autor : fvox of forum-invaders.com.br
Data : 22.04.2010
##########################
Índice - Web Apps Fingerprinting
##########################
Firgerprinting
[0x00] - Introdução
[0x01] - Ferramentas Online
[0x02] - HTML Codes
[0x03] - Manuais de instalação
######################
[0x00] - Introdução
######################
O objetivo de realizar o firgerprinting em um web app é obter informações úteis para uma
futura exploração. Neste paper, eu mostrarei técnicas para obter, por exemplo, a versão de
um CMS. Com a versão do web app em maõs, podemos procurar bugs e exploits já descobertos com
maior facilidade.
#############################
[0x01] - Ferramentas Online
#############################
Um exemplo de site que pode te ajudar com o fuzzing é a ferramenta Sucuri WIGS:
http://sucuri.net/?page=docs&title=fingerprinting-web-apps
No link acima, a própria tool online mostra um tutorial de como encontrar versões
dos CMS através do diff/grep (gnu/linux) buscando a diferença em códigos JavaScript e CSS
que variam conforme a versão do aplicativo instalado no servidor.
Basicamente, você baixa os arquivos de instalação de várias versões do CMS utilizado
no site, e utiliza o comando diff para comparar as modificações nos arquivos. Caso encontre
pouca (preferencialmente nenhuma haha) diferença, o site estará utilizando a versão testada
por você.
#####################
[0x02] - HTML Codes
#####################
Podemos procurar versões em inúmeras páginas do código de fonte do HTML do CMS.
Inicialmente, podemos procurar na tag META. Geralmente podemos encontrar boas infos
logo no início da source:
<meta name="" content="CMS x.x.0" />
É possível que haja a versão (mesmo visível ao usuário) no rodapé da página.
No fim da página geralmente encontramos algo como "Powered by CMS 1.2.3.4", juntamente com
o copyright do aplicativo.
Também é possível que haja a versão do aplicativo em partes comentadas do HTML ou de
JavaScripts/CSSs.
<!-- CMS x.x.0 -->
/* Copyright CMS x.x.0 */
É importante checar se há informações do tema instalado, e por exemplo, pesquisar
no Google qual versão do aplicativo instalado é compatível com o tema.
################################
[0x03] - Manuais de instalação
################################
Arquivos deixados após a completa instalação também podem ser de grande utilidade.
Geralmente, os CMS vem acompanhados de arquivos que guiam o cliente a proceder com a
instalação corretamente, como por exemplo:
http://host.com/path/readme.htm(l)
http://host.com/path/readme.txt
http://host.com/path/install.htm(l)
http://host.com/path/install.txt
http://host.com/path/installation.htm(l)
http://host.com/path/installation.txt
http://host.com/path/RELEASE-NOTES.txt
http://host.com/path/release.txt
http://host.com/path/install_pt.txt (en para ingles e por ai vai)
Fim do tutorial.
Atencisamente,
fvox.