![]() |
Добрый день,Уважаемые Форумчане и Друзья.
Когда-то стали известны способы размещения вредоносного кода в изображении. Немногим позднее появилась атака Polyglot,когда вредоносный файл одновременно является изображением и JavaScript-кодом. В основном,это касалось файлов BMP,при этом,2 первых байта представляли 16-ричное представление символов ВМ в изображении ВМP. Далее,4 байта отвечают за размер,затем 4 нулевых байта и байты,отвечающие за смещение данных. При выполнении техники Polyglot,контролируется размер изображения,а 16-ричные символы представляются так,чтобы компьютерами интерпретировались иначе. Т.е.,чтобы выполнялись как код. Соответственно,появился генератор полезной нагрузки Pixload,который создал Alexandr Savca (chinarulezzz). И который представляю Вашему вниманию. Pixload умеет сгенерировать нагрузку в файлах BMP,GIF,JPG и PNG . Работает он как с дефолтными файлами,которые прилагаются в его директории,так и может начинять небольшие произвольные файлы соответствующего формата. В отличии от других аналогичных техник,файлы не требуется конвертировать в иконки и т.п. Если кому потребуется начинка из shell-кода х86 как в старые добрые времена,то смотрим здесь и здесь Другие полезные ссылки для информации Вы найдёте на странице автора Вся информация предоставлена исключительно в рамках ознакомления и изучения проблем информационной безопасности. Категорически запрещается применение рассматриваемого инструмента в незаконных целях. Установка: Код: Код:
# apt install libgd-perl libimage-exiftool-perl libstring-crc32-perlЕсли работать с дефолтными данными и произвольный выходной файл отсутствует,то при следующем генерировании,такой файл перезапишется. Если имеется скачанный произвольный выходной файл,то указываем на выходе его название,и нагрузка запишется в него. Для удобства поместите такой файл в директорию инструмента. 1) Для файлов BMP Код:
# ./bmp.pl -output file.bmpИ именно для данного типа файлов существует лимитирование нагрузки в 64 байта и требование,чтобы файл был произвольным. Код: Код:
# ./jpg.pl -place DQT -output file.jpgКод:
# ./png.pl -output file.pngКод:
# ./gif.pl -output file.gifПосле генерирования полезной нагрузки,размер в свойствах останется неизменным,но само изображение примет минимальный размер. Сам процесс можно видеть на главном скриншоте. Опасность такие файлы представляют для посетителей ресурсов,у которых,особенно присутствует XSS-уязвимость. Например,находятся вот таким способом уязвимые ресурсы по доркам. Наличие уязвимости позволяет даже себя любимого вывести на главную страницу. Загружаются файлы если это позволяется и выполняется атака через браузеры при взаимодействии с файлом. Мы конечно не станем ничего никуда грузить и заниматься вредительством. Защитой от подобной атаки служит по-прежнему контроль javascript в браузере за счёт дополнений. И при изучении файла hex-редактором ,а лучше,анализатором пакетов,можно сразу увидеть,что с файлом что-то не так и виден в нём скрипт. На этом обзор завершаю,всех благодарю за внимание и до новых встреч. |
Если я правильно понял, браузер отрендерит картинку и алерт должен появиться ?
|
Цитата:
Ведь одно из принципиальных отличий атак с poliglot в том ,что не требуются после загрузки файла сторонние программы для вызова содержимого. Смысл в превращении типа обычного файла в переменную javascrypt с присвоением нагрузки. Если скрипт к примеру будет иметь такой вид Код:
А если к скрипту добавляется такой элемент Код:
|
Скрипт в картинке , в консоли браузера получаю:
Chrome - Uncaught SyntaxError: Invalid or unexpected token - Firefox - SyntaxError: illegal character - Что я не так делаю ? |
Цитата:
Связано это то ли с обновлением политик безопасности в браузерах,то ли с наличием в коде недопустимых знаков. Об этом можно посмотреть здесь и здесь. Также методом проб и ошибок изучаются техники bypass с применением таких скриптов. Можно попробовать так Код:
Код:
%0ajavascript:`/*\"/*--><svg onload='/*` |
Хотел протестировать. Получаю вот такую ошибку в консольке.
Код:
Refused to execute script from 'http://localhost/tr.bmp' because its MIME type ('image/x-ms-bmp') is not executable.Код:
|
| Время: 18:38 |