LINUX.ORG.RU

Бинарники мимикрирующие

 , , ,


0

1

Подскажите как в GNU/Linux обстоят сейчас дела с бинарными файлами/шелл скриптами замаскированными под картинки, архивы, видеофайлы.

Всем известна история с операционной системой Windows от Microsoft, которая прежде была уязвима для таких, в частности страдала от .gif файлов, .docx и пр.

А можно ли сейчас упаковать условный .mp4 & .mkv таким образом, чтобы интерпретирующий его vlc исполнил произвольный код(вызвал баш и проинтерппретировал ему однострочник допустим) и если НЕТ, то на каком этапе это становится невозможным? Права на исполнение файла? Ограничения в ядре? Расчёт на грамотный код самого vlc, gwenview?

Спасибо за ответ.

Линуксоид скорее сам скомпилирует, установит и запустит вирус от рута. Чем попадётся на нулевой день в какой то программе через который его похакают.

LINUX-ORG-RU ★★★★★
()

Можно. В описании таких уязвимостей обычно есть что-то типа «maliciously crafted file/content/data». Хотя не уверен, что ты умеешь гуглить, иначе бы этой темы не было :/

Расчёт на грамотный код самого vlc, gwenview?

Да.

anonymous
()
Ответ на: комментарий от anonymous

Ну, а гипотетически может последовательность байтов какого-то файла выстроитьс ятаким образом, чтобы проэксплуатировать уязвимость ядра?

cheetah111v
() автор топика
Ответ на: комментарий от cheetah111v

Ядро не открывает файлы, то есть совсем никогда. Бывают уязвимости, когда создаётся специальным образом файловая система, которая вызывает ошибку в драйвере с возможным исполнением произвольного кода. Или специальный сетевой пакет. Принцип тот же, только не через картинки и пдфки.

anonymous
()

Взломают через дырявое железо+драйвера+ядерный код, например через vaapi.

Просто ломать 1% десктопа не имеет смысла. А 60% смартфонов дырявые из коробки, и с этим не сделаешь.

anonymous
()
Ответ на: комментарий от cheetah111v

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

anonymous
()

Через дырявые и древние иксовые форматы можно было похакать систему прямо через браузер и ссылку на сайт с картинкой формата XBM, сейчас наверняка исправили.

EXL ★★★★★
()

Подскажите как в GNU/Linux обстоят сейчас дела с бинарными файлами/шелл скриптами замаскированными под картинки, архивы, видеофайлы.

с какой целью вы интересуетесь?

Всем известна история с операционной системой Windows от Microsoft, которая прежде была уязвима для таких, в частности страдала от .gif файлов, .docx и пр.

а щаз нет? если правильно помню, то уязвимость операционной системы «Windows от Microsoft» заключалась в наивности юзверей клацавших на якобы «.gif файлов, .docx и пр.». так M$ виндузоедов смогла пропатчить? а пруфы будут?

можно ли сейчас упаковать условный .mp4 & .mkv таким образом, чтобы интерпретирующий его vlc исполнил произвольный код(вызвал баш и проинтерппретировал ему однострочник допустим)

вот это полёт фантазии… не ну в линуксе и его ПО есть свои баги/дыры/0-day… но, вот нахрена «интерпретатору» видеофайлов vlc потребуется bash?!

если НЕТ, то на каком этапе это становится невозможным?

не тяни непонятно что в систему (я про исполняемые бинарники и «однострочники»), обновляй ПО и систему. и помни: нет неуязвимых систем и безглючного ПО.

линукс защищен своей малопопулярностью среди юзверей. ломать, заражать неуловимый линукс-десктоп, это как ловить золотую рыбку. другое дело линукс-сервера, это уже реальная добыча. ты кстати, каким серверным ПО пользуешься на своём десктопе? приложи списочек (можно в .docx) с указанием версий.

anonymous
()

А можно ли сейчас упаковать условный .mp4 & .mkv таким образом, чтобы интерпретирующий его vlc исполнил произвольный код?

Нельзя сказать можно или нет, потому что ни у кого нет 100% уверенности в том, что программа написана без уязвимостей.

Расчёт на грамотный код самого vlc, gwenview?

Именно это. И да, типичные виндовые «открыл .gif-файл и поймал ртом мокрую киску» без проблем могут встретиться и в Linux, вот смешной пример: https://www.opennet.ru/opennews/art.shtml?num=45700 вместо кода запуска калькулятора скрипткиддис может воткнуть кейлоггер или майнер.

Как сказал анонимус выше, Linux защищен своей малопопулярностью среди пользователей. Те же дырявые иксы в любых Linux’ах троянятся на раз два и все твои пароли и переписки с кошкодевочками утекают майору в папочку на рабочий стол.

EXL ★★★★★
()

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

xmikex ★★★★
()
Ответ на: комментарий от EXL

P.S. Вспомнилась ещё эпичнейшая БАЖИНА и уязвимость в KDE с их идиотскими *.directory файликами, которым Dolphin серит в любые директории в которые заходит пользователь.

Незакрытая уязвимость в KDE

Абсолютно любой человек может подготовить ZIP-архив, который при распаковке сделает rm -Rf ~.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от cheetah111v

А как же Meltdown Spectre? Вызывалось через скрипт шелла, а это уязвимость непосредственно ядра.

Расшифруй. Что вызывалось через скрипт шелла, почему это что-то «уязвимость непосредственно ядра»?

vvn_black ★★★★★
()

Все зависит от дистрибутива GNU/Linux. В некоторых возможна эксплуатация уязвимостей, а в некоторых нет.

Есть основное правило безопасности: все что исполняется не должно изменятся, а что изменяется не должно исполнятся.

Это касается всего, файлов на диске и процессов в оперативной памяти.

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

Если дистростроители забили на безопасность то да, вирусы в таких дистрибутивах будут. Есть уязвимости переполнения буфера в графических библиотеках, особенно в оптимизированных кодеках видео. Если есть, например уязвимость переполнения буфера и дистрибутив незащищенный, то специально созданной картинкой или видео файлом можно выполнить произвольный код в системе.

если НЕТ, то на каком этапе это становится невозможным?

Проектирование дистрибутива.

Важно: процессор, ядро(linux), компилятор(gcc) с линковщиком(binutils) и системная библиотека(glibc).

Далее важны права, DAC + YAMA

Если все что выше и прочие вирус пробил и заразил систему в борьбу включается MAC.

anonymous
()
Ответ на: комментарий от cheetah111v

может последовательность байтов какого-то файла выстроитьс ятаким образом, чтобы проэксплуатировать уязвимость ядра?

Если ядро Линукс незащищенным то да.

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

anonymous
()
Ответ на: комментарий от anonymous

все что исполняется не должно изменятся, а что изменяется не должно исполнятся.

(Баш) скрипты (с eval), (e)BPF c jit в кольце 0

anonymous
()
Ответ на: комментарий от anonymous

(Баш) скрипты (с eval),

Скрипты и компиляторы режутся DAC

(e)BPF c jit в кольце 0

Выковырял эту дрянь чуть подправив исходники ядра. *уки специально сделали так чтобы в конфиге оно не отключалось.

anonymous
()
Ответ на: комментарий от nanosecond

можно своей программой запускать

Защищенный GNU/Linux левую программу запустить не даст.

Это минимальное требование безопасности для ОС, уровень C1.

anonymous
()
Ответ на: комментарий от anonymous

Что даже rm -rf /var/log не даст выполнить?

У меня нет ;-Р

Даже

sed ‘s/virus//’ /var/log/*

и прочие подобные выполнить не даст.

А ваш что дает? Какой позор этим дистростроителям!!! Они сызду взерячели с подписью бинарных логов. СТЫДОБА…

anonymous
()
Ответ на: комментарий от anonymous

Какой позор этим дистростроителям!

Ну, давай же, колись что за у тебя дистр. Будем знать чем невозможно пользоваться.

anonymous
()
Ответ на: комментарий от anonymous

Интересно, а на ЛОРе еще хоть один человек помнит как права на файлы логов правильно раздать, так, чтоб rm с sed не работали и были гарантии, что непривелигрованный процесс сервиса, даже зараженный любым вирусом не сможет изменить свои-же логи, которые сам-же и пишет?

Или с ЛОРом уже все, сыздец полный?

anonymous
()
Ответ на: комментарий от anonymous

Ты давай не придумывай сказки. Пиши свой дистр, эксперт по классу безопасности С1! И, насколько я знаю, нельзя изменять защищенное (доверенное) множество программ. А пользовательские программы, скрипты могут меняться и делать, что захотят, если есть разрешения/доступ.

anonymous
()
Ответ на: комментарий от anonymous

Ты давай не придумывай сказки.

Сказки рассказывают разрабы сыздЫ.

Пиши свой дистр, эксперт по классу безопасности С1!

Я и B3 могу. И кое что с дивизиона A. А все ваши сыздЫ-линупсы не тянут даже старый C1.

И, насколько я знаю, нельзя изменять защищенное (доверенное) множество программ. А пользовательские программы, скрипты могут меняться и делать, что захотят, если есть разрешения/доступ.

