Перейти к содержанию
Иван

Антивирус NOD32 работает на хакеров

Recommended Posts

Иван

Это к заявлениям о том, что вот дескать в касперском и других антивирях находят уязвимости, а вот нод32 безупречен.

http://safe.cnews.ru/news/line/index.shtml?2007/05/24/251713

В антивирусе NOD32 версий до 2.70.37.0 включительно обнаружены две уязвимости, заставляющие его выполнять произвольный код при определённых условиях, сообщает Heise-security.co.uk.

Как сообщили в списке рассылки Bugtraq, две ошибки переполнения буфера срабатывают при лечении, удалении или перемещении файлов в директорию с длинным именем. Вредоносный код при этом необходимо записать как часть названия директории в формате Unicode. Уязвимость, тем не менее, довольно сложно эксплуатировать, однако специалисты утверждают, что работающий эксплоит уже создан.

Компания Eset, разработчик антивируса, выпустила обновление, которое доступно для автоматической загрузки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ego1st

длина пути очень многими плохо обрабатываеться, др.веб тоже падает..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
др.веб тоже падает..

Steps to reproduce для Dr.Web можно? Например, для eicar.com .

Какая версия падает? Релизная, бета? Что падает - спайдер роняет систему в BSOD при проверке или же сканер падает?

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ego1st

на rootkits.ru было написано..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
на rootkits.ru было написано..

Погуглил

site:rootkits.ru - 853 результата

site:rootkits.ru Dr.Web - ничего не найдено

Давно было?

Просто насколько я помню, давеча правили что-то похожее. И вроде как исправляли. Поэтому нужно бы поточнее. Если точнее нет, то даже баг не завести.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

Спасибо, буду смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

Создал путь длиннее MAX_PATH (260 символов).

Dr.Web не сканирует, но и не падает.

Пишет:

[scan path] E:Longlonglonglonglonglonglonglong

И всё.

Хотя настоящий путь там E:LonglonglonglonglonglonglonglongLonglonglonglonglonglonglonglong... и т.д.

А NOD после исправления уязвимости стал именно сканировать (лечить, перемещать) такие пути или же просто не падает?

Да, ещё вопрос.

Как создать 1024 вложенных папки, если общий путь не превышает 260 символов. Ограничение на 260 символов можно обмануть в Windows, т.е. сделать путь длиннее (что я и сделал). А вот 1024 вложенные папки как сделать, пока не придумал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EP_X0FF
Какая версия падает? Релизная, бета?

любая из существующих.

при просмотре списка дисков и директорий происходит buffer overrun

drwebre5.gif

касперски 7 тоже не блещет, он просто висит на сканировании подобного каталога.

другие не лучше - они либо пропускают либо начиная раскручивать каталог выпадают. аффтарам нод32 надо меньше курить их программа не лучше.

повторить это можно простым кодом в несколько строк.

 strcpyW(buf, '?J:fdir');  CreateDirectoryW(buf, nil);  for i := 0 to 1023 do  begin    strcatW(buf, 'fdir');    CreateDirectoryW(buf, nil);  end;

можно расширить код и запихать в директорию бинарник + стартовать его оттуда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

EP_X0FF, спасибо за подробную информацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

EP_X0FF, проверил сегодня по Вашему методу. 4.44 не падает, но и, опять же, не проверяет.

Вот что у меня на VC++ 2005 получилось:

void CMy1024Dlg::OnBnClickedOk(){    CString buf, buf1;    buf = "?C:long";    buf1 = "C:Hello.exe";    ::CreateDirectoryW(buf,NULL);    for (int i=0; i<1030; i++)    {        buf += "long";        ::CreateDirectoryW(buf,NULL);    }    ::CopyFileW(buf1, buf, NULL);    buf += "Hello.exe";    ::ShellExecuteW(0,L"",buf,L"",L"",0);    OnOK();}

Так вот либо CopyFileW не работает, либо ShellExecuteW.

Может, Вы ошибку подскажете?

Или же запустить всё же невозможно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EP_X0FF
4.44 не падает, но и, опять же, не проверяет.

А если раскрыть список директорий в его интерфейсе? :) Вышеприведенный скриншот как раз получен при этом.

Сработал или нет CopyFileW легко проверить, наверняка сработал.

А вот чтобы запустить с такого пути что-либо обычное API неприменимо.

Нужно полностью повторить процесс загрузки и запуска процесса.

1. создать секцию из файла ZwOpenFile, ZwCreateSection

2. создать оболочку - процесс ZwCreateProcess, ZwQuerySection

3. создать стек и первичный поток ZwCreateThread

4. создать и инициализировать структуры процесса RtlCreateProcessParameters

5. уведомить сервер процессов о создании нового процесса

CsrClientCallServer

6. поставить маркер доступа к новому процессу RtlAdjustPrivilege ZwSetInformationThread

По всему этому есть полагающаяся инфа и даже примеры готового кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
А если раскрыть список директорий в его интерфейсе? Smile Вышеприведенный скриншот как раз получен при этом.

Да, при планомерном раскрытии таких поддиректорий на определённом моменте получаем вышеопубликованный скриншот, но это менее критично, чем падение на сканировании таких папок. Хотя, конечно, тоже заслуживает внимания.

А вот чтобы запустить с такого пути что-либо обычное API неприменимо.

Нужно полностью повторить процесс загрузки и запуска процесса.

Опять же спасибо за информацию. Буду подумать :)

Добавлено спустя 33 минуты 20 секунд:

Нужно полностью повторить процесс загрузки и запуска процесса.

1. создать секцию из файла ZwOpenFile, ZwCreateSection

2. создать оболочку - процесс ZwCreateProcess, ZwQuerySection

3. создать стек и первичный поток ZwCreateThread

4. создать и инициализировать структуры процесса RtlCreateProcessParameters

5. уведомить сервер процессов о создании нового процесса

CsrClientCallServer

6. поставить маркер доступа к новому процессу RtlAdjustPrivilege ZwSetInformationThread

Кажется, тут схема дописана не до конца :) Или на 6-ом пункте программа уже запустится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Сергей Ильин

Вообще на сколько на ваш взгляд реально использование подобной уязвимости вирусописателями?

Ведь писать malware с расчетом только на Nod32 невыгодно, не такой популярный продукт да и выхлоп не такой большой получится как ни крути, уязвимость быстро закроют.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Вообще на сколько на ваш взгляд реально использование подобной уязвимости вирусописателями?

А что мешает? Схема указана. Дело за реализацией.

Да и причём тут НОД? Проблема есть у всех, и не думаю, что её так уж легко исправить.

Запустится вирусок из %WINDIR%system32system32system32... (и так 1024 раза), и никто о нём и не узнает, хотя антивирус и не упадёт.

Ы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn

Интересно.Нету возможности детекта просто длинных путей?Скажем,более 50 вложенных папок уже можно предлагать стирать.Либо сразу иметь возможность подобной установки и по умолчанию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Нету возможности детекта просто длинных путей?

Есть, конечно. Dr.Web такие пути, например, игнорирует, не сканирует.

Утверждается, что КАВ 7.0 на их скане зависает, но, думаю, там это легко поправят.

Скажем,более 50 вложенных папок уже можно предлагать стирать.

Стирать - не очень правильное решение, даже если спрашивать. А вдруг там что-нибудь нужное? Всегда найдётся пользователь, который не сможет ответить на вопрос - нужно оно ему или нет.

Добавлено спустя 52 секунды:

Да ещё нужно и уметь удалить такой путь.

Проводник и всё на нём основанное, например, не может удалить такие папки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn

Я цифру 50 наугад взял.А есть ли такие длинные пути вообще,кроме вирусных?То есть,как с неизвестными пакерами,кто-то пользуется дырой.Я бы стирал.Можно цифру и повысить.

Я не программист.Удалить нельзя путём,обратным созданию?Команде,которую выполнила ОС по созданию папки/папки...,должна быть и обратная.Через ответ "стереть" в АВ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Удалить нельзя путём,обратным созданию?

Да, видимо, можно. Сейчас с этим играюсь. Функцию нашёл соответствующую готовую.

Именно обратным путём:

1. удалением файлов в самой "дальней" папке;

2. удалением самой "дальней" папки;

3. переход на уровень выше

4. Переход на п.1, пока не достигнем корня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn

Насколько загружает анализировать в реальном времени команды в кодах,направленные на создание,скажем,>50 вложенных папок?На крайний случай только в небольших файлах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy
Насколько загружает анализировать в реальном времени команды в кодах,направленные на создание,скажем,>50 вложенных папок?На крайний случай только в небольших файлах.

Не понял вопроса.

1024 поддиректории у меня создались где-то за минуту. В это время остальные программы нормально продолжали работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn

Имел ввиду,если АВ это в порядке своей деятельности при доступе к файлам делает.Возможно вообще такую команду отловить,если в файле узнана не была?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Valery Ledovskoy

Сокращать пути до меньших MAX_PATH не так накладно по ресурсам, как оказалось.

Удаляется всё это гораздо быстрее. Если создаётся около минуты, то удаляется несколько секунд.

Можно такие пути "укорачивать" (спрашивая у пользователя) до MAX_PATH, в принципе.

