Hack It!
A falha conhecida como DLL Hijacking existe graças à um mau funcionamento do Windows, e até que eu saiba, afeta todas as versões. Deve ser utilizada juntamente com SEing, pois precisamos saber qual oSOFTWARE que a possível vítima utiliza. Em breve, veremos o porque.
Ao explorar um aplicativo, como por exemplo, um player de música, conseguimos executar um código desejado apenas inserindo um arquivo .dll no mesmo diretório do arquivo *.MP3. Ou seja, se mandarmos uma pasta zipada com alguns arquivos de áudio e uma DLL “escondida” no meio, ao abrir qualquer arquivo de áudio, o player executará a DLL apenas por estar no mesmo diretório.
O nome da *.dll que deve ficar no mesmo diretório do arquivo a ser aberto varia de acordo com o software a ser explorado. Há algumas tools para explorar como o DLL Hijack Audit Kit do projeto Metasploit, o DLL Hijack Auditor do SecurityXploded ou uma ferramenta qualquer de debugging. Em breve, mostrarei o funcionamento de ambas as tools.
Agora, vou mostrar um exemplo do funcionamento da falha. Ontem, fui brincar com o conhecido player Nullsoft “Winamp”, na sua versão 5.5.8.2975. O nome das DLLs que encontrei foram “rapi.dll” e “dwmapi.dll”.
Agora, criarei um código simples para fazer o PoC:
Código:
Ainda fazendo os testes no Winamp, vamos compilar a DLL e colocá-la no mesmo diretório de um arquivo *.mp3 com o nome de “dwmapi.dll”.
Agora, vamos abrir o arquivo .mp3 com o Winamp. O que será que acontece?
Yeah! Apesar do arquivo *.mp3 ser realmente uma música normal, a DLL foi carregada. Como vocês puderam perceber, o MsgBox foi chamado e foi-se criado um arquivo de nome “fvox.txt” contento a frase “it works
”.
Ferramentas
Como já disse anteriormente, é possível descobrir o nome da DLL a ser bugada via tools ou por um debugger. O DLL Hijack Audit Kit executa um macro e abre diversos aplicativos de diversas extensões. Este macro age junto com um aplicativo externo (Process Monitor), que salva um logfile. Com este logfile, há um segundo script que verifica a falha em todos os aplicativos instalados no computador.
Já o DLL Hijack Auditor, verifica uma aplicação específica com base no diretório dela e nas extensões que a aplicação pode executar.
Mostrarei um exemplo utilizando a segunda tool.
Testarei no aplicativo Media Player Classic 1.3.1748.0, muito utilizado para ver filmes por possuir seu sistema de dual audio, etc.
No campo “Select Application“, localizem o executável principal. No caso, localizei o arquivo mpc-hc.exe. No campo “Specify Extension“, coloquem todas as extensões utilizadas pelo programa e cliquem em “Start Audit“. Quando o programa parar de testar as extensões no programa, o botão “Exploit” vai estar liberado. =)
Como é apenas um exemplo, coloquei poucas extensões só para vocês terem uma noção.
Opa. Apareceu uma “dll” bugada chamada “vsfilter.lang“. Mas a extensão não é uma DLL. Será que funciona?
É, dá para brincar!
Conclusão
DLL Hijacking pode parecer uma falha boba, mas pode ser muito bem utilizada, tanto em rede quanto fora dela. Na rede, vocês podem usar e abusar de pastas compartilhadas do Windows. Na internet, vocês podem enviar arquivos zipados com a DLL bugada oculta, ou espalhar via p2p, basta utilizar sua imaginação e seu conhecido, e let’s code!
Aqui vai uma lista de aplicativos que possuem a falha e suas respectivas DLLs bugadas:
Clique aqui
Fonte:invasãoHaking
post:
W4RF4R3
download:
DLL hiack