XSS-Harvest é um web server multi-threaded escrito em Perl, e não requer nenhuma dependência além de alguns módulos Perl comuns; não há necessidade de um servidor web ou banco de dados para usar a ferramenta.
Algumas das funcionalidades da ferramenta:
- Um script de infecção adiciona listeners de eventos (teclas pressionadas, onload() e cliques do mouse) à página vulnerável, e seta a comunicação com o servidor XSS-Harvest.
- Qualquer clique do mouse ou tecla pressionada pelo usuário será enviado secretamente para o servidor.
- Opcionalmente “repara” a página vulnerável para mostrar uma diferente página no mesmo sub-domínio.
- Ao “reparar” o navegador da vítima, permite que as páginas subsequentes carregadas também sejam infectadas.
- Mantém vestígios da vítima para todo o tempo de vida do cookie XSS-Harvest (visitas futuras são indentificadas como uma vítima que está retornando).
- Cada vítima tem um histórico separado contendo todos os eventos, entradas de mouse/teclado e cookies.
- O console do servidor exibe os dados recebidos em tempo real.
- Testado nas versões 6 a 9 do IE (a “reflected XSS protection” no IE9 limita o exploit a somente XSS armazenados), FF5, Google Chrome e navegadores mobile (Safari e Android).
Dependências básicas (módulos Perl):
- HTTP::Server:Simple::CGI
- Digest::MD5
- Time::Local
- Getopt::Std
- Net::Server::PreFork
As informações de uso e o download do xss-harvest.pl estão disponíveis aqui.
Via: xss-harvest: Harvesting Cross Site Scripting, Clicks, Keystrokes and Cookies