У тебя плохой информатор.

"2.1.3.1.1 System Architecture

The TCB shall maintain a domain for its own execution protects it from external interference or tampering (e.g., by modification of its code or data strucutres). Resources controlled by the TCB may be a defined subset of the subjects and objects in the ADP system."

Для меня это значит что OS класса C1 не должна разрешать запуск измененных или дополнительных программ. Разрешается запуск только своих заранее определенных программ.

Но вопрос не о том. В правильном дистрибутиве GNU/Linux при попытке удалить или изменить файл логов получим «permission denied», а как у вашем с сыстемдЫ?

anonymous
()
Ответ на: комментарий от anonymous

сыздЫ

Ты - дурак!?

Пиши название дистрибутива!

subset of the subjects and objects in the ADP system

Говорится про некоторое подмножество в системе.

Разрешается запуск только своих заранее определенных программ.

У тебя шелл, интерпретатор команд, запускается?

Программой может быть пользовательский ввод/вывод, а не только дисковый ввод/вывод, или сетевой.

anonymous
()
Ответ на: комментарий от anonymous

Пиши название дистрибутива!

Я тебе не обязан. Правельный GNU/Linux.

«shall maintain a domain for its own execution protects» - значит защита ВСЕГО что исполняется!

subset of the subjects and objects in the ADP system

Говорится про некоторое подмножество в системе.

Вчитайся внимательно, подмножество касается возможных методов реализации:

«Resources controlled by the TCB may be a defined subset of the subjects and objects in the ADP system.»

А методов реализации в GNU/Linux есть несколько.

У тебя шелл, интерпретатор команд, запускается?

Сильно зарезано DAC, необходимо как минимум явно указывать разрешение на запуск интерпретаторов, компиляторов, …. Пробовал и ядерные ограничения.

Программой может быть пользовательский ввод/вывод, а не только дисковый ввод/вывод, или сетевой.

DAC режит шелы и пайпы.

anonymous
()
Ответ на: комментарий от anonymous

Правельный GNU/Linux.

Зверьсиди Профессионал Эдитион?

Я тебе не обязан.

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

Сильно зарезано DAC

Зарезано - это не запрещено исполнять.

И контролируется доступ к домену (подмножеству), а не всего исполняющегося Тьюринг-полного. А заранее известен только субъект-пользователь, а не то, что он навведет в качестве объекта-программы.

anonymous
()
Ответ на: комментарий от anonymous

Ну не я же обязан за тебя придумывать твой дистрибутив.

А мне зачем? Набегут всякие террористы с игила, талибана, АНБ, ФСБ, … прочих *Б с ЛГБТ, проведут «демократическое голосование» и напихают в чистый дистр всякой дряни: systemd, dbus, polkitd+JS, JIT, … Мне таких проблем не надо.

Вычищайте овно с ваших любимых Ынтерпрайз дистров.

И контролируется доступ к домену (подмножеству), а не всего исполняющегося Тьюринг-полного. А заранее известен только субъект-пользователь, а не то, что он навведет в качестве объекта-программы.

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

«The TCB shall maintain a domain for its own execution protects it from external interference or tampering (e.g., by modification of its code or data strucutres). Resources controlled by the TCB may be a defined subset of the subjects and objects in the ADP system.»

Правильный GNU/Linux не допускает чтобы в оперативу, помеченую для исполнения, загружались левые программы. «Домен исполнения» это исключительный перечень, определенных админом, программ, которые может запускать пользователь. Программы которые не входят в определенный админом «домен исполнения» пользователь запустить не сможет.

Какие технологии в GNU/Linux тебе известны, чтобы реализовать запуск только заранее определенных админом программ?

anonymous
()
Ответ на: комментарий от anonymous

После урока английского языка

Ты мне скажи скрипт на баше - это исполняемая программа в памяти? Фон-неймановская архитектура (с пародией под гарвард с битом исполнения) различает программу от данных?

Учитель английского он. :)

anonymous
()

упаковать условный .mp4 & .mkv

Условный *.deb можно упаковать чтобы он скрипты выполнял, это считается?

Kolins ★★★★
()
Ответ на: комментарий от anonymous

Исполняется /bin/bash который выполняет команды.

Далее зависит от системы и как этот скрипт запускать. Прямо с /home, /tmp, /var запустить не должно давать.

Чтобы закрыть проход через обходные пути достаточно:

groupadd bash
chown root:bash /bin/bash
chmod o-rwxst /bin/bash
usermod -a -G bash devrloper
Теперь юзверь vasya скрипт запустит?

