В предпраздничном азарте
Крутились целый день...
С друзьями развлекались
Сдались веселью в плен.
Статьи, посты и речи
С любовью, от души,
И нет противоречий,
Учи, работай, не мудри.
Но гложит меня чувство,
Отсутствия идей.
Посты писать я разучился,
Устал я от людей.
С каждой прожитой минутой,
Залипая в экран ноутбука,
Чувствую тяготу позора,
За безыдейность своих слов.
Хотелось бы мне написать действительно хороший и мотивирующий пост на будущий год, но я не могу даже 2-х слов связать между собой. Чем 2024 будет отличаться от 23, ведь цифра ничего нового нам не принесёт? Как бы кто ни говорил обратного, мы делаем свою жизнь сейчас, независимо от времени. Поздравления и пожелания это, конечно, важно, но я хочу донести до Вас, что не стоит откладывать свои начинания на следующий год, месяц или неделю. Вы всё сможете сделать сейчас!
Также, мне хочется передать слова наших редакторов, которые с рождения канала следили за ним и с какого-то момента сами стали частью его. От себя хочу сказать им спасибо. Спасибо, что терпели мои предъявы по контенту, вечные пинки со словами — "Где пост/статья?". Я благодарен Вам.
Пожелания от 4rchi
Всех благ на нынешнем рабочем месте или сочный оффер для тех, кто решил поменять семью. Стабильной работы, поменьше инцидентов, побольше полезной инфы. И чтобы пользователи слушались.
Пожелания от devcrys
Спасибо всем котейкам за то, что поддерживаете нас и интересуетесь нашим каналом. Этот год был наполнен событиями, давайте продолжим развиваться в следующем году. С Новым годом🎉
Спасибо, что Вы с нами
#бредниавтора
Please open Telegram to view this post
VIEW IN TELEGRAM
Как говорится в названии "конец отдыха", пора браться за новые проекты или завершать старые. Сегодня начну наращивать темпы по выпуску хорошего и полезного материала, а не второсортного мусора (хотя и такой тоже должен разбавлять контент, а то привыкнете к хорошему, потом не смогу удивлять)
Хватит лирики!
Про что сегодня будет пост ?
Будет про инструмент, который у меня давно на тестах. Лично в моих целях он не подошел, но вот для закрытия потребностей "API security testing" — его вполне хватит (Это вы ещё не видели мои связочки в тестах, там бомба по поиску уязвимостей.
Встроенные темплейты проверки:
Да, именно Akto. Как бы странно не звучало название, инструмент интересный и даже имеет Web-UI (для меня это стало самым большим минусом в проекте, ведь всё на нем завязано).
📌
Буду миллион раз повторять, для тестов использовал VAmPI
Для стандартного запуска просто используйте docker-compose file, который лежит на гите:
docker compose up -d
Запуск сканирования через CLI для нужд вашего CI\CD пайплайнов:
docker run -v ./:/out \ # необходимо для создания отчета о тестировании на хост-машине
-e TEST_IDS='JWT_NONE_ALGO REMOVE_TOKENS' \ # разделенные пробелами идентификаторы тестов
-e AKTO_DASHBOARD_URL='<AKTO_DASHBOARD_URL>' \
-e AKTO_API_KEY='<AKTO_API_KEY>' \
-e API_COLLECTION_ID='123' \ # идентификатор коллекции api, на которой вы хотите запустить тесты
-e TEST_APIS='https://demo.com/api/books https://demo.com/api/cars' \ # разделенные пробелами apis из коллекции api, на которых вы хотите запустить тесты. Если не присутствует, будут протестированы все api в коллекции. [необязательно]
-e OVERRIDE_APP_URL='https://dummy.com' \ # Если вы хотите провести тестирование на отдельном хосте. [необязательно]
aktosecurity/akto-api-testing-cli
1. Для первичного запуска потребуется собранная инвентаризация по вашей API (не мне учить вас их делать, можно всегда пинать разрабов или джунов
2. После запуска сканирования инструмент будет обрабатывать файл
3. Profit...
Минимально затраченное время, сэкономленные глаза (ведь не нужно просматривать гору json), всё в докерах.
#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
В процессе затянувшихся
Позволяет не держать открытой вкладку митры, когда вы читаете отчеты, или же просто наткнулись на упоминание тактики/группировки/софта и так далее в сети. Просто открыл аддон, скопировал идентификатор и получил краткое описание, а также кликабельные ссылки на скопировать информацию/описание или же на саму страницу техники.
Позволяет добавлять в заметки все тактики, которые вы встретите по пути, присвоить им свой скорринг, а затем экспортировать в csv или же сразу листом для MITRE ATT&CK Navigator. Это сильно удобнее, чем, например, вручную отмечать все тактики, которые вы повстречали в отчете.
Для поиска можно добавить собственные форматы, которые будут копировать для вас сниппеты результатов. Функция выглядит интересно, но, честно говоря, применения я ей еще не нашел.
#blueteam #purpleteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Caster
Я написал небольшой инструмент, который сделает вашу Kali тихой в эфире.
Минимизация шума в эфире, шейпинг трафика и харденинг вашей Kali Linux для уклонения от SOC
Caster - F31
Genre: Offensive
Subgenre: Penetration Testing, Evasion
Label: github.com
Release Date: 17 January 2023
Link: https://github.com/wearecaster/F31
Минимизация шума в эфире, шейпинг трафика и харденинг вашей Kali Linux для уклонения от SOC
Caster - F31
Genre: Offensive
Subgenre: Penetration Testing, Evasion
Label: github.com
Release Date: 17 January 2023
Link: https://github.com/wearecaster/F31
Давайте сразу к делу...
Ага, так я и поверил...Ну и бредятина
Чтобы Я, да без 1000 слов в посте ..?
Сейчас приходится изучать много нового, надеюсь, как и всем. Недавно встала задача про SBOM (Software Bill Of Materials). Ого, что это за зверь такой?
Хорошее программное приложение постоянно меняется: компании-разработчики постоянно исправляют ошибки, добавляют возможности и улучшают пользовательский опыт. Помимо этих изменений, сторонние библиотеки, которые компании включают в свои приложения, также постоянно обновляются для повышения производительности и устранения известных уязвимостей, поэтому многие компании продают приложения, построенные на устаревшем коде сторонних разработчиков (Да-да, вам продают не самое новое).
Поскольку собственный код и компоненты находятся в состоянии текучести, компаниям важно генерировать полные и точные SBOM - как для себя, так и для надежных поставщиков.
Хотелось бы добавить описание каждого, но тогда это была бы отдельная статья на habr
Будем рассматривать сегодня только инструменты, которые способны генерировать сразу для нескольких видов ЯП. Мультифункциональные инструменты — это уверенные помощники для малых компаний или домашних лаб. Они включают в себя возможность генерировать SBOM сразу для нескольких языков, будь то Python или Rust.
Каждый из них достоин отдельного поста на канале, может даже займусь этим, в ближайшее время. Теперь, будем вникать чуть глубже. Как скрипты определяют, какие зависимости есть в проекте ?
yarn.lock go.mod composer.lock pom.xml Gemfile.lock packages.config Cargo.lock pubspec.lock conan.lock meson.build deps.edn Package.resolved requirements.txt
Да, как можно было догадаться, благодаря всем ним мы можем получать список зависимостей, а также транзитивных зависимостей (зависимость от зависимости).
Тут, как и везде, есть несколько стульев. Либо использовать терминал, либо ставить красивую приблуду с Web-UI.
Очень прост в установке, как и все инструменты GO:
go install github.com/interlynk-io/sbomqs@latest
После можно запускать на наш свежесгенерированный sbom файл:
sbomqs score <Ваш_файл>
Либо так, если вы так и не разобрались как прописывать GOPATH:
./~/go/bin/sbomqs score <Ваш_файл>
Вывод будет представлять собой таблицу с результатами тестирования. А также, можно сравнить на сайте SBOM-Benchmark
📌
Там есть и много экзамплов сбомов на любой вкус
Вот и наш старый знакомый, SCA (Software Composition Analysis) мастодонт, красивое и на Java, отдельно front, отдельно API, куча интеграций, скачивает данные с
nist.gov, что всем ЦОД-ам не нравится. С установкой не должно возникнуть проблем:
curl -LO https://dependencytrack.org/docker-compose.yml
docker compose up -d
Стандартный логин/пасс:
admin:admin
Да, именно на первую часть. Информации очень много, начиная от детального разбора CycloneDX формата, заканчивая "как настроить сборщик sbom".
Пора ввести новый # , а то моего AppSec-а очень уж много)
#devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
HackTheBox, TryHackMe, Standoff365, Codeby.Games показывают нам, как атаковать различные инфраструктуры, сайты, приложения и тп., а что у нас есть по защите? Как защитить или, что ещё сложнее, обучить этому специалистов? Эти 2 вопроса загнали меня в ловушку. Я знаю, что есть курсы, знаю, что они порой хорошие, но на этом всё.
🌐 DefBox
Проект находится на начале своего пути, но задумка, а главное идея, мне очень импонирует. Сделать ресурс, который поможет специалистам BlueTeam развивать свои навыки и шарить ссылку на профиль коллегам или hr (как это было с HTB) — звучит отлично.
Очень важно отметить, что у них есть главное — хорошая обратная связь и работа с комьюнити, что достаточно редкое явление в наше время. Ответа от тех. поддержки не придется ждать неделями
Лично для меня, платформа видится как классный проект, в котором студенты, джуны и мидлы (а может и сеньоры
#blueteam
Please open Telegram to view this post
VIEW IN TELEGRAM
Да, я хочу стать спикером на Positive Hack Days. Все прошлые годы я не мог даже представить, что могу писать и рассказывать про интересный контент или про свой опыт, но теперь... Я уверен, что у меня получится (если пройду отбор спикеров конечно).
Доклад
50 минут
Подробное раскрытие темы
Как для техспецов, так и для бизнеса
А вы цены вообще видели на услуги по аутсорсу ???
Правда, этот доклад будет не выгоден маленьким компаниям, но я думаю, что они смогут подчерпнуть что-то новое и выставлять более демократичные цены на свои услуги
И куда же без "а как стать нужным на рынке труда/компаний?"
Спасибо за внимание, жду обратную связь в комментариях, а я буду собирать материал для подачи заявки.
#бредниавтора #devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Так как в условиях сказано, что я могу приложить несколько видов тем для участия я воспользуюсь данной возможностью. Ниже выбраны темы в которые я погружался с головой, разбираясь в деталях и тратя недели на изучение. Сильно сказано, но как есть, в себе, так и в них — Я уверен. А пока, я всё ещё буду собирать данные для основного выступления на "а вдруг", если нет, то ждите подробный гайд на habr или xakep (может туда получится).
По данной теме я писал на Habr
Могу честно сказать, уже сделал давно, но так и не выложил на habr, потому что думал, что это не надо. Потом сходил на митап от каспера, был приятно удивлен, что такое постоянно используется, но немного в другой форме — "устройство для закрепления". Планирую написать скрипт для автоустановки всего необходимого + настройка коробки.
До марта ещё целый месяц, но я уже ощущаю тягость от того, что времени на всё слишком мало. Как расширить день и получить дополнительных пару часов времени на статьи или контент. Качество и душа, должна быть в каждом посте, независимо мем это или пост.
Опять же, критика и мнение прошу оставлять в комментариях — сделаем комьюнити лучше.
UPD: все темы, которые не пройдут отбор будут запощены в канал или habr. Зачем материалу пропадать ?)
#бредниавтора #devsecops #appsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Немного отвлекусь от повседневности и хочу рассказать про то, как нам важно иметь безопасные контейнеры. Начну с того, что Вам и так известно, недавно был найден скоуп уязвимостей Docker и runC.
Для начала что это за уязвимости:
При подготовке поста мне очень понравилось читать исследование про CVE-2024–21626, прошу всех с ним ознакомиться - ТЫК
Могу сделать отдельный перевод в teletype🚶♀️
CVE-2024-21626, в частности, привлекла внимание к уязвимостям в runC, ключевом компоненте различных систем управления контейнерами с открытым исходным кодом. Эта уязвимость, а также ее аналоги в BuildKit подчеркивают проблемы, связанные с обеспечением безопасности контейнеров и всей современной микросервисной инфраструктуре.
RunC - это стандартное время выполнения контейнеров. Это базовая технология, используемая в Docker и других платформах для запуска контейнеров. По сути, runC отвечает за порождение и запуск контейнеров в соответствии со спецификацией Open Container Initiative (OCI). Для этого он предоставляет интерфейс командной строки для управления жизненным циклом контейнеров.
Суть CVE-2024-21626 заключается в утечке дескриптора файла в пакете runC. Эта проблема возникает во время выполнения контейнерного кода. Хотя пользователи обычно устанавливают закрытие дескрипторов файлов при выполнении
(O_CLOEXEC) для предотвращения утечки, уязвимость существует в том, как runC обрабатывает системный вызов setcwd(2). Сложно, непонятно, но вот ссылки на видосы исполнения от Snyk ТЫК и на гите ТЫКНет необходимости создавать собственный образ, просто запустите контейнер с параметром -w:
docker run -w /proc/self/fd/8 --name cve-2024-21626 --rm -it debian:bookworm
~/container/runc/runc --version
docker run --name helper-ctr alpine
docker export helper-ctr --output alpine.tar
mkdir rootfs
tar xf alpine.tar -C rootfs
~/container/runc/runc spec
sed -ri 's#(\s*"cwd": )"(/)"#\1 "/proc/self/fd/7"#g' config.json
grep cwd config.json
sudo ~/container/runc/runc --log ./log.json run demo
Эксплойты имеют следующие особенности:
execve(2) со специальным рабочим каталогом, который начинается с /proc/self/fd/.symlink(2) или symlinkat(2) со специальной ссылкой на целевой каталог, который начинается с /proc/self/fd/.open(2), openat(2) или openat2(2) с именами типа /proc/\d+/cwd/.*.Правило для Falco — про него выйдет отдельный пост
- macro: container
condition: (container.id != host and container.name exists)
- rule: CVE-2024-21626 (runC escape through /proc/[PID]/cwd) exploited
desc: >
Detect CVE-2024-21626, runC escape vulerability through /proc/[PID]/cwd.
condition: >
container and ((evt.type = execve and proc.cwd startswith "/proc/self/fd") or (evt.type in (open, openat, openat2) and fd.name glob "/proc/*/cwd/*") or (evt.type in (symlink, symlinkat) and fs.path.target startswith "/proc/self/fd/")) and proc.name != "runc:[1:CHILD]"
output: CVE-2024-21626 exploited (%container.info evt_type=%evt.type process=%proc.name command=%proc.cmdline target=%fs.path.targetraw)
priority: CRITICAL
Это первая часть поста, телега не позволяет дать больше информации. Вторая часть выйдет завтра, в 15:00
Всех ждем на продолжение на уязвимости CVE-2024–23651, CVE-2024–23652, CVE-2024–23653
Please open Telegram to view this post
VIEW IN TELEGRAM
Да, как и обещал, ловите продолжение.
Docker BuildKit - это усовершенствованный механизм сборки, предназначенный для образов Docker. Он позволяет эффективно кэшировать команды Dockerfile, параллельно выполнять шаги сборки и изолировать контексты сборки. BuildKit имеет собственное промежуточное представление LLB. И там, где LLVM IR имеет такие вещи, как вызовы функций и стратегии сборки мусора, LLB имеет монтируемые файловые системы и выполнение операторов.
Что за LLVM IR и LLB ? Ты совсем уже крышей поехал?
Нет, хотяяя...
LLVM IR (Intermediate Representation) - это абстрактное представление программы, которое используется в LLVM(Low Level Virtual Machine). Оно независимо от платформы и архитектуры, содержит инструкции, операции и типы данных, и может быть легко оптимизирован и анализирован компилятором LLVM.
LLB (Low Level Backend) - это часть LLVM, которая представляет собой набор инструкций и операций для представления кода на низком уровне. Он служит как промежуточное представление, которое может быть преобразовано в машинный код для разных архитектур. LLB определяется как буфер протокола, а это означает, что внешние интерфейсы BuildKit могут делать GRPC запросы к
buildkitd для непосредственного создания контейнера.Для лучшего понимания или кто хочет с картинками ТЫК
--mount для обмана функции удаления точек монтирования. Это может привести к удалению файлов за пределами контейнера из хост-системы, что представляет значительный риск для целостности хост-окружения.Опять же, все те же ребята из snyk выпустили 2 скрипта для проверок (динамическая и статическая)
bash
git clone https://github.com/snyk/leaky-vessels-static-detector.git
cd leaky-vessels-static-detector
go build #Если вам нужен исполняемый файл
go run main.go <команда> <аргумент>
dockerfile - запустить анализ Dockerfile.
-f [DOCKERFILE_PATH] - путь к Dockerfile.
--base - включить анализ базового образа.
image - запустить анализ образа.
--name [IMAGE_NAME] - имя образа.
Общие аргументы:
--env [ENV_FILE_PATH] - путь к .env-файлу, используемому для хранения.
--disable [RULES_LIST] - список идентификаторов правил, которые нужно отключить, разделенный запятыми.
--debug - включить отладочные журналы.
Dockerfile — ТЫК
Мне хотелось бы ещё раз поблагодарить Владимира Капистку за создание такого инструмента как Public OCI-Image Security Checker —
Спасибо за внимание, скоро свидимся
#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
Как и писал в прошлом цикле постов, нужно сделать статью про
📌
Однако, его нельзя называть универсальным инструментом для защиты, он не сможет предотвратить все угрозы.
Давай те начнем с того, как это устанавливать и пользоваться. Потому что их документация слишком нагроможденная и сложная для новичков.
При установке Falco можно выбрать несколько вариантов в зависимости от среды, в которой мы работаем. В посте будет продемонстрирован DaemonSet. Это гарантирует, что он будет развернут на всех узлах нашего кластера Kubernetes.
Один из самых простых способов установки Falco в Kubernetes - это использование Helm. Благо сообщество Falco предоставляет официальную таблицу Helm для установки и настройки.
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo update
helm install falco --set tty=true falcosecurity/falco --namespace falco --create-namespace
`--set tty=true` для предотвращении буферизации журналов Falco. Или же по простому При включении этой опции оповещения будут немедленно отображаться в журнале, как только они сработают.
Проверить установку можно через
kubectlkubectl get pods -n falco -o wide
Встроенный плагин Falco k8saudit управляет источниками событий и возможностями извлечения полей в системе плагинов Falco.
Чтобы установить плагин, нам нужно изменить процесс установки Helm и задать ему дополнительные параметры. Для начала мы должны удалить Falco с помощью следующей команды. Это позволит нам переустановить Falco с необходимыми параметрами для включения плагина с нужной конфигурацией с помощью пользовательского файла falco.yaml.
helm uninstall falco --namespace falco
Этот файл содержит настройки Falco, которые вы хотите переопределить во время установки. Этого можно добиться, передав файл в качестве аргумента в процессе установки Falco в Helm.
Пользовательский файл falco.yaml, который мы будем использовать, можно найти в репозитории Falco на Github. Этот yaml-файл содержит определение k8saudit в разделе плагинов, как показано ниже.
plugins:
- name: k8saudit
library_path: libk8saudit.so
init_config:
""
open_params: "http://:9765/k8s-audit"
- name: json
library_path: libjson.so
init_config: ""
load_plugins: [k8saudit, json]
Чтобы переустановить Falco с помощью этого yaml-файла, сохраните yaml из репозитория GitHub под именем values-syscall-k8saudit.yaml и выполните следующую команду.
helm install falco falcosecurity/falco --namespace falco -f ./values-syscall-k8saudit.yaml --create-namespace
Теперь перейдем к конфигурации. Чтобы журналы аудита Kubernetes могли отправляться в Falco, нам нужно перенастроить сервер API Kubernetes на пересылку событий аудита. Применяя политику аудита, вы можете выборочно фильтровать и записывать только те события, которые представляют интерес. Чтобы сделать безопасность приоритетной, мы создадим политику, направленную на запросы, связанные с подсистемами, kube-proxy, секретами, конфигурациями и другими важными компонентами. Ниже приведена политика, которую мы будем использовать.
Сохраните содержимое YAML в файл с именем policy.yaml в каталоге
/etc/kubernetes/audit/. Позже на этот файл будут ссылаться в конфигурации сервера API.Это первая часть объемной работы с данным инструментом. Да, приходится их делить, ведь у тг всего 4096 символов разрешено. Печатать в телетайп и подобных платформах, не моё. Habr стал платформой, на которой тебе пишут "не соответствует тематике платформы" или "не нашел ничего нового для себя" при любой теме статьи.
#devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM