Comments 14
Если злоумышленник имеет возможность выполнить PowerShell-команду на машине жертвы, то при помощи «шелл-кота» он… получит возможность выполнять код на машине жертвы?
Серьёзно? А для чего тогда «шелл-кот», если выполнять код на его машине можно и просто так?
Смысл в сокрытии. Шелл-код передается на машину жертвы в виде изображения и файл выглядят в точности как нормальное изображение. Нет ничего необычного в передаче изображения по сети и этот факт может привести к тому, что подобный трафик никак не инспектируется средствами защиты и картинка не будет проверяться антивирусным ПО, даже, если хранится на файловой системе. Антивирус не будет пытаться "запустить" картинку в песочнице, а если Вы передадите шелл-код в виде исполняемого файла, то антивирус может выполнить его в песочнице и заблокировать. То, что мы "запускаем" картинку через Powershell — это, считайте, Proof-of-Concept. Факт, есть, факт, что BMP изображение может являться и картинкой, и шелл-кодом одновременно. Смотря как на это смотреть. Надеюсь, я правильно понял Ваш вопрос и ответил на него корректно.
Шелл-код передается на машину жертвы в виде изображения и файл выглядят в точности как нормальное изображение.
В чём специфика того, что это изображение? Точно так же шелл-код можно засунуть в середину
war_and_peace.txt
, даже никакие заголовки не придётся править.То, что мы «запускаем» картинку через Powershell — это, считайте, Proof-of-Concept.
Так а схема атаки-то какая? Предполагается, что фаервол жертвы не разрешит скачать шелл-код в открытом виде, но разрешит скачать некий эксплойт, скачивающий «шелл-кота» и запускающий его?
Факт, есть, факт, что BMP изображение может являться и картинкой, и шелл-кодом одновременно.
Надо же, какая новость.
А то, что в середине war_and_piece.txt будет ассемблерный код Вас не смущает? Думаете, это никто не заметит? Так же ваш War and Piece должен начинаться с ассемблерных инструкций, которые не вызовут ошибку, так что "серединой книги" не обойдется. В примере выше картинка будет выглядеть точно так же, как и обычные "котики", но одновременно будет являться и шелл-кодом.
Схема атаки здесь не описывается. Здесь описывается способ передачи шелл-кода в виде, в котором он с высокой долей вероятности не будет обнаружен средствами защиты ни во время передачи по сети, ни после передачи.
То что запускает жертва в виде PowerShell скрипта не является эксплойтом и не несет в себе вредоносный код. Это скрипт для скачивания картинки из интернета и проведение с ней каких-то манипуляций. Так что в чем проблема передачи такого файла по сети?
Касательно Rarjpeg — здесь иной принцип работы, не имеющий отношения к принципу, по которому работает DKMC.
А то, что в середине war_and_piece.txt будет ассемблерный код Вас не смущает? Думаете, это никто не заметит?
Фаервол — наверняка не заметит, раз «отрезанные пять пикселов» (т.е. заголовок, не соответствующий содержимому) у BMP-изображения не заметил.
Так же ваш War and Piece должен начинаться с ассемблерных инструкций, которые не вызовут ошибку, так что «серединой книги» не обойдется.
Тот самый «скрипт-запускатель», который запускает payload начиная с первого байта, точно так же может его запускать и начиная с байта 0x00200A04.
Касательно Rarjpeg — здесь иной принцип работы, не имеющий отношения к принципу, по которому работает DKMC.
Поздравляю с изобретением более сложного способа добиться в точности того же результата, которого можно добиться простым и широко известным.
Стоило того.
BMP.
Какие еще форматы файлов, которые могут загружаться на сервер (пользователем), подвержены данной уязвимости?
И какие вы можете предложить средства предотвращения этой уязвимости?
Возможно, TGA — схожая структура файла. Другое интересно — кто использует эти форматы для передачи по сети?
Выше уже указали на давно известный rarjpeg.
И вот ещё история была, но тоже маловероятно в виду «распространённости» формата.
Я бы использовал PNG — широко распростанён, и туда что угодно можно засунуть, хоть скомпиленный EXE, но сложнее. В гифку — тоже.
Спасибо за ссылки по теме! Это правильно.
Многие вещи в мире информационной безопасности делаются не для того чтобы кому-то навредить, а с научной целью. Подобные тексты расширяют кругозор, предлагают алгоритмы поиска уязвимостей, вовлекают людей в Open Source разработку, учат чему-то новому.
Но Судя по плюсам к комментариям я могу судить, что большинство читателей ждут какие-то шаги раз, два, три, как проэксплуатировать конкретную систему, хотя ни название, ни пре-текст материала ничего подобного не обещают.
Надеюсь, что тем 22-м проголосовавшим "вверх" этот материал показался полезным и они нашли в нем что-то новое для себя, а всем кто голосует "вниз" предлагаю внести вклад в хаб по информационной безопасности, чтобы мы все узнали что-то новое.
Но Судя по плюсам к комментариям я могу судить, что большинство читателей ждут какие-то шаги раз, два, три, как проэксплуатировать конкретную систему, хотя ни название, ни пре-текст материала ничего подобного не обещают.
Первые слова вашего текста: «Может ли обычная картинка нести угрозу...».
После такого хотелось бы в статье прочитать про «угрозу в картинках», а вместо этого в ней про «угрозу в скрипте, позволяющем скачивать абы что, и запускать вытащенный оттуда код». И всё это обставлено так, как будто бы в формате BMP есть какая-то уязвимость.
Свой вклад в хаб по информационной безопасности я внёс неделю назад, вне корпоративного блога и на голом энтузиазме. На здоровье.
Кот или шеллКод?