Hi.
Como alguém deve ter percebido (ou não), faz um tempo que não escrevo alguma matéria. Pois é, responsabilidades vieram. Estou na faculdade, em breve procurarei um emprego, etc. =P
A pedidos, trago a vocês este tutorial sobre a tal falada falha que afetou diversos aplicativos famosos, incluindo uma grande parte dos softwares do pacote Office e browsers como Opera e Firefox.
_______
. 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 o software 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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| /* * Simple DLL Hijacking Exploit * Tutorial por Júnior Moraes (fvox) * www.forum-invaders.com.br * Email: synyster@bsdmail.com */ #include <windows.h> #include <stdio.h> int fvox() { MessageBox(0, "u r owned" , "DLL Hijacking" , MB_OK); FILE *fp; fp = fopen ( "fvox.txt" , "w" ); fwrite ( "it works <img src=" http: //www.inw-seguranca.com/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley"> ", 1, 12, fp); fclose (fp); exit (1); return 0; } BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { fvox(); return TRUE; } |
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:
http://www.exploit-db.com/dll-hijack…-applications/
Atenciosamente,
R410X
0 comentários:
Postar um comentário