[Portuguese] Web Apps Fingerprinting

EDB-ID:

13683

CVE:

N/A


Author:

fvox

Type:

papers


Platform:

Multiple

Date:

2010-04-22


	 _                     _               
	(_)                   | |              
	 _ _ ____   ____ _  __| | ___ _ __ ___ 
	| | '_ \ \ / / _` |/ _` |/ _ \ '__/ __|
	| | | | \ 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.