Правда, для удаления я использовал "заточенный" под свой случай код:

void CRemoverDlg::OnBnClickedOk(){    int i,j;    CString path;    for(i=1032;i>=0;i--)    {        path = L"?C:long";        for(j=0;j<i;j++)        {            path += L"long";        }        ::DeleteFileW(path + L"Hello.exe");        ::RemoveDirectoryW(path);    }    OnOK();}

Сделал так, потому что забыл, на каких уровнях оставил файлы Hello.exe :)

Зато теперь можно смело экспериментировать с запуском оттуда.

Думаю, не так сложно сделать удаление всех подкаталогов определённого "длинного" каталога, не зная заранее структуры его подкаталогов, если использовать FindNextFileW и пр.

Добавлено спустя 6 минут 32 секунды:

Возможно вообще такую команду отловить,если в файле узнана не была?

Т.е. детектировать эвристиком/проактивкой создание пути, состоящего из символов, бОльших MAX_PATH?

Не знаю. Наверное, это будет сложнее, чем удалить уже созданный длинный путь при сканировании :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Inkogn

Да,так как до того,как пройдут недели для очередного скана по требованию,успешно спрятанный какой-нибудь даже "знакомец" успешно запустится.Детектировать возможно на стадии создания/превышения пути.Заодно может быть и с новым инициатором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
EP_X0FF

Интересное предложение - удалять такие пути или резать их. FYI Виста может на вполне законных основаниях забабахать путь > MAX_PATH и такие вот резанья ни к чему хорошему не приведут.

