
O ataque Man-in-the-Browser é a mesma abordagem como o ataque Man-in-the-middle, mas, neste caso, um cavalo de tróia é usado para interceptar e manipular chamadas entre executável principal do aplicativo (ex: o navegador) e seu mecanismos de segurança ou bibliotecas on-the-fly.
O objetivo mais comum deste ataque é causar fraude financeira através da manipulação de transações de sistemas de Internet Banking, mesmo quando outros fatores de autenticação estão em uso.
Um cavalo de Tróia instalado anteriormente é utilizado para atuar entre o navegador e o mecanismo de segurança do navegador, farejar ou modificar transaçõe como elas são formadas no navegador, mas ainda exibindo de volta a operação pretendida do usuário.
Normalmente, a vítima deve ser inteligente, a fim de perceber um sinal de tal ataque enquanto ele está acessando uma aplicação web como uma conta de internet banking, mesmo na presença de canais SSL, pois todos os controles esperados e mecanismos de segurança são exibidos e funcionam normalmente.
Pontos de Efeito:
* Objetos auxiliares do navegador - bibliotecas carregadas dinamicamente pelo Internet Explorer na inicialização.
* Extensões - o equivalente a Objetos auxiliares do navegador para navegador Firefox
* API-Conectando - esta é a técnica usada por Man-in-the-Browser para executar sua Man-in-the-Middle entre o aplicativo executável (EXE) e suas bibliotecas (DLL).
* Javascript - Ao utilizar um worm Ajax malicioso, conforme descrito no Ajax Sniffer - Proof of Concept (http://myappsecurity.blogspot.com/2007/01/ajax-sniffer-prrof-of-concept.html) OBS: NÃO NOS RESPONSABILIZAMOS POR SEUS ATOS. Seja consciente, você é o único responsável por suas ações!
Exemplos
Manipulação através da interface DOM ~
1. O Trojan infecta o software do computador, ou sistema operacional ou aplicativo.
2. O Trojan instala uma extensão para a configuração do navegador, de modo que ele será carregado na próxima vez que o navegador for iniciado.
3. Em algum tempo depois, o usuário reinicia o browser.
4. O navegador carrega a extensão.
5. A extensão registra um manipulador para cada carga página.
6. Toda vez que uma página é carregada, a URL da página é procurada pela extensão contra uma lista de sites conhecidos direcionados para o ataque.
7. O usuário se conecta com segurança para, por exemplo, https://SITE-original.site/.
8. Quando o manipulador de detectar uma página de carregamento para um padrão específico na sua lista específica (por exemplo https://SITE.original.site/conta/confirmar_ENVIO) registra um manipulador de eventos do botão.
9. Quando o botão submit (feito, concluir) for pressionado, a extensão extrai todos os dados de todos os campos do formulário através da interface DOM no browser, e lembra os valores.
10. A extensão modifica os valores através da interface de DOM.
11. A extensão diz ao navegador para continuar a enviar o formulário para o servidor.
12. O navegador envia o formulário, incluindo os valores modificados, para o servidor.
13. O servidor recebe os valores modificados na forma como um pedido normal. O servidor não pode diferenciar entre os valores originais e os valores modificados, ou detectar as alterações.
14. O servidor executa a transação e gera um recibo.
15. O navegador recebe o recibo da transação modificada.
16. A extensão detecta a URL https://SITE.original.site/conta/receber, varre o código HTML para os campos de recebimento, e substitui os dados modificados no recibo com os dados originais que lembrado no HTML.
17. O navegador exibe o recebimento modificado com os detalhes originais.
18. O usuário pensa que a transação original foi recebida pelo servidor intacta e autorizada corretamente.