anonymous
()
Ответ на: комментарий от anonymous

Исполняется

выполняет команды

Что такое «исполняется»? В чем отличие от «выполняются команды»?

anonymous
()
Ответ на: комментарий от anonymous

Исполняется программа bash, которая выполняет только допустимые команды и другие допустимые программы.

Но для всех пользователей, кроме root и developer, выполнение bash запрещено средствами DAC.

anonymous
()
Ответ на: комментарий от anonymous

Правильный GNU/Linux не допускает чтобы в оперативу, помеченую для исполнения, загружались левые программы. «Домен исполнения» это исключительный перечень, определенных админом, программ, которые может запускать пользователь. Программы которые не входят в определенный админом «домен исполнения» пользователь запустить не сможет.

А что это за такой волшебный дистрибутив?

anonymous
()
Ответ на: комментарий от EXL

Абсолютно любой человек может подготовить ZIP-архив, который при распаковке сделает rm -Rf ~.

Эпичное решето. Починили уже?

X512 ★★★★★
()
Ответ на: комментарий от X512

что, в хайку ещё нет не имеющего таких недостатков и не имеющего аналогов своего архиватора?

anonymous
()
Ответ на: комментарий от EXL

Те же дырявые иксы в любых Linux’ах троянятся на раз два и все твои пароли и переписки с кошкодевочками утекают майору в папочку на рабочий стол.

Тебе, наверное, пора к соответствующему врачу. Ты очень сильно зациклен на «майоре». Боюсь, что такая зацикленность приведет тебя к чему-то плохому.

anonymous
()

операционной системой Windows от Microsoft, которая прежде была уязвима для таких

Почему была? Знаешь, сколько народа до сих пор семеркой пользуется? А то и ХР. Да и в новых так наверняка можно, если отключен встроенный антивирь.

Dog ★★★
()
Ответ на: комментарий от Dog

Да и в новых так наверняка можно, если отключен встроенный антивирь.

антивирь бесполезен.

хоть как-то огородиться от запуска всего подряд можно перенастроив(там проходной двор по-умолчанию) acl и включив в режим белого списка что-то из (srp,applocker,WDAC).

anonymous
()
Ответ на: комментарий от anonymous

Правильный GNU/Linux не допускает чтобы в оперативу, помеченую для исполнения, загружались левые программы. «Домен исполнения» это исключительный перечень, определенных админом, программ, которые может запускать пользователь. Программы которые не входят в определенный админом «домен исполнения» пользователь запустить не сможет.

А что это за такой волшебный дистрибутив?

Почему в твоем GNU/Linux иначе?

Советов тред по настройке безопасности. (комментарий)

anonymous
()

А можно ли сейчас упаковать условный .mp4 & .mkv таким образом, чтобы интерпретирующий его vlc

Теоретически можно и даже его не обязательно открывать, если в процессе, который создаёт thumbnails будет уязвимость. А вот на практике чтобы получить ответ, это надо проводить аудит безопасности с чтением всех исходников всех программ, которые взаимодействуют с такими файлами.

на каком этапе это становится невозможным?

Что-то никто не вспомнил про AppArmor, SELinux и контейнеры. Они вполне могут защитить от эксплуатации дыр в в ПО, особенно со всякими плеерами должно работать, т.к. тем никакие права не требуются, кроме доступа к файлу, который надо играть. Например, Flatpak с порталами и правильными настройками безопасности должен отлично решить эту задачу, т.к. благодаря порталами, ПО имеет доступ только к тому, что явно выбрал/открыл пользователь.

Другое дело уязвимости в ядре...

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

OpenBSD X11 Xenocara + ssh -X gui_program -> Docker контейнер с SSHD

Причем контейнеры нужно запускать внутри Firecracker например так:

K3S -> Kata -> Firecracker -> RunC

или так:

Ignite -> Firecracker -> виртуальная копия контейнера

Т.е. в результате так:

OpenBSD + X11 Xenocara + аппаратное крипто типа Rutoken ECP3 + ssh -X -> K3S+Kata+Firecracker -> контейнеры с GUI программами с SSHD в каждом

anonymous
()
Ответ на: комментарий от anonymous

Причем важно, чтобы контейнеры с Firecracker работали на истинно свободном дистрибутиве с минимальным количеством закладок, с верифицируемыми сборками:

https://guix.gnu.org/en/blog/2020/reproducible-computations-with-guix/

И железо конечно нужно выбирать с минимальным количеством закладок типа такого:

Почему вы доверяете бинарным репозиториям? (комментарий)

sanyo1234
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.