Рылся тут у себя, обнаружил футболку раритетную.
Периода приблизительно этого
https://web.archive.org/web/20070630041521/http://developers.sun.com/
Периода приблизительно этого
https://web.archive.org/web/20070630041521/http://developers.sun.com/
❤🔥26🔥11❤4👍2👀2🤩1🫡1🗿1
Forwarded from Linux Kernel Security (Andrey Konovalov)
A new method for container escape using file-based DirtyCred
An article by Choo Yi Kai about escaping a Docker container by overwriting /proc/sys/kernel/modprobe via the DirtyCred exploitation technique.
The article also describes a way to delay the page fault handler via FALLOC_FL_PUNCH_HOLE for winning a race condition, similar to the commonly-used userfaultfd and FUSE–based techniques.
An article by Choo Yi Kai about escaping a Docker container by overwriting /proc/sys/kernel/modprobe via the DirtyCred exploitation technique.
The article also describes a way to delay the page fault handler via FALLOC_FL_PUNCH_HOLE for winning a race condition, similar to the commonly-used userfaultfd and FUSE–based techniques.
STAR Labs
A new method for container escape using file-based DirtyCred
Recently, I was trying out various exploitation techniques against a Linux kernel vulnerability, CVE-2022-3910. After successfully writing an exploit which made use of DirtyCred to gain local privilege escalation, my mentor Billy asked me if it was possible…
👍1🗿1
Trail of Bits на грант от DARPA запилили исследование тулинга вокруг Clang
Выглядит оно увлекательно(все врут)
На самом деле есть вопросы к посту, потому что в конце они рассказывают про свой тулинг (возможно, пост специально написан в таком ключе), но почитать всё равно интересно.
Тулинг от ToB
https://github.com/trailofbits/vast
https://github.com/trailofbits/pasta
Полностью по ссылке
The future of Clang-based tooling
https://blog.trailofbits.com/2023/07/28/the-future-of-clang-based-tooling/
Выглядит оно увлекательно
The Clang AST is a lie
The Clang CFG is a (pretty good) lie
LLVM IR as the one true IR is a lie
Encore: the lib in libClang is a lie
Encore the second: compile_commands.json is a lie
Final encore: Compilers textbooks are lying to you (sort of)
На самом деле есть вопросы к посту, потому что в конце они рассказывают про свой тулинг (возможно, пост специально написан в таком ключе), но почитать всё равно интересно.
Тулинг от ToB
VAST is an experimental compiler pipeline designed for program analysis of C and C++https://github.com/trailofbits/vast
Peter's Amazing Syntax Tree Analyzerhttps://github.com/trailofbits/pasta
Полностью по ссылке
The future of Clang-based tooling
https://blog.trailofbits.com/2023/07/28/the-future-of-clang-based-tooling/
🤡4👍1
До сих пор тестовые выпуски Asahi Linux базировались на пакетной базе Arch Linux.
. . .
Переход обусловлен тем, что Fedora Linux имеет официальную поддержку ARM64 в upstream ветке. Кроме того, переход поможет команде Asahi Linux сфокусировать усилия на обратном инжиниринге оборудования, в то время как Fedora Asahi будет заниматься поддержкой дистрибутива. Также миграция на Fedora позволит разработчикам Asahi Linux напрямую взаимодействовать с сопровождающими upstream репозиториев Fedora для исправления проблем в сборках ПО.
Проект Asahi переводит свой дистрибутив для ARM-чипов Apple на Fedora Linux
https://www.opennet.ru/opennews/art.shtml?num=59545
👍11🤔3👎1🫡1
Forwarded from Rotten Mechanism (Şėʀɢᴇγ Ɲσʀᴅ)
Посты на моём канале выходят не часто, но люди требуют хлеба и зрелищ) Попробуем ввести рубрику #БыстрыеКрафты дабы разнообразить контент.
При сборке внешних iButton для флиппера частенько остаются не повреждённые DS1990, собрал себе на днях комбо ключ на 3 ячейки, так как флип не всегда удобно доставать, а универсалки подходят далеко не везде. Схема проста до безобразия, после поднесения таблетки к считывателю, кнопкой замыкается линия данных нужной микросхемы. Дизайн "На коленке" в стиле раннего Rotten Mechanism^^
При сборке внешних iButton для флиппера частенько остаются не повреждённые DS1990, собрал себе на днях комбо ключ на 3 ячейки, так как флип не всегда удобно доставать, а универсалки подходят далеко не везде. Схема проста до безобразия, после поднесения таблетки к считывателю, кнопкой замыкается линия данных нужной микросхемы. Дизайн "На коленке" в стиле раннего Rotten Mechanism^^
👍9🔥6🆒2👏1
Forwarded from ITTales :(){ :|:& };:
Я тут решил разобраться с тем как работает cloud-init чтобы найти хоть какие-то спецификации для конфигурации. Забегая вперёд скажу - их нет. С архитектурной точки зрения это просто какой-то ужас. Но что-то откопать таки удалось.
Начнём с того что cloud-init поддерживает большое количество датасорсов, там и OpenStack, и OpenNebula, и AWS, и Azure, и Google Cloud, и всё такое…
Все они собираются в единую структуру - instance metadata, которая слава богу имеет стандартизированную спеку. Её можно использовать в скриптах и темплейтах, но передать её напрямую ни через один датасорс нельзя.
Что же из себя представляет датасорс? Как правило это метод получения конфигурации из облака, который, в зависимости от облака в котором работает, превращает метаданные облака в instance metadata. Меня интересовали в первую очередь форматы OpenStack configDrive и NoCloud, которые позволяют передавать метаданные инстанса через ISO или файловую систему со специально определённый лейбл.
И тут начинается самое весёлое, так как единого стандарта нет, но есть некоторые негласные соглашения. А именно, что данные передаются в виде четырёх структур: meta-data, user-data, vendor-data и network-config (именование может быть разное, но суть примерно одна)
- meta-data - более-менее общий для всех клаудов, в нём чаще всего передают
- user-data - позволяет принимать в себя cloud-config структуру, которая тоже не стандартизирована, но тоже имеет общепринятые поля, либо вообще может быть чем угодно, например баш-скриптом, jinja-темплейтом для cloud-config’а или скрипта, так и конкатенировать в себя всё вышеперечисленное.
- vendor-data - тоже самое что и user-data, но по логике предоставляется вендором, а не пользователем
- network-config - у разных вендоров разный, но в NoCloud он более-менее стандартизирован и представляет собой конфиг netplan в чистом виде.
Начнём с того что cloud-init поддерживает большое количество датасорсов, там и OpenStack, и OpenNebula, и AWS, и Azure, и Google Cloud, и всё такое…
Все они собираются в единую структуру - instance metadata, которая слава богу имеет стандартизированную спеку. Её можно использовать в скриптах и темплейтах, но передать её напрямую ни через один датасорс нельзя.
Что же из себя представляет датасорс? Как правило это метод получения конфигурации из облака, который, в зависимости от облака в котором работает, превращает метаданные облака в instance metadata. Меня интересовали в первую очередь форматы OpenStack configDrive и NoCloud, которые позволяют передавать метаданные инстанса через ISO или файловую систему со специально определённый лейбл.
И тут начинается самое весёлое, так как единого стандарта нет, но есть некоторые негласные соглашения. А именно, что данные передаются в виде четырёх структур: meta-data, user-data, vendor-data и network-config (именование может быть разное, но суть примерно одна)
- meta-data - более-менее общий для всех клаудов, в нём чаще всего передают
instance-id, local-hostname и public-keys для ssh.- user-data - позволяет принимать в себя cloud-config структуру, которая тоже не стандартизирована, но тоже имеет общепринятые поля, либо вообще может быть чем угодно, например баш-скриптом, jinja-темплейтом для cloud-config’а или скрипта, так и конкатенировать в себя всё вышеперечисленное.
- vendor-data - тоже самое что и user-data, но по логике предоставляется вендором, а не пользователем
- network-config - у разных вендоров разный, но в NoCloud он более-менее стандартизирован и представляет собой конфиг netplan в чистом виде.
👍12✍5
Технологический Болт Генона
На 0:34 автор показывает заклёпки интересные, такие ни разу не видел, а потом нашёл пост уважаемого @dlinyj, который подробней рассказал и написал о них Взрывные заклёпки https://dlinyj.livejournal.com/865859.html И ещё интересного Если деталь доступна…
Пока по интернетам лазил в поисках всяких интересных исторических экскурсов в computer science наткнулся на прекрасное - реставрация сырорезки от IBM (той самой International Business Machines) аж ~1920 года
IBM Computing Cheese Cutter [Restoration]
https://www.youtube.com/watch?v=z8VhNF_0I5c
Сырорезки, изначально изготавливал Dayton и она стала одной из четырёх компаний потом "родивших" IBM, который мы сегодня знаем.
https://www.harpgallery.com/shop/item26052.html
Патент тоже имеется -
https://patents.google.com/patent/US728181A
Периодически люблю покопаться в таких исторических вехах.
Сначала ты продаёшь сырорезки, а потом RedHat поглощаешь 🌝
IBM Computing Cheese Cutter [Restoration]
https://www.youtube.com/watch?v=z8VhNF_0I5c
Сырорезки, изначально изготавливал Dayton и она стала одной из четырёх компаний потом "родивших" IBM, который мы сегодня знаем.
Embossed "The Computing Scale Co. of Dayton, Ohio," the company later became IBM.
https://www.harpgallery.com/shop/item26052.html
Патент тоже имеется -
US728181Ahttps://patents.google.com/patent/US728181A
Периодически люблю покопаться в таких исторических вехах.
Сначала ты продаёшь сырорезки, а потом RedHat поглощаешь 🌝
👍15🔥7✍2
Forwarded from KazDevOps
nxs-data-anonymizer — инструмент для анонимизации баз данных
Поддерживает PostgreSQL (все версии) и MySQL/MariaDB/Percona (все версии).
Решение строится на следующих основных идеях:
⚙️ Потоковая обработка данных. Не обязательно предварительно готовить и сохранять где-то на диске дамп исходной базы. Инструмент может менять на лету данные, которые ему передаются на stdin. А выдавать всё — на stdout.
⚙️ Значения описываются Go template. То, на что вы хотите заменить нужные вам ячейки в таблице, определяется шаблонами как в Helm, который многим должен быть знаком.
⚙️ Использование условий и данных других ячеек в строке. Фильтры могут быть гибкими и делать те или иные подстановки в зависимости от значений других (или даже себя самого) ячеек в той же строке.
⚙️ Проверка уникальности данных.
Подробный рассказ про инструмент в статье на Хабре.
💻 Ссылка на GitHub
Поддерживает PostgreSQL (все версии) и MySQL/MariaDB/Percona (все версии).
Решение строится на следующих основных идеях:
⚙️ Потоковая обработка данных. Не обязательно предварительно готовить и сохранять где-то на диске дамп исходной базы. Инструмент может менять на лету данные, которые ему передаются на stdin. А выдавать всё — на stdout.
⚙️ Значения описываются Go template. То, на что вы хотите заменить нужные вам ячейки в таблице, определяется шаблонами как в Helm, который многим должен быть знаком.
⚙️ Использование условий и данных других ячеек в строке. Фильтры могут быть гибкими и делать те или иные подстановки в зависимости от значений других (или даже себя самого) ячеек в той же строке.
⚙️ Проверка уникальности данных.
Подробный рассказ про инструмент в статье на Хабре.
💻 Ссылка на GitHub
🔥3👍2❤1
🫡
EXCLUSIVE: Hacking tool Flipper Zero tracked by intelligence agencies, which fear white nationalists may deploy it against power grid
Racially and ethnically motivated violent extremists may seek to exploit the hacking capabilities of a new cyber penetration tester.
https://www.dailydot.com/debug/flipper-zero-racially-motivated-extremists-fusion-center-alert-nypd/
EXCLUSIVE: Hacking tool Flipper Zero tracked by intelligence agencies, which fear white nationalists may deploy it against power grid
Racially and ethnically motivated violent extremists may seek to exploit the hacking capabilities of a new cyber penetration tester.
https://www.dailydot.com/debug/flipper-zero-racially-motivated-extremists-fusion-center-alert-nypd/
🫡9👀5🤡3
Технологический Болт Генона
Интересный пост про то почему с Rust перешли на Zig tl;dr In the ensuing discussion, @jamii name-dropped TigerBeetle, a reliable, distributed, fast, and small database written in Zig in a similar style, and, well, I now find myself writing Zig full-time,…
Я и сам стараюсь следить за его развитием, но что-то писать на нём полноценное не довелось ни разу.
Zig для меня — это новый C
https://habr.com/ru/articles/753078/
Чаты в телеге
@ziglang_ru
@zig_ru
Сам язык Zig имеет ряд интересных решений, которые выделяют его на фоне других «убийц» языка C. Коротко:
- встроенная система сборки;
- прямое использование заголовочных файлов написанных на C;
- компиляция кода написанного на C компилятором Zig;
- выполнение comptime кода во время компиляции;
- механизм аллокации памяти с возможностью выбора аллокатора;
- и другие.
. . .
А почему не Rust?
На этот вопрос я специально оставил ответ на конец. И ответ банален и прост. Rust не замена C. Вообще. Это не значит, что его нельзя использовать вместо C. Отнюдь. И даже совместно можно. Но не так, как можно С совмещать с Zig. Одна из киллер фитч языка Zig, возможность напрямую взаимодействовать с кодом языка C. Хотя Zig в этом не уникален. Есть ряд других языков (C2, C3, V, Vox, и ещё несколько языков, названия которых я забыл), которые делаю практически то же самое, что и Zig. Пытаются заменить C, как язык системного программирования и межпрограммного использования библиотек. В языке Zig взаимодействие с языком C работает в обе стороны. То есть можно написать библиотеку на Zig, соблюдая некоторые правила, которую можно будет использовать в проекте написаном на C, или на другом языке, где можно подгружать библиотеки написанные на C.
Zig для меня — это новый C
https://habr.com/ru/articles/753078/
Чаты в телеге
@ziglang_ru
@zig_ru
❤4
Forwarded from sad dev diary
rust is elegant they say
https://github.com/rust-lang/rust/blob/master/compiler/rustc_error_codes/src/error_codes.rs#L10
https://github.com/rust-lang/rust/blob/master/compiler/rustc_error_codes/src/error_codes.rs#L10
😁12🤣2