Не резать и орать о таких надо - нужно всего лишь добавить в антивирусы, то, что там должно было быть с самого начала. А именно - следование документации на использование путей, а не какой-то константы, которая между прочим, является объектом совместимости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
    • Ego Dekker
      Компания ESET (/исэ́т/) — лидер в области информационной безопасности — представляет обновленные продукты для обеспечения еще более мощной защиты домашних устройств Windows, macOS, Android и iOS, а также конфиденциальных данных на них. Теперь пользователям доступны новые функции – многопотоковое сканирование и ESET Folder Guard для защиты папок, а также другие улучшения для защиты устройств домашней сети от программ-вымогателей, фишинга и онлайн-мошенничества. Обновленные решения с улучшенным функционалом помогут защитить устройства от новых сложных киберугроз, которые постоянно развиваются. Несмотря на применение новейших технологий, решения ESET остаются простыми в использовании благодаря платформе ESET HOME для управления безопасностью, доступной для всех основных операционных систем. «Как прогрессивный поставщик цифровых решений по безопасности, ESET стремится всегда быть на шаг впереди злоумышленников. Наши эксперты создали мощные цифровые решения, которые объединяют более чем 30-летний человеческий опыт с искусственным интеллектом, многоуровневыми технологиями по безопасности и облачной защитой. Следуя подходу, направленному на предотвращение угроз, решения ESET обеспечивают конфиденциальность и безопасность, оставаясь при этом удобными, мощными, легкими и быстрыми», — комментирует вице-президент ESET в сегментах продуктов для домашних пользователей и устройств Интернета вещей. Новые функции для более мощной защиты ESET Folder Guard обеспечивает защиту ценных данных пользователей Windows от вредоносных программ и угроз, таких как программы-вымогатели, черви и программы для уничтожения данных. Пользователи могут создать список защищенных папок, файлы которых не могут быть изменены или удалены ненадежными программами. Следует отметить, что новая функция доступна только в премиум-подписке ESET HOME Security Premium. Многопотоковое сканирование улучшает производительность сканирования для многоядерных процессоров, которые используют устройства Windows, путем распределения запросов на сканирование между доступными ядрами ЦП. Потоков сканирования может быть столько, сколько и ядер процессора устройства. Сканер ссылок, доступный в программе ESET Mobile Security, улучшает защиту пользователей мобильных устройств путем блокирования потенциальных атак фишинга с веб-сайтов или доменов из базы данных ESET. Кроме того, это дополнительный уровень защиты для владельцев смартфонов Android, который проверяет каждую ссылку при попытке открытия пользователем. Например, если пользователь получает и открывает фишинговую ссылку в игре, ссылка сначала перенаправляется в программу ESET для проверки, а затем в браузер. Если пользователь использует неподдерживаемый браузер, сканер заблокирует вредоносную ссылку. Важные улучшения существующих функций Обновленная функция «Игровой режим» позволяет пользователям создавать список приложений, после открытия которых запускается игровой режим. Для осторожных игроков также есть новая опция для отображения интерактивных уведомлений при работе игрового режима. Следует отметить, что эта функция предназначена для пользователей, нуждающихся в непрерывном использовании программного обеспечения без всплывающих окон и желают минимизировать использование ресурсов. Функция «Управление паролями» теперь содержит опцию удаленного выхода при входе на других устройствах. Пользователи могут проверить свой пароль со списком взломанных паролей и просмотреть отчет о безопасности, который информирует пользователей об использовании слабых или повторяющихся паролей для сохраненных учетных записей. Управление паролями позволяет использовать программы сторонних разработчиков, такие как дополнительная двухфакторная аутентификация (2FA). Благодаря улучшению защиты устройств Mac, у решений теперь есть новый унифицированный брандмауэр с базовыми и расширенными параметрами настройки в основном графическом интерфейсе в соответствии с различными потребностями пользователей без лишних настроек. Подписки ESET идеально подходят пользователям, которые требуют к базовым функциям безопасности также обеспечить защиту устройств домашней сети и умного дома, безопасность конфиденциальных и личных данных, а также оптимизацию производительности. Подробнее о подписках для домашних пользователей читайте по ссылке. Пресс-выпуск.
    • Ego Dekker
      ESET NOD32 Antivirus 18.0.11  (Windows 10, 32-разрядная)
              ESET NOD32 Antivirus 18.0.11  (Windows 10/11, 64-разрядная)
              ESET Internet Security 18.0.11  (Windows 10, 32-разрядная)
              ESET Internet Security 18.0.11  (Windows 10/11, 64-разрядная)
              ESET Smart Security Premium 18.0.11  (Windows 10, 32-разрядная)
              ESET Smart Security Premium 18.0.11  (Windows 10/11, 64-разрядная)
              ESET Security Ultimate 18.0.11  (Windows 10, 32-разрядная)
              ESET Security Ultimate 18.0.11  (Windows 10/11, 64-разрядная)
                                                                                  ● ● ● ●
              Руководство пользователя ESET NOD32 Antivirus 18  (PDF-файл)
              Руководство пользователя ESET Internet Security 18  (PDF-файл)
              Руководство пользователя ESET Smart Security Premium 18  (PDF-файл)
              Руководство пользователя ESET Security Ultimate 18  (PDF-файл)
              
      Полезные ссылки:
      Технологии ESET
      ESET Online Scanner
      Удаление антивирусов других компаний
      Как удалить антивирус 18-й версии полностью (пользователям Windows)?
    • PR55.RP55
      Команда Ctrl+Z не работает ? Пример: Выполнено за 0,753 сек.
      Операция удаления ссылок добавлена в очередь: HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DACBCHKAHFMNDKENEFKCKLOFJMIPGHJJP%26INSTALLSOURCE%3DONDEMAND%26UC
      Операция удаления ссылок добавлена в очередь: HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DIIFCHHFNNMPDBIBIFMLJNFJHPIFIFFOG%26INSTALLSOURCE%3DONDEMAND%26UC
      Операция удаления ссылок добавлена в очередь: HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DOHEDCGLHBBFDGAOGJHCCLACOCCBAGKJG%26INSTALLSOURCE%3DONDEMAND%26UC
      Операция удаления объекта добавлена в очередь: C:\PROGRAM FILES\QBITTORRENTPRO\QBITTORRENTPRO.EXE
      Команда #8 отменена.
      Команда #8 отменена.
      Команда #8 отменена.
      Команда #8 отменена.
      --------------------------------------------------------------------------------------------------
      В скрипт добавлена команда: delref HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DACBCHKAHFMNDKENEFKCKLOFJMIPGHJJP%26INSTALLSOURCE%3DONDEMAND%26UC
      В скрипт добавлена команда: delref HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DIIFCHHFNNMPDBIBIFMLJNFJHPIFIFFOG%26INSTALLSOURCE%3DONDEMAND%26UC
      В скрипт добавлена команда: delref HTTPS://CLIENTS2.GOOGLE.COM/SERVICE/UPDATE2/CRX?RESPONSE=REDIRECT&PRODVERSION=38.0&X=ID%3DOHEDCGLHBBFDGAOGJHCCLACOCCBAGKJG%26INSTALLSOURCE%3DONDEMAND%26UC
      В скрипт добавлена команда: delall %SystemDrive%\PROGRAM FILES\QBITTORRENTPRO\QBITTORRENTPRO.EXE
      В скрипт добавлена команда: apply
    • Ego Dekker
      ESET Cyber Security 8.2.800  (macOS 11/12/13/14/15)
                                                                                  ●
              Руководство пользователя ESET Cyber Security 8  (PDF-файл)
                                                                           
      Полезные ссылки:
      Технологии ESET
      Удаление антивирусов других компаний
      Как удалить ESET Cyber Security?
×