Python-скрипт запускал комментарии, но не так, как ожидалось
На CTF-соревновании UIUCTF 2025 участнику удалось выполнить произвольный код на сервере, несмотря на то, что он мог менять только содержимое комментария в Python-скрипте. Казалось бы, надёжно: никакого eval, спецсимволы \n и \r вырезаются, данные помещаются в # комментарий, а затем скрипт запускается как .py. Но не всё так просто.
Уязвимость не в синтаксисе Python, а в его механике запуска файлов. Python с версии 2.6 умеет выполнять ZIP-архивы, если в них есть __main__.py. Причём архив может иметь расширение .py — Python определяет ZIP не по имени файла, а по структуре. Индексация архива идёт не с начала, а с конца — по секции EOCD, в которой можно хранить произвольный комментарий.
Именно это и использовал участник: подставил структурированный zip-архив прямо в текст комментария, где в конце файла лежал __main__.py со зловредом. Даже строка print("Thanks for playing!") после комментария не мешала — её Python игнорирует, считая частью ZIP-комментария.
Этот баг не связан с недавно закрытой уязвимостью с \0, но эксплуатирует аналогичную идею: исполнение "данных", маскирующихся под код.
Linux / Линукс🥸
На CTF-соревновании UIUCTF 2025 участнику удалось выполнить произвольный код на сервере, несмотря на то, что он мог менять только содержимое комментария в Python-скрипте. Казалось бы, надёжно: никакого eval, спецсимволы \n и \r вырезаются, данные помещаются в # комментарий, а затем скрипт запускается как .py. Но не всё так просто.
Уязвимость не в синтаксисе Python, а в его механике запуска файлов. Python с версии 2.6 умеет выполнять ZIP-архивы, если в них есть __main__.py. Причём архив может иметь расширение .py — Python определяет ZIP не по имени файла, а по структуре. Индексация архива идёт не с начала, а с конца — по секции EOCD, в которой можно хранить произвольный комментарий.
Именно это и использовал участник: подставил структурированный zip-архив прямо в текст комментария, где в конце файла лежал __main__.py со зловредом. Даже строка print("Thanks for playing!") после комментария не мешала — её Python игнорирует, считая частью ZIP-комментария.
Этот баг не связан с недавно закрытой уязвимостью с \0, но эксплуатирует аналогичную идею: исполнение "данных", маскирующихся под код.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18🤔1🌚1
Linux / Линукс
В AUR снова засветились вредоносные пакеты: уже 6 новых случаев В репозитории AUR для Arch Linux обнаружены сразу шесть новых вредоносных пакетов, внедряющих трояны через PKGBUILD-скрипты. На этот раз под удар попали сборки браузеров и шрифтов, в том числе…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30😁15😢7
Чат в терминале Linux: почти «Матрица» в реальной жизни
В статье рассказывается о том, как создать защищённое текстовое общение в духе «Матрицы» — без серверов и доверия, используя инструменты типа Cryptcat.
📌 https://habr.com/ru/companies/ru_mts/articles/900928/
Linux / Линукс🥸
В статье рассказывается о том, как создать защищённое текстовое общение в духе «Матрицы» — без серверов и доверия, используя инструменты типа Cryptcat.
📌 https://habr.com/ru/companies/ru_mts/articles/900928/
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
В рамках оптимизации Ubuntu Server 25.10 разработчики приняли решение убрать
wget
из стандартной установки. Вместо него для базовых задач теперь будет использоваться wcurl
, который предлагает схожую функциональность. Сам пакет wget
не удален из репозиториев, а просто перемещен в категорию поддерживаемых.Это часть более широкой кампании по зачистке, т.к. из этой же сборки удалили терминальные мультиплексоры
byobu
и screen
, оставив только tmux
. Разработчики считают, что раз в новой версии curl
(8.14.x) появилась обертка wcurl
, способная заменить wget
в большинстве простых сценариев, то нет смысла держать два инструмента с похожими задачами.Технически,
wcurl
обертка, которая транслирует базовые команды wget
в их эквиваленты для curl
. Она умеет скачивать файлы, следовать редиректам, автоматически подбирать имена файлов, избегать перезаписи и выполнять повторные попытки при сбое. Однако для более сложных сценариев, особенно в старых скриптах с множеством специфичных флагов, все еще придется ставить wget
вручную.Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣17🤔10😁4👍2🫡2
Невидимый бэкдор Plague атакует Linux-серверы через PAM
Исследователи из Nextron Systems обнаружили новый изощренный бэкдор для Linux под названием Plague. За последний год на VirusTotal было загружено несколько его вариантов, и ни один из них не был обнаружен ни одним из 66 антивирусных движков (рейтинг детекта 0/66).
Такая неуловимость достигается за счет глубокой интеграции в систему. Plague маскируется под легитимный модуль PAM (Pluggable Authentication Modules), встраиваясь в самый корень процесса аутентификации в Linux. Вместо того чтобы ломать систему снаружи, он становится ее частью. Вредоносная библиотека (часто с именем
Plague использует многоуровневую обфускацию строк, которая эволюционировала от простого XOR до сложных алгоритмов, похожих на RC4. Вредонос также оснащен антиотладочными механизмами: он проверяет, что его имя файла не изменено, и что в переменных окружения отсутствует
Для персистентности в бэкдор зашит статический пароль, который позволяет атакующим входить в систему по SSH, обходя стандартную аутентификацию. После успешного входа Plague тщательно зачищает следы: обнуляет переменные окружения
После успешного обхода аутентификации вредонос выводит сообщение-пасхалку из культового фильма «Хакеры» (1995):
Linux / Линукс🥸
Исследователи из Nextron Systems обнаружили новый изощренный бэкдор для Linux под названием Plague. За последний год на VirusTotal было загружено несколько его вариантов, и ни один из них не был обнаружен ни одним из 66 антивирусных движков (рейтинг детекта 0/66).
Такая неуловимость достигается за счет глубокой интеграции в систему. Plague маскируется под легитимный модуль PAM (Pluggable Authentication Modules), встраиваясь в самый корень процесса аутентификации в Linux. Вместо того чтобы ломать систему снаружи, он становится ее частью. Вредоносная библиотека (часто с именем
libselinux.so.8
) подменяет собой легитимную и перехватывает функцию pam_sm_authenticate()
, получая доступ к логинам и паролям в открытом виде.Plague использует многоуровневую обфускацию строк, которая эволюционировала от простого XOR до сложных алгоритмов, похожих на RC4. Вредонос также оснащен антиотладочными механизмами: он проверяет, что его имя файла не изменено, и что в переменных окружения отсутствует
ld.so.preload
, что характерно для песочниц.Для персистентности в бэкдор зашит статический пароль, который позволяет атакующим входить в систему по SSH, обходя стандартную аутентификацию. После успешного входа Plague тщательно зачищает следы: обнуляет переменные окружения
SSH_CONNECTION
, SSH_CLIENT
, SSH_TTY
(чтобы скрыть IP и порт атакующего) и перенаправляет историю команд (HISTFILE
) в /dev/null
, не оставляя никаких записей в .bash_history
.После успешного обхода аутентификации вредонос выводит сообщение-пасхалку из культового фильма «Хакеры» (1995):
Uh. Mr. The Plague, sir? I think we have a hacker.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
Nextron-Systems
Plague: A Newly Discovered PAM-Based Backdoor for Linux - Nextron Systems
🌚16❤3👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁76
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁53
Orbitiny Desktop 4: необычное окружение с Qt стало чуть удобнее
Вышел четвёртый экспериментальный релиз Orbitiny Desktop — среды рабочего стола на Qt, написанной с нуля на C++ и распространяемой под GPL. Проект старается совместить классический интерфейс (панель, меню, значки) с новыми UX-идеями, которые редко встречаются в других DE.
Большая часть изменений касается файлового менеджера Qutiny и взаимодействия с рабочим столом. Теперь:
— В описаниях точек монтирования отображаются реальные устройства (например, /dev/sdc1)
— Для них появились отдельные пиктограммы, и они видны в боковой панели
— В панель инструментов добавлена кнопка для быстрого доступа к точкам монтирования
— В диалоге удаления теперь видно полный путь до файла, а в свойствах — хэши и владельца
— Диалог переименования получил обновлённый внешний вид
Orbitiny по-прежнему экспериментальный, но двигается к полноценной DE для тех, кто хочет что-то отличное от GNOME и KDE, но с Qt и классическим поведением.
Linux / Линукс🥸
Вышел четвёртый экспериментальный релиз Orbitiny Desktop — среды рабочего стола на Qt, написанной с нуля на C++ и распространяемой под GPL. Проект старается совместить классический интерфейс (панель, меню, значки) с новыми UX-идеями, которые редко встречаются в других DE.
Большая часть изменений касается файлового менеджера Qutiny и взаимодействия с рабочим столом. Теперь:
— В описаниях точек монтирования отображаются реальные устройства (например, /dev/sdc1)
— Для них появились отдельные пиктограммы, и они видны в боковой панели
— В панель инструментов добавлена кнопка для быстрого доступа к точкам монтирования
— В диалоге удаления теперь видно полный путь до файла, а в свойствах — хэши и владельца
— Диалог переименования получил обновлённый внешний вид
Orbitiny по-прежнему экспериментальный, но двигается к полноценной DE для тех, кто хочет что-то отличное от GNOME и KDE, но с Qt и классическим поведением.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3😎2🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤49😁6☃3🫡1
В Clang появится режим «усиленной безопасности» по примеру GCC
Ведущий разработчик Clang Аарон Баллман предложил добавить единый флаг безопасности — аналог GCC
— Усиленную проверку границ (
— Инициализацию переменных нулём;
— Защиту стеков и контроль потоков;
— ASLR через PIE;
— Защиту от ROP-атак (
Сейчас эти опции разрознены, плохо документированы и часто нарушают ABI-совместимость — их редко используют. Новый режим (
Linux / Линукс🥸
Ведущий разработчик Clang Аарон Баллман предложил добавить единый флаг безопасности — аналог GCC
-fhardened
. Режим разом включит набор защит: — Усиленную проверку границ (
_FORTIFY_SOURCE=3
); — Инициализацию переменных нулём;
— Защиту стеков и контроль потоков;
— ASLR через PIE;
— Защиту от ROP-атак (
-fcf-protection
).Сейчас эти опции разрознены, плохо документированы и часто нарушают ABI-совместимость — их редко используют. Новый режим (
-fhardened
, --config=hardened
или отдельный драйвер) решит проблему, дав разработчикам «одну кнопку» для безопасности.Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁7🤔2🤯1🤣1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37💔5❤2🤬1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48❤4
В Clang намерены добавить режим усиленной безопасности
Аарон Баллман, главный сопровождающий компилятор Clang, начал обсуждение добавления в компилятор Clang режима усиления безопасности. Новый режим позволит разом активировать набор опций для усиления защиты по аналогии с добавленным в GCC 14 флагом "-fhardened", при котором включаются опции "-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full".
Отмечается, что в настоящее время ведётся работа по добавлению возможностей для усиления безопасности в стандарты C и C++, но этот процесс не быстрый, при том, что в Сlang уже доступны отдельные опции с реализацией дополнительных механизмов защиты. Реализуемые методы защиты часто приводят к отдельным несовместимостям с существующим кодом или нарушению ABI, что не позволяет активировать их по умолчанию. Кроме того, подобные опции разрознены (флаги для управления компиляцией, флаги генерации машинных инструкций, привязанные к аппаратным архитектурам, предупреждения, режимы диагностики, макросы), плохо документированы и выпадают из поля зрения многих разработчиков.
Linux / Линукс🥸
Аарон Баллман, главный сопровождающий компилятор Clang, начал обсуждение добавления в компилятор Clang режима усиления безопасности. Новый режим позволит разом активировать набор опций для усиления защиты по аналогии с добавленным в GCC 14 флагом "-fhardened", при котором включаются опции "-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full".
Отмечается, что в настоящее время ведётся работа по добавлению возможностей для усиления безопасности в стандарты C и C++, но этот процесс не быстрый, при том, что в Сlang уже доступны отдельные опции с реализацией дополнительных механизмов защиты. Реализуемые методы защиты часто приводят к отдельным несовместимостям с существующим кодом или нарушению ABI, что не позволяет активировать их по умолчанию. Кроме того, подобные опции разрознены (флаги для управления компиляцией, флаги генерации машинных инструкций, привязанные к аппаратным архитектурам, предупреждения, режимы диагностики, макросы), плохо документированы и выпадают из поля зрения многих разработчиков.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🤯1
❓ Потеря данных — это кошмар для любой компании. Хотите защитить свои MySQL-базы?
👉 На открытом уроке 7 августа в 19:00 МСК мы разберём все подходы к резервному копированию: от дампов до репликации. Вы научитесь работать с инструментами вроде mysqldump, xtrabackup, а также научитесь автоматизировать создание резервных копий и их хранение.
💪 После вебинара вы сможете восстановить данные из дампов или инкрементальных копий и избежать ошибок при бэкапе. Этот опыт необходим каждому системному администратору и DevOps-инженеру!
🎁 Посетите урок и получите скидку на большое обучение «Administrator Linux. Professional»: https://vk.cc/cOaj8c
👉 Для участия в вебинаре зарегистрируйтесь
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👉 На открытом уроке 7 августа в 19:00 МСК мы разберём все подходы к резервному копированию: от дампов до репликации. Вы научитесь работать с инструментами вроде mysqldump, xtrabackup, а также научитесь автоматизировать создание резервных копий и их хранение.
💪 После вебинара вы сможете восстановить данные из дампов или инкрементальных копий и избежать ошибок при бэкапе. Этот опыт необходим каждому системному администратору и DevOps-инженеру!
🎁 Посетите урок и получите скидку на большое обучение «Administrator Linux. Professional»: https://vk.cc/cOaj8c
👉 Для участия в вебинаре зарегистрируйтесь
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤4💔1
Пакет StarDict в Debian отправляет выделенный текст на внешние серверы
В предлагаемом в репозитории Debian Testing (будущий релиз Debian 13) пакете StarDict, реализующем интерфейс для поиска в словарях, выявлена проблема с конфиденциальностью - в конфигурации по умолчанию приложение отправляет автоматически помещаемый в буфер обмена выделенный текст (x11 PRIMARY selection) на внешние серверы. Достаточно в любом приложении выделить отрывок текста и он сразу отправляется без шифрования по протоколу HTTP на китайские серверы online-словарей dict.youdao.com и dict.cn. Проблема проявляется только при работе в окружениях на базе протокола X11, при использовании Wayland по умолчанию применяется изоляция буфера обмена.
Сопровождающий пакет StarDict в Debian ответил, что подобное поведение является штатным. По умолчанию в StarDict включён режим автоматического поиска в словарях выделенного текста и активированы как локальные, так и внешние словари. Серверы dict. youdao. com и dict. cn предоставляют англо-китайские словари, подключаемые через плагины, по умолчанию включаемые при установке пакета stardict-plugin, который является рекомендованной зависимостью для пакета stardict-gtk. Тем, кого подобное поведение не устраивает, рекомендовано в настройках отключить сетевые словари или функцию автоматического поиска при выделении.
Обративший внимание на проблему пользователь возразил, что подобное поведение ни при каких условиях не должно активироваться по умолчанию, так как она приводит к утечке информации. Пользователь может выделять в приложениях текст с конфиденциальным содержимым, например, паролями и личными данными. При этом информация не только потенциально оседает в логах на серверах dict. youdao. com и dict. cn и видна их администраторам, но и становится доступна для перехвата трафика из-за использования HTTP, а не HTTPS
Примечательно, что в 2009 году аналогичное поведение в StarDict было признано уязвимостью (CVE-2009-2260) и обращение к сетевым словарям было отключено по умолчанию. Теперь данная функциональность опять возвращена.
Linux / Линукс🥸
В предлагаемом в репозитории Debian Testing (будущий релиз Debian 13) пакете StarDict, реализующем интерфейс для поиска в словарях, выявлена проблема с конфиденциальностью - в конфигурации по умолчанию приложение отправляет автоматически помещаемый в буфер обмена выделенный текст (x11 PRIMARY selection) на внешние серверы. Достаточно в любом приложении выделить отрывок текста и он сразу отправляется без шифрования по протоколу HTTP на китайские серверы online-словарей dict.youdao.com и dict.cn. Проблема проявляется только при работе в окружениях на базе протокола X11, при использовании Wayland по умолчанию применяется изоляция буфера обмена.
Сопровождающий пакет StarDict в Debian ответил, что подобное поведение является штатным. По умолчанию в StarDict включён режим автоматического поиска в словарях выделенного текста и активированы как локальные, так и внешние словари. Серверы dict. youdao. com и dict. cn предоставляют англо-китайские словари, подключаемые через плагины, по умолчанию включаемые при установке пакета stardict-plugin, который является рекомендованной зависимостью для пакета stardict-gtk. Тем, кого подобное поведение не устраивает, рекомендовано в настройках отключить сетевые словари или функцию автоматического поиска при выделении.
Обративший внимание на проблему пользователь возразил, что подобное поведение ни при каких условиях не должно активироваться по умолчанию, так как она приводит к утечке информации. Пользователь может выделять в приложениях текст с конфиденциальным содержимым, например, паролями и личными данными. При этом информация не только потенциально оседает в логах на серверах dict. youdao. com и dict. cn и видна их администраторам, но и становится доступна для перехвата трафика из-за использования HTTP, а не HTTPS
Примечательно, что в 2009 году аналогичное поведение в StarDict было признано уязвимостью (CVE-2009-2260) и обращение к сетевым словарям было отключено по умолчанию. Теперь данная функциональность опять возвращена.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬31👍7😁3❤1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁64🤣12😎4💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣60😁10❤6🌚3
Стабильный релиз прокси-сервера Squid 7
Представлен стабильный релиз прокси-сервера Squid 7.1, готовый для использования в рабочих системах (выпуски 7.0.x имели статус бета-версий). После придания ветке 7.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций.
Основные новшества Squid 7:
— В ACL улучшена настройка перекрывающихся диапазонов IP-адресов и определения масок доменов.
— Удалена поддержка языка разметки ESI (Edge Side Includes).
— Убран доступ к Cache Manager с использованием схемы cache_object:// (оставлен только доступ по HTTP).
— Удалена утилита squdclient, вместо которой следует использовать "curl https://хост/squid-internal-mgr/menu".
— Удалён обработчик cachemgr.cgi.
— Удалена утилита purge, вместо которой следует использовать HTTP-метод PURGE.
— Прекращена поддержка протокола Ident.
— Удалены обработчики basic_smb_lm_auth и ntlm_smb_lm_auth, вместо которых рекомендовано использовать ntlm_auth от проекта Samba.
Linux / Линукс🥸
Представлен стабильный релиз прокси-сервера Squid 7.1, готовый для использования в рабочих системах (выпуски 7.0.x имели статус бета-версий). После придания ветке 7.x статуса стабильной, в ней отныне будут производиться только исправления уязвимостей и проблем со стабильностью, также допускается внесение небольших оптимизаций.
Основные новшества Squid 7:
— В ACL улучшена настройка перекрывающихся диапазонов IP-адресов и определения масок доменов.
— Удалена поддержка языка разметки ESI (Edge Side Includes).
— Убран доступ к Cache Manager с использованием схемы cache_object:// (оставлен только доступ по HTTP).
— Удалена утилита squdclient, вместо которой следует использовать "curl https://хост/squid-internal-mgr/menu".
— Удалён обработчик cachemgr.cgi.
— Удалена утилита purge, вместо которой следует использовать HTTP-метод PURGE.
— Прекращена поддержка протокола Ident.
— Удалены обработчики basic_smb_lm_auth и ntlm_smb_lm_auth, вместо которых рекомендовано использовать ntlm_auth от проекта Samba.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🌚2🕊1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔21🙏1
Релиз эмулятора FEX 2508 для запуска x86 софта на ARM-чипах
Эмулятор разработан проектом Asahi для запуска на системах с SoC Apple Silicon игр из каталога Steam, собранных для x86_64 (включая поддержку AVX2), однако поддерживается большинство ARMv8.0+ гаджетов. Код проекта написан на языке С++ с ассемблером. Библиотеки, необходимые для запуска x86-приложений в ARM64-окружении, подключаются в форме overlay-прослойки с образом корневой ФС (rootfs), поставляемой в формате SquashFS.
Для проброса звука и 3D-графики в rootfs помещаются thunk-библиотеки, доступны libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client и libxshmfence.
В релизе FEX 2508 проведена значительная оптимизация JIT-компилятора, которая позволила повысить FPS в играх на 5-35%. Реализована поддержка NX-бита, а также проведены оптимизации под некоторые игры, такие как Peggle Deluxe и Crysis 2.
Linux / Линукс🥸
Эмулятор разработан проектом Asahi для запуска на системах с SoC Apple Silicon игр из каталога Steam, собранных для x86_64 (включая поддержку AVX2), однако поддерживается большинство ARMv8.0+ гаджетов. Код проекта написан на языке С++ с ассемблером. Библиотеки, необходимые для запуска x86-приложений в ARM64-окружении, подключаются в форме overlay-прослойки с образом корневой ФС (rootfs), поставляемой в формате SquashFS.
Для проброса звука и 3D-графики в rootfs помещаются thunk-библиотеки, доступны libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client и libxshmfence.
В релизе FEX 2508 проведена значительная оптимизация JIT-компилятора, которая позволила повысить FPS в играх на 5-35%. Реализована поддержка NX-бита, а также проведены оптимизации под некоторые игры, такие как Peggle Deluxe и Crysis 2.
Linux / Линукс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🤬1🌚1