Может ли быть вирус в png файле
Для того, чтобы вирус, полученный каким-либо образом, смог заразить систему, его программный код должен быть исполнен. Сам себя вирус запустить не может, поэтому, например, обычное копирование зараженного файла в незараженную систему еще не приводит к заражению. Заражение может произойти только если файл будет открыт, в частности для исполняемого файла (программы) , если этот файл будет запущен на выполнение. В случае когда файл не является исполняемым, возможность заражения от его открытия зависит от того, как программное обеспечение, которое используется для открытия файла, обрабатывает его содержимое. Последнее определяется наличием так называемого активного содержимого в файле.
Под активным содержимым понимается присутствие в файле каких-либо инструкций (программного кода) требующее от программы, открывающей этот файл, выполнения дополнительных операций, порядок исполнения и набор которых определяется непосредственно содержащимися инструкциями. Если программа, открывающая файл, будет исполнять эти инструкции, то это вполне может привести к заражению. Конкретным примером такого активного содержимого являются макросы текстового процессора Microsoft Word
К классу безопасных файлов относятся .txt, практически все файлы растровой графики, например, форматов JPEG - Joint Photographic Experts Group (расширение ".jpg"), GIF - Graphic Interchange Format (расширение ".jpg"), PNG - Portable Network Graphics (расширение ".jpg"), TIFF - Tagged Image File Format (расширение ".tif") и другие. К безопасным файлам так же относятся аудио файлы форматов MIDI (расширение ".mid"), RIFF Wave (расширение ".wav"), MP3 - MPEG Audio Layer 3 (расширение ".mp3"), Real Audio (расширение ".ra") и другие.
вирус Penetrator
.
ирус написан на Visual Basic.
Исполняемый файл вируса упакован UPX v.1.93.
Вирус предназначен для 32-битной платформы ОС Windows с процессором x86.
Вирус – резидентный, на зараженном ПК он грузится вместе с операционной системой и постоянно присутствует в оперативной памяти.
Родина вируса – Россия.
Основные средства распространения вируса – Интернет, локальная сеть, flash-носители.
Вирус распространяется с помощью файла flash.scr
JPG тоже может быть источником заражения:
Заразиться JPEG-вирусом можно, просмотрев содержащий его файл с помощью Internet Explorer, получив соответствующее "изображение" в Outlook, открыв содержащий его документ MS Word (в самом Word, конечно) и ещё добрым десятком способов с использованием программных продуктов Microsoft.
2008:
Червь, получивший название Worm.Win32.GetCodec.a, конвертирует mp3-файлы в формат WMA (при этом сохраняя расширение mp3) и добавляет в них маркер, содержащий в себе ссылку на зараженную web-страницу. Активация маркера осуществляется автоматически во время прослушивания файла и приводит к запуску браузера Internet Explorer, который переходит на инфицированную страницу, где пользователю предлагается скачать и установить некий файл, выдаваемый за кодек. Если пользователь соглашается на установку, то на его компьютер загружается троянская программа Trojan-Proxy.Win32.Agent.arp, с помощью которой злоумышленник может получить контроль над атакованным ПК.
хммм , только непонятно как можно конвертировать mp3-файлы в формат WMA (при этом сохраняя расширение mp3)
RomRom Искусственный Интеллект (148738) элементарно. Вирус сначала конвертирует MP3 во временный файл WMA и после добавления маркера переименовывает его в оригинальный MP3. Для плеера, расширение особого значения не имеет. Формат определяется им по заголовку файла.
RomRom Искусственный Интеллект (148738) >>Активация маркера осуществляется автоматически во время прослушивания файла и приводит к запуску MP3 с таким маркером можно считать зараженным. Потенциально он может вызвать заражение всех других MP3 файлов. Здесь, правда, не совсем совершенный полуавтоматический механизм. Пользователь может не разрешить установку трояна.
Во время поиска и удаления вредоносного кода столкнулись с вирусами в картинках, вирусы всего находят оригинальные места и способы своего хранения и проникновения. Однако нам предстоит тщательным образом удалить все остатки вредоносного кода и нам понадобится почистить и сами картинки. Начинаем разбирать проблему.
Открываем бинарный код картинки и видим.
А вот как картинка выглядит в живую.
Как мы видим картинка вполне читаема, но содержит вредоносный код.
Поскольку картинки повреждены практически все, удалять тело нам придется на основе регулярных выражений. При детальном осмотре, файлов jpg png gif были найдены модификации вирусов. Если проще говорить — не все они были одинаковые, а порой специально тело вируса видоизменяется каждый раз при записи в новую картинку.
Изменяя начало конец, а так же название переменных в своем теле. Что затрудняет его удаление.
Первое что пришло на ум, перекомпилировать все картинки с консоли однако тесты показали, что картинка мало того что не удаляет вредоносный код, так и даже при редактировании через графический редактор phptoshop и сохранение поверх другой картинки так же наследует вирусный код. Следовательно, пришлось рыться и искать место где так легко сохраняется вирус, даже при изменение размера картинки.
После поисков это место было найдено. EXIF
Если вам это ничего не говорит, вирусу на это все равно. В двух словах это сопутствующая информация о фото. Где, на что она была сделана, условия съемки и так далее.
С этого момента картина прояснилась. Стало понятно, что никакая модификация самой картинки не удалит код. Нужно модифицировать сам EXIF.
Смотрим, что же там написано и сравним с первой же фото сделанной на фотоаппарат.
А теперь наш файл.
Отлично, мы нашли код вируса от начала до конца, теперь даже видоизменяющийся вирус мы сможем удалить, не повреждая сам файл. Остается придумать как. Далее, сразу предупрежу, мы не используем обычные хостинги, а используем исключительно арендуемое оборудование в германских дата центрах, и доступ до серверов у нас полный ROOT SSH. Если же вы используете обычный хостинг вам работа усложнится.
Для качественного удаления нам понадобится утилита редактирующая EXIF. Нам вполне подойдет exiftools.
Теперь нам нужно изучить exiftool. После поисков нужного нам атрибута мы остановились на '-all= '
Получаем на выходе
Создаем регулярное выражение на основе выше найденного.
Тем самым, видим есть ли вирус в файле.
Далее не буду приводить множество модификаций регулярного выражения, опишу всего лишь проблемы при его создание.
- Exiftools не возвращает путь до файлов которые он отредактировал.
- Cat + grep не желают открывать бинарники
- Exiftools создает копию файла при его редактирование.
- Требуется исключить все файлы в exif которых нет вируса и не трогать их.
В общем, вот сам скрипт, который учитывает уже все подводные камни, однако скорость его работы оставляет желать лучшего, даже при таких конфигурациях он будет 300 сайтов прогонять не один десяток часов. Однако гарантирует 100% удаление всех вирусов с корректной работой самой картинки. И в этот расчет не берется удаление оставшегося кода вируса вне картинок.
Можно сократить команду до более понятной.
актуально для Debian ветки.
find. — ищет все рекурсивно от текущего каталога
-type f только файлы
-name имена
-regex регулярные выражения вместо -name
-or смотреть так же
-exec запускает команду
<> — все что передала предыдущая команда при переборе
exiftools -all= (в конце обязательно пробел) — стирает данные exif
rm — удаляет файл оставляемый exiftool после изменений.
Также, при лечение, стоит учитывать, что удалить требуется сам вирус, его последствия, шелл скрипит вируса, притом все их копии. Вирусы по одному не ходят, так что продолжаем искать еще вирусы, до полной уверенности в их отсутствии.
Подробней о самом вирусе можно найти в интернете. Я же показываю как удалить его с картинок.
Проблема инфицированных изображений и вирусов, замаскированных под них, является достаточно важной ввиду существующих алгоритмов поиска угроз, использующихся в большинстве антивирусов. Антивирусы, использующие преимущественно сигнатурный анализ, и наделенные всеми преимуществами и недостатками этой технологии, часто вынуждены игнорировать бинарные файлы для сохранения высокой скорости сканирования. Именно эта черта антивирусов приводит к удобным возможностям для злоумышленников в деле инфицирования веб-ресурсов и серверов путем сокрытия инфекций в бинарных файлах и, чаще всего, именно в файлах изображений. В этой статье мы рассмотрим наиболее часто встречающиеся типы подобного инфицирования, способы обнаружения подобных файлов и методы их устранения, либо очистки, а также расскажем о том, как Virusdie помогает в борьбе с подобными файлами.
Часто, картина инфицирования сайтов и серверов, предполагает инфицирование исполняемых файлов, либо создание новых. В то же время, в отдельную группу стоит выделить инфекции, маскирующиеся под файлы изображений, либо модернизирующие их. Сложность поиска и устранения подобных заражений заключается не только в самом принципе их выявления, но и в последствиях, к которым может привести их автоматическое устранение или простое удаление файлов.
Вредоносный файл под видом изображения
Подобные описанному ниже случаю встречаются достаточно часто. На сервер злоумышленником загружается файл с типичным расширением изображения (например, *.ico, *.jpg, *.jpg и т.д.), содержащий код.
Вызов вредоносного файла прописывается в одном из исполняемых при работе CMS сайта файле. Это может быть как основной файл index.php, так и один из файлов шаблона CMS. Обнаружить визуально подобный файл достаточно легко. Обычно, уже само имя подобного файла может даже неподготовленного пользователя навести на мысль о его подозрительности, например, favicon_9b3623.ico. Вы можете легко удостовериться во вредоносности файла, просто открыв его в редакторе. В случае, если ли вы, открыв файл изображения, увидите осмысленный код,- файл вредоносен.
Однако, если в этом случае выявление самого вредоносного объекта не составляет труда, устранение подобного заражения требует особого внимания. В большинстве случаев, простое удаление файла приведет к неработоспособности веб-сайта, поскольку несуществующий файл вызывается в одном из файлов CMS. Для того, чтобы без последствий устранить найденное заражение, вы можете сделать поиск по файлам сайта, задав в качестве объекта поиска фрагмент контента, содержащий имя файла найденной угрозы (например, favicon_9b3623.ico).
После нахождения файлов, содержащих вызов инфицированного объекта, вам останется просто удалить строки обращения к зараженному файлу. В этом случае, при удалении инфекции, маскирующейся под файл изображения, пройдет безболезненно для работы вашего сайта.
Подход Virusdie к анализу файлов изображений
С 5 апреля 2018 года мы запускаем программу тестирования новых алгоритмов, позволяющих не только детектировать описанные выше случаи инфицирования, но и устранять большинство из них в автоматическом режиме без последствий для работоспособности сайтов. Первичное тестирование будет производиться на всей линейке продуктов Virusdie, но помечаться найденные фалы будут как «Подозрения». Также, во время тестирования новой логики детектирования, автоматическое устранение найденных объектов не будет доступно во избежании нарушения работоспособности веб-ресурсов клиентов.
Для устранения найденных заражений вы всегда можете воспользоваться нашими советами, приведенными выше в этой статье.
Картинки формата PNG всегда несли опасность как для владельцев сайтов так и для простых интернет-обывателей своей возможностью работать контейнером для лишней информации, а значит переносить реальные метаданные
Проще говоря - это бомба с дистанционным механизмом которая выжидает своего времени, когда какое-то условие или действие приведет ее в ход
Недавно группа исследователей обнаружили новый способ использования уязвимости PNG формата и javascript для iframe инъекций компьютера пользователя. Техника выполнения настолько уникальна что выявить ее доступными сканерами просто невозможно, поскольку метаданные хранятся отдельно от самого исполнительного кода, глубоко в недрах PNG изображения.
Peter Gramantik описал всю суть в своем блоге
Попробую и я ввести вас в курс дела. Итак что же такое эта Iframe инъекция?
Начнем с того что iframe сейчас как и раньше популярный способ вставки кода с чужого сайта(страницы) на своем сайте. Он поддерживается всеми браузерами и есть на 90% сайтов. Самый простой пример - реклама Adsense.
Это на руку злоумышленникам, поскольку для того что бы использовать вирус ему не надо иметь доступа к сайту "донору". Изменяется код на выводимой в iframe странице и все. Выглядит это примерно так
Новый же способ - плавающий фрейм. Уникальность не в использовании тега iframe, а в том что часть кода была спрятана в недрах PNG изображения.
Вы скажете что это не новый способ, но погодите, детали дальше.
Сам фрейм ничего плохого не делал, он подгружал просто Javasript, который использовал для компактности популярную и безопасную библиотеку jquery.js ,и с первого взгляда был безопасным и не нес никакой угрозы
Сначала этот код их озадачил, поскольку ничего критичного в нем не нашли, но чувство опасности не оставляло "исследователей". Подозрение вызвала маленькая функция LoadFile (), которая подгружала внешний файл. Естественно его открыли
Первое ваше мнение? Конечно же "что за хрень", и закрыли файл. Так же сделали и они. Код решили проверить чуть ли не по буквах. И вот она новая загадка - цикл декодирования
Подозрительным стало то что декодировали изображение, поэтому решено было отдебагить этот процесс. И вот что они увидели в результате
Вот оно, то ради чего было потрачено столько времени. Теперь и вы явно видите код вставки плавающего iframe в ваш белый и пушистый сайт с вредоносным кодом. Вы никогда не увидите этот блок, потому что он физически находится за пределами экрана - elm.style.position.left и elm.style.position.top, с абсолютным позиционированием, что не создает скроллбаров, а вот ваш браузер увидит. Интересная и миленькая фишечка для создания SEP атак.
В чем же уникальность? А вот как раз в этой картинке
Все современные сканеры остановятся на яваскрипте и не будут собирать весь код по хлебным крошкам. Сейчас уязвимость нашли в png файле, но кто гарантирует что вскоре эту технику не переключат на остальные графические форматы? Именно поэтому вы должны быть в курсе что и когда было загружено на ваш сервер и когда были сделаны какие-то изменения, чтоб вовремя остановить злоумышленников. Поскольку найти такие уязвимости простому обывателю просто не по силе. А сканеры еще не скоро перейдут на анализ графики в соединении с яваскриптом.
Кстати сайт на который ведет этот фрейм базируется в России и по данным Google Safe Browsing advisory содержит два вида троянов что за последние 90 дней заразили более 1000 сайтов.
В данном случай я выбрал метод картинки. Картинку можно использовать любую, но я в качестве примера взял картинку Кроноса(бога времени) он тут будет выступать главным лицом.
Создаем фото с вирусом метод 1
Дальше будет ваш файл который вы будете маскировать под вирус, ваша картинка, а также будут 2 иконки. И так заходим в папку "Collection_OCX" и находим файл "Resgistrator.OCX" открываем и нажимаем регистрация, подождите пока дело дойдёт до конца. Правда будут несколько ошибок, но на них не обращайте внимания.
Закрываем окно и возвращаемся назад. Далее выделяем наш вирус и вашу картинку под которую вы будете его маскировать, нажимаем правую кнопку
Ставим галочку "создать SFX-arxiv", а метод сжатия выбираем максимальный. В разделе "Дополнительно" на параметры SFX, там мы указываем путь для распаковки наших файлов, там где будет картинка И там где будет вирус, ради примера я указал диск “C”
В разделе "Установка", нам первом делом надо скопировать всё название нашей картинки с расширением, дальше нажимаем ENTER и пишем название нашего вируса.
Во вкладке "Режимы" мы ставим галочку "Скрыть всё", а в раздел "Дополнительно" мы не трогаем, раздел "Обновления" мы выбираем 2 пункт везде, извлечь и обновить файлы, перезаписать файлы.
Теперь отправляемся в раздел "Текст и графика" здесь нам потребуются иконки которые я упомянул в начале.
Пишем названия файла которого вам нужен в Google, например (jpg file icon) и находите подходящий для вас. А также есть сервисы которые за вас всё сделают, конвертируют из jpg в ico или из png в ico, так что проблем вы не найдёте при конвертации файлов в формат иконки. :
После того как вы нашли пустую иконку какого нибудь графического файла, мы возвращаемся в архив и в разделе "Загрузить значок SFX из файла" нажимаем Обзор и выбираем именноего (нашу иконку).
Маскируем расширение Exe
У нас появляется архив вот такого типа: названия папки.ехе, однако иконка выглядит как будто у нас это графический документ.
Теперь мы с вами будем избавляться от расширения EXE. Как же это сделать ? Нам потребуется программа, где нарисована зелёная капелька (открываем её). Откроется реклама, но вы не обращайте внимания на это, выбираем здесь файл что будет криптовать, в этой графе выбираем тот файл под который мы будем его якобы маскировать (jpg), нажимаем "Change Extension" и ожидаем завершение нашей операции.
Появится файл exe.jpg, здесь у обычного человека ломается логика, ведь если мы выбираем левую часть то у нас выделяется правая часть, всё очень просто расширения поменялось местами с основным текстом.
Создаем фото с вирусом метод 2
- Названия нашего почти скрытого вируса
- Пробел
- Вставляем названия вируса
- Удаляем расширения EXE.
- Зажимаем ALT
- Нажимаем на "+" который находится в блоке NumLock,. У нас открывается наше окошко которое мы с вами свернули и не обращали внимание.
- Здесь мы вписываем команду "202e"
- Жмем Send
- Могут появиться плюсики, (они нам не нужны) удаляем их.
Теперь появился файл который мы создали с расширением jpg, его также можно дополнить некоторыми символами чтоб не было слишком подозрительно.
Можете открыть данный файл, данное изображения будет открываться в течение 2-3 секунд, на экране появится ваша картинка, а то что задали в директорию уже будут файлы которые вы указали(ваш вирус).
Вирус автоматически запустится так что не забудьте его закрыть через диспетчер задач.
Создаем фото с вирусом метод 3
Ну а теперь перейдём к 3 методу, и это будет полезно даже тем просто хочет свои файлы от глаз других на самом видном месте. В нашей директории опять зажимаем SHIFT + нажимаем правый клик мышки, и выбираем раздел "Открыть окно команд", и вписываем здесь вот такую интересную команду:
File1– названия вашей картинки, либо если будет музыка ставим.mp3
File2 название вашего файла который хотите скрыть, также можете вместо вируса скрыть другой файл и поменяем расширение,
Появится картинка, оно открывается без лишней погрузки, но если мы нажмём правой кнопки и выберем "Открыть с помощью winrar", то здесь у нас будут наш вирус или файл который вы скрыли.
Вредоносный код в реальном файле изображения
Случаи инфицирования реальных файлов изображений гораздо более редки, нежели создание вредоносных файлов, содержащих php-код в явном виде и лишь имеющих расширение, соответствующее изображению. Но опасность подобных заражений заключается в их сложном детектировании, почти исключающим возможность обнаружения подобных файлов вручную.
Часто, фрагмент дописывается в конец бинарного файла изображения. Имя самого же файла остается неизменным, а часто, сохраняется и оригинальное время последней легальной модификации файла для избежания детектирования, основанного на выявлении измененных файлов на сервере за определенный период времени. Описываемый случай достаточно нетривиален для детектирования и, тем более, для устранения.
С задачами подобного класса различные антивирусные средства работают различными методами, множество из которых основано на комплексном подходе, учитывающим различные факторы. Например, к файлу, в процессе сканирования, применяются одновременно как репутационные методы, так и эвристические и, в некоторых случаях, даже сигнатурные.
В большинстве случаев, оптимальным вариантом устранения выявленного заражения будет, как в подобном случае, именно восстановление немодифицированного файла из резервной копии или устранение фрагмента кода. Однако, вам следует быть осторожными и предварительно проверить, не содержит ли исходная копия этого файла изображения вредоносных включений.
Читайте также: