Forwarded from Linux Kernel Security (Andrey Konovalov)
Two DEF CON talks about eBPF-based rootkits
#1: "eBPF, I thought we were friends!" (video) by Guillaume Fournier and Sylvain Afchain
#2: "Warping Reality: Creating and Countering the Next Generation of Linux Rootkits" (video) by Pat Hogan
Both are about building a rootkit via malicious eBPF programs. The programs are constrained to what the verifier permits (i.e., no AARW), but the allowed functionality is enough to mess with userspace daemons for LPE and with network packets for C&C.
#1: "eBPF, I thought we were friends!" (video) by Guillaume Fournier and Sylvain Afchain
#2: "Warping Reality: Creating and Countering the Next Generation of Linux Rootkits" (video) by Pat Hogan
Both are about building a rootkit via malicious eBPF programs. The programs are constrained to what the verifier permits (i.e., no AARW), but the allowed functionality is enough to mess with userspace daemons for LPE and with network packets for C&C.
YouTube
DEF CON 29 - Guillaume Fournier, Sylvain Afchain, Sylvain Baubeau - eBPF, I thought we were friends!
Since its first appearance in Kernel 3.18, eBPF (Extended Berkley Packet Filter) has progressively become a key technology for observability in the Linux kernel. Initially dedicated to network monitoring, eBPF can now be used to monitor and trace any kind…
Forwarded from Beched's thoughts
Code is Law
Второй день люди из мира DeFi в прямом эфире наблюдают за самым крупным хищением в истории не только блокчейна, но и вообще IT, финансовой системы, да и, может, в принципе человечества.
Некий анонимус спёр 611 (шестьсот одиннадцать) миллионов долларов США из китайского проекта poly.network.
Уязвимость, через которую они это сделали, сочетала в себе недостаток авторизации и хитрую особенность языка Solidity, на котором пишут смарт-контракты (а именно, способ вызова функций на уровне байт-кода).
В какой-то момент атакующему кто-то в комментарии к транзакции дал подсказку о том, что часть похищенных токенов начали блокировать, и в знак благодарности хакер переслал подсказчику 13.37 ETH. Всего $43k, а мог ведь и $4M перевести =)
В результате на кошельках атакующего появляются тысячи транзакций людей, умоляющих поделиться награбленным. Каждый мечтает о том, что Робин Гуд скинет жалкие $500k именно ему на счёт.
Сам же хакер там же просит у "подписчиков" советов, как ему поступить с деньгами. В какой-то момент он даже начал возвращать средства проекту, но почему-то до сих пор не вернул всё.
Как обычно, хищение вскрыло вечные философские вопросы...
Должны ли быть DeFi-проекты по-настоящему децентрализованы?
Тут, например, компания Tether заблокировала атакующему $30M кастодиальных токенов USDT. Это противоречит духу DeFi, но зато может помочь вернуть деньги.
Является ли код смарт-контракта законом в конечной инстанции, а следовательно, и взломы — правомерным поведением в рамках контракта?
Если да, то каким образом защищаться от бекдоров и закладывать в экономику проекта риски, которые заведомо признаются нормальным поведением кода?
Если нет, то на кой чёрт тогда блокчейн вместо централизованного сервиса?
Кто несёт ответственность за потери?
Взломанный проект вроде как аудировали несколько команд, и уязвимость эту они не нашли.
При этом авторы проекта даже не удосужились выложить его код и результаты аудитов, так что со стороны такой объём средств в проекте выглядит как полнейшая глупость со стороны пользователей.
По-моему, в "традиционных" индустриях давно нет такого драйва, крутых задач и веселья (да и взломов таких там просто не может быть :D).
Так что, в очередной раз призываю вливаться и вникать: ведь как бы вы ни относились к этому явлению, оно уже существует и создаёт возможности и проблемы =)
Второй день люди из мира DeFi в прямом эфире наблюдают за самым крупным хищением в истории не только блокчейна, но и вообще IT, финансовой системы, да и, может, в принципе человечества.
Некий анонимус спёр 611 (шестьсот одиннадцать) миллионов долларов США из китайского проекта poly.network.
Уязвимость, через которую они это сделали, сочетала в себе недостаток авторизации и хитрую особенность языка Solidity, на котором пишут смарт-контракты (а именно, способ вызова функций на уровне байт-кода).
В какой-то момент атакующему кто-то в комментарии к транзакции дал подсказку о том, что часть похищенных токенов начали блокировать, и в знак благодарности хакер переслал подсказчику 13.37 ETH. Всего $43k, а мог ведь и $4M перевести =)
В результате на кошельках атакующего появляются тысячи транзакций людей, умоляющих поделиться награбленным. Каждый мечтает о том, что Робин Гуд скинет жалкие $500k именно ему на счёт.
Сам же хакер там же просит у "подписчиков" советов, как ему поступить с деньгами. В какой-то момент он даже начал возвращать средства проекту, но почему-то до сих пор не вернул всё.
Как обычно, хищение вскрыло вечные философские вопросы...
Должны ли быть DeFi-проекты по-настоящему децентрализованы?
Тут, например, компания Tether заблокировала атакующему $30M кастодиальных токенов USDT. Это противоречит духу DeFi, но зато может помочь вернуть деньги.
Является ли код смарт-контракта законом в конечной инстанции, а следовательно, и взломы — правомерным поведением в рамках контракта?
Если да, то каким образом защищаться от бекдоров и закладывать в экономику проекта риски, которые заведомо признаются нормальным поведением кода?
Если нет, то на кой чёрт тогда блокчейн вместо централизованного сервиса?
Кто несёт ответственность за потери?
Взломанный проект вроде как аудировали несколько команд, и уязвимость эту они не нашли.
При этом авторы проекта даже не удосужились выложить его код и результаты аудитов, так что со стороны такой объём средств в проекте выглядит как полнейшая глупость со стороны пользователей.
По-моему, в "традиционных" индустриях давно нет такого драйва, крутых задач и веселья (да и взломов таких там просто не может быть :D).
Так что, в очередной раз призываю вливаться и вникать: ведь как бы вы ни относились к этому явлению, оно уже существует и создаёт возможности и проблемы =)
Ethereum (ETH) Blockchain Explorer
PolyNetwork Exploiter 1 | Address 0xc8a65fadf0e0ddaf421f28feab69bf6e2e589963 | Etherscan
The Address 0xc8a65fadf0e0ddaf421f28feab69bf6e2e589963 page allows users to view transactions, balances, token holdings and transfers of ERC-20, ERC-721 and ERC-1155 (NFT) tokens, and analytics.
Я думаю не только я один в 90х попался на эту уловку и заслушивал до дыр «новый альбом» продиджи, не подозревая что это пиратская сборка из треков Junkie XL и Lunatic Calm. Стоит отдать должное пиратам компиляция действительно получилось отборной и очень похожа по стилистике с битами Лайама.
https://www.youtube.com/watch?v=WfdwI0CVxhc
https://www.youtube.com/watch?v=WfdwI0CVxhc
YouTube
The Prodigy - The Castbreeder (1998)[Fake Album]
Tracklist:
00:00 01 Castbreeder [Lunatic Calm - Fuze/Junkie XL - Dealing With The Roster]
03:42 02 Collapse [Junkie XL - War]
06:32 03 144 [Junkie XL - No Remorse]
12:52 04 Many, Many, Many, Many, Many, People (Live at Noorderslag)[Junkie XL - Fight]…
00:00 01 Castbreeder [Lunatic Calm - Fuze/Junkie XL - Dealing With The Roster]
03:42 02 Collapse [Junkie XL - War]
06:32 03 144 [Junkie XL - No Remorse]
12:52 04 Many, Many, Many, Many, Many, People (Live at Noorderslag)[Junkie XL - Fight]…
Forwarded from YAH
Любопытный инструмент
На недавнем ZN, играя в CTF'чик, зайдя на хост, увидел любопытный инструмент - pspy64. Раньше такого не встречал.
Запустив, понял что этот инструмент находясь в *user space* показывает все запущенные процессы системы с их cmdline и т.д. (В том числе рутовые процессы и процессы других пользователей системы).
Понял что тут примешено чутка хакерской магии, т.к. просто дампнуть процессы пользователя root мы конечно же не можем. Я понимал, что можно спарсить
Так вот, я решил почитать о нем и также захотелось рассказать вам. Опишу идею кратко, а вы если захотите разберетесь глубже.
Встречайте: https://github.com/DominicBreuker/pspy
pspy - unprivileged Linux process snooping
pspy - это инструмент командной строки, предназначенный для наблюдения за процессами без необходимости получения прав root. Он позволяет просматривать команды, запущенные другими пользователями, задания cron и т.д. по мере их выполнения. Отлично подходит для исследования систем Linux в CTF. Также отлично подходит для демонстрации коллегам, почему передача секретов в качестве аргументов в командной строке - плохая идея.
Как это работает
Существуют инструменты, позволяющие перечислить все процессы, выполняемые в системах Linux, включая те, которые завершились. Например, существует forkstat. Он получает уведомления от ядра о событиях, связанных с процессами, таких как fork и exec.
Эти инструменты требуют привилегий root, но это не должно вызывать у вас ложного чувства безопасности. Ничто не мешает вам подглядывать за процессами, запущенными в системе Linux. Много информации видно в procfs до тех пор, пока процесс запущен. Единственная проблема заключается в том, что вам нужно поймать недолговечные процессы за очень короткий промежуток времени, в течение которого они живы. Сканирование каталога
Более скрытный способ - использовать следующий трюк. Процессы обычно обращаются к таким файлам, как библиотеки в
Мы можем использовать события файловой системы как триггер для сканирования
Что сказать? Гениально!
На недавнем ZN, играя в CTF'чик, зайдя на хост, увидел любопытный инструмент - pspy64. Раньше такого не встречал.
Запустив, понял что этот инструмент находясь в *user space* показывает все запущенные процессы системы с их cmdline и т.д. (В том числе рутовые процессы и процессы других пользователей системы).
Понял что тут примешено чутка хакерской магии, т.к. просто дампнуть процессы пользователя root мы конечно же не можем. Я понимал, что можно спарсить
/proc, но это не настолько подробно и мне казалось что это весьма долго.Так вот, я решил почитать о нем и также захотелось рассказать вам. Опишу идею кратко, а вы если захотите разберетесь глубже.
Встречайте: https://github.com/DominicBreuker/pspy
pspy - unprivileged Linux process snooping
pspy - это инструмент командной строки, предназначенный для наблюдения за процессами без необходимости получения прав root. Он позволяет просматривать команды, запущенные другими пользователями, задания cron и т.д. по мере их выполнения. Отлично подходит для исследования систем Linux в CTF. Также отлично подходит для демонстрации коллегам, почему передача секретов в качестве аргументов в командной строке - плохая идея.
Как это работает
Существуют инструменты, позволяющие перечислить все процессы, выполняемые в системах Linux, включая те, которые завершились. Например, существует forkstat. Он получает уведомления от ядра о событиях, связанных с процессами, таких как fork и exec.
Эти инструменты требуют привилегий root, но это не должно вызывать у вас ложного чувства безопасности. Ничто не мешает вам подглядывать за процессами, запущенными в системе Linux. Много информации видно в procfs до тех пор, пока процесс запущен. Единственная проблема заключается в том, что вам нужно поймать недолговечные процессы за очень короткий промежуток времени, в течение которого они живы. Сканирование каталога
/proc в поисках новых PID в бесконечном цикле делает этот трюк, но потребляет много CPU.Более скрытный способ - использовать следующий трюк. Процессы обычно обращаются к таким файлам, как библиотеки в
/usr, временные файлы в /tmp, файлы журналов в /var, ... Используя API inotify, вы можете получать уведомления всякий раз, когда эти файлы создаются, изменяются, удаляются, к ним обращаются и т.д. Linux не требует прав привилегированных пользователей для работы с этим API, поскольку он необходим для многих невинных приложений (например, текстовых редакторов, показывающих актуальный проводник файлов). Таким образом, хотя пользователи без права root не могут напрямую следить за процессами, они могут следить за влиянием процессов на файловую систему.Мы можем использовать события файловой системы как триггер для сканирования
/proc, надеясь, что мы сможем сделать это достаточно быстро, чтобы поймать процессы. Именно это и делает pspy. Нет гарантии, что вы не пропустите ни одного процесса, но в моих экспериментах шансы кажутся высокими. В общем, чем дольше идут процессы, тем больше шансов их поймать.Что сказать? Гениально!
GitHub
GitHub - DominicBreuker/pspy: Monitor linux processes without root permissions
Monitor linux processes without root permissions. Contribute to DominicBreuker/pspy development by creating an account on GitHub.
Forwarded from Pavel Durov
The mind is our most powerful tool. There's nothing it can't do. According to numerous studies, it actively generates new ideas even when we rest or do nothing. Often we can come up with solutions to difficult problems simply after a full night's sleep.
Just as our physical state depends on what we feed to our bodies, our mental state depends on the quality of information we feed to our brain. If we nourish our brain with real-life data that allows it to solve fundamental problems, it will process this data in the background and come up with unexpected solutions.
It is unfortunate that most people prefer to feed their minds not with real-life facts that can let us change the world, but with random Netflix series or TikTok videos. On a deep level, our brain can't tell fiction from reality, so the abundance of digital entertainment keeps our subconscious mind busy producing solutions to problems that do not exist.
To be creative and productive, we must first clear from our minds the sticky mud of irrelevant content with which “recommendation algorithms” flood it on a daily basis. If we are to reclaim our creative freedom, we must first take back control of our minds.
Just as our physical state depends on what we feed to our bodies, our mental state depends on the quality of information we feed to our brain. If we nourish our brain with real-life data that allows it to solve fundamental problems, it will process this data in the background and come up with unexpected solutions.
It is unfortunate that most people prefer to feed their minds not with real-life facts that can let us change the world, but with random Netflix series or TikTok videos. On a deep level, our brain can't tell fiction from reality, so the abundance of digital entertainment keeps our subconscious mind busy producing solutions to problems that do not exist.
To be creative and productive, we must first clear from our minds the sticky mud of irrelevant content with which “recommendation algorithms” flood it on a daily basis. If we are to reclaim our creative freedom, we must first take back control of our minds.
Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
ZeroNights 2021
Выложили записи и слайды с Zero Nights 2021. Самое интересное для этого канала находится в секции Defensive Track.
- О метриках с практической точки зрения - доклад про метрики (в частности про те, что были приведены в HP MagicNumbers), а также немного про OWASP SAMM и ASVS.
- Побег из контейнера: Kubernetes - доклад, где название говорит само за себя от автора @k8security. Доклад начинается с вводной части о работе k8s, после чего приводятся способы побега из контейнера через capabilities, маунты и CVE (есть очень много полезных ссылок).
- CVEhound: проверка исходников Linux на известные CVE - доклад про проблемы инструментов SCA и поиск CVE в Linux с помощью CVEhound.
- DevSecOps на Open Source: бурление в стакане - про построение классического процесса на базе gosec, trufflehog, defectdojo, semgrep и т.д. Автор также поделился пайплайнами gitlab в public.
- Атаки на микросервисные приложения: методы и и практические советы - доклад про то, на что надо обращать внимание с точки зрения безопасности, когда речь заходит о микросервисах (как проверять безопасность аутентификации, авторизации, какими инструментами, где брать чеклисты).
- Лезем невидимой рукой аппсека в релизные сборки - доклад про поиск уязвимостей в мобилках и написание своей тулы CheckKarlMarx.
Все слайды можно найти здесь.
#talks #dev #ops
Выложили записи и слайды с Zero Nights 2021. Самое интересное для этого канала находится в секции Defensive Track.
- О метриках с практической точки зрения - доклад про метрики (в частности про те, что были приведены в HP MagicNumbers), а также немного про OWASP SAMM и ASVS.
- Побег из контейнера: Kubernetes - доклад, где название говорит само за себя от автора @k8security. Доклад начинается с вводной части о работе k8s, после чего приводятся способы побега из контейнера через capabilities, маунты и CVE (есть очень много полезных ссылок).
- CVEhound: проверка исходников Linux на известные CVE - доклад про проблемы инструментов SCA и поиск CVE в Linux с помощью CVEhound.
- DevSecOps на Open Source: бурление в стакане - про построение классического процесса на базе gosec, trufflehog, defectdojo, semgrep и т.д. Автор также поделился пайплайнами gitlab в public.
- Атаки на микросервисные приложения: методы и и практические советы - доклад про то, на что надо обращать внимание с точки зрения безопасности, когда речь заходит о микросервисах (как проверять безопасность аутентификации, авторизации, какими инструментами, где брать чеклисты).
- Лезем невидимой рукой аппсека в релизные сборки - доклад про поиск уязвимостей в мобилках и написание своей тулы CheckKarlMarx.
Все слайды можно найти здесь.
#talks #dev #ops
YouTube
ZeroNights X Defensive Track - YouTube
Forwarded from k8s (in)security (D1g1)
На
- Kubernetes Goat - Kubernetes Security Learning
- Kubernetes Security 101: Best Practices to Secure your Cluster
Ну и, конечно, много всего про
Также обратите свое внимание на доклады с Blue Team Village 2021 с той же конференции. Там также есть про облака и про их защиту. Мой взгляд там зацепился за доклады:
- A SERVERLESS SIEM: DETECTING ALL BADDIES ON A BUDGET
- I know who has access to my cloud, do you?
YouTube стали доступны видеозаписи с Cloud Village 2021 с конференции DEFCON 29. Про Kubernetes там есть:- Kubernetes Goat - Kubernetes Security Learning
- Kubernetes Security 101: Best Practices to Secure your Cluster
Ну и, конечно, много всего про
AWS, GCP и Azure =)Также обратите свое внимание на доклады с Blue Team Village 2021 с той же конференции. Там также есть про облака и про их защиту. Мой взгляд там зацепился за доклады:
- A SERVERLESS SIEM: DETECTING ALL BADDIES ON A BUDGET
- I know who has access to my cloud, do you?
Cloud Village
Home | Cloud Village
Cloud Village is an open space to meet folks interested in offensive and defensive aspects of cloud security.
В ядре Linux выявлена уязвимость (CVE-2021-41073), позволяющая локальному пользователю поднять свои привилегии в системе. Проблема вызвана ошибкой в реализации интерфейса асинхронного ввода/вывода io_uring, приводящей к обращению к уже освобождённому блоку памяти. Отмечается, что исследователем удалось добиться освобождения памяти по заданному смещению при манипуляции с функцией loop_rw_iter() со стороны непривилегированного пользователя, что делает возможным создание рабочего эксплоита. Проблема пока устранена только в виде патча, который бэкпортирован в стабильные ветки ядра, но обновление ещё не выпущено (в сегодняшние обновления 5.14.6, 5.13.19 и 5.10.67 исправление не вошло). (https://www.opennet.ru/opennews/art.shtml?num=55828)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41073
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-41073
www.opennet.ru
Уязвимость в подсистеме io_uring ядра Linux, позволяющая поднять свои привилегии
В ядре Linux выявлена уязвимость (CVE-2021-41073), позволяющая локальному пользователю поднять свои привилегии в системе. Проблема вызвана ошибкой в реализации интерфейса асинхронного ввода/вывода io_uring, приводящей к обращению к уже освобождённому блоку…