Tools for search DLL Hijacking Vulnerabilities
Maggiori info su questa vulnerabilità, le possiamo trovare qui:
[DLL Hijacking] Windows 7 and more application Remote code Exuction => metasplooit
Vediamo ora come cercare applicazioni vulnerabili :D
Sempre nell’articolo sopra citato, ho mostrato come con metasploit è possibile sfruttare questa vulnerabilità, sfruttando webdav, anche da remoto.
L’exploit creato da HD moore, sviluppatore metaploit è molto semplice.
Il codice che interessa a noi è:
if (request.uri =~ /\.(dll|dl|drv|cpl)$/i)
print_status("#{cli.peerhost}:#{cli.peerport} GET => DLL Payload")
return if ((p = regenerate_payload(cli)) == nil)
data = Msf::Util::EXE.to_win32pe_dll(framework, p.encoded)
send_response(cli, data, { 'Content-Type' => 'application/octet-stream' })
return
end
Quando eseguiamo l’exploit metasploit, diventa un server.
Quando l’utente lancia l’applicazione, con estensione da noi definita, l’applicazione lanciata, se vulnerabile cercherà la dll nella path dove risiede il nostro file, qui entra in gioco metasploit con il codice sopra indicato, individua la chiamata e crea la falsa dll richiamata, in questo modo possiamo eseguire codice remoto sul pc vittima ;)
Ora vediamo tools per cercare le “chiamate vulnerabili di dll” :D
Il primo, naturalmente è quello di HD moore :D
DLLHijackAuditKit v2:
Il suo funzionamento è molto semplice, in più è scritto con un linguaggio di scripting, quindi non è difficile da capire :D
La guida, dal sito ufficiale:
1. Download the DLLHijackAuditKit v2 and extract it into a local directory on the system you would like to test.
2. Browse to this directory and launch 01_StartAudit.bat as an Administrator. The Administrator bit is important, as it will allow the script to kill background services that are spawned by the handlers and prevent UAC popups.
3. After the audit script completes (15-30 minutes), switch to the Process Monitor window, and access File->Save from the menu. Save the resulting log in CSV format to the local directory with the name “Logfile.CSV”.
4. Launch 02_Analyze.bat as an Administrator. This will scan through the CSV log, build test cases for each potential vulnerability, try them, and automatically create a proof-of-concept within the Exploits directory should they succeed.
5. Identify the affected vendor for each generated proof-of-concept and ask them nicely to fix their application. Send them the calc.exe-launching PoC if necessary.
N.B. A me DLLHijackAuditKit non ha scaricato in automatico procmon.exe, se aveste gli stessi problemi, non dovete far altro che scaricarlo manualmente e copiarlo dentro la directory di DLLHijackAuditKit.
Dal mio punto di vista si potrebbe migliorare l’individuazione delle estensioni, magari sfruttando il registro di sistema e prendendo solo quelle usate, evitando l’inutile “Apri con”.
A meno che non facciamo delle modifiche allo script e gli facciamo individuare solo le estensioni da noi definite ;)
Un altro tool per individuare queste falle mi è stato segnalato da s3rg3770.
Si chiama DynamicLoadLibraryTest, scritto da Gianni Amato.
Il suo funzionamento è molto semplice e a differenza di quello di hd moore, controlla solo una estensione ;)
Automated Application Discovery for DLL loading vulnerability
Step 1: click on start.batStep 2: Copy and execute application from \DynamicLoadLibraryTest\[filename.ext]
Step 3: press any key on shell when application is loaded and waiting for the result :)
Have fun!
Gianni ‘guelfoweb’ AmatoCredit: H.D. Moore
Anche quest tool, sfrutta procmon per risalire alla chiamata della dll,però a differenza di quello di hd moore, individua quando fallisce l’apertura della dll nella stessa directory, ciò significa che il programma è vulnerabile perchè cerca le dll nella stessa directory in cui viene eseguito.
Un output esempio:
———- TMP\MYRESULT
"13:24:29.4679195","firefox.exe","1372","QueryOpen","C:\Documents and Settings\clshack\Desktop\DynamicLoadLibraryTest\dwmapi.dll","NAME NOT FOUND",""
DOWNLOAD DynamicLoadLibraryTest
Infine troviamo ancora in fase beta questo utile programma, molto più veloce rispetto agli altri, purtroppo però testa i file con una estensione generale “.audit” e perciò da qualche errore e non sempre individua i programmi vulnerabili, ma nelle prossime versioni, il creatore, fixerà questo “bug” che gli ho già segnalato.
Buon divertimento :D
Related posts:
- [DLL Hijacking] Windows 7 and more application Remote code Exuction => metasplooit
- [scanner-web]Websecurify: Ottima alternativa ad acunetix :)
- RIPS:source code analyser for vulnerabilities in PHP
- Grendel-Scan:web application security testing tool
- HTTP session hijacking with Ettercap and Hamster
This entry was posted on Thursday, September 2nd, 2010 at 9:28 am and is filed under Hacking, Software, Windows. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Tagged with: dll • hack • linux • metasploit • remote • tool • Windows







Pingback: news sul mondo della programmazione » Tools for search DLL Hijacking Vulnerabilities
Pingback: Tools for search DLL Hijacking Vulnerabilities