Записки потомственного it'шника
275 subscribers
509 photos
40 videos
204 files
1.65K links
Краткость — сестра таланта.
Автоматизация — мать порядка.
Ransomware'щики — боги.
Батя — программист over 80+ level.
Мать — бухгалтер, соскачившая с цифр на контдитерские изделия.
Ну а я — бакалавр ИБ по собственной воле.
Update: уже магистр.
Download Telegram
Forwarded from Sys-Admin Up (Yevgeniy Goncharov)
The penetration testing execution standard consists of seven (7) main sections...

These cover everything related to a penetration test - from the initial communication and reasoning behind a pentest, through the intelligence gathering and threat modeling phases where testers are working behind the scenes in order to get a better understanding of the tested organization, through vulnerability research, exploitation and post exploitation, where the technical security expertise of the testers come to play and combine with the business understanding of the engagement, and finally to the reporting, which captures the entire process, in a manner that makes sense to the customer and provides the most value to it..:

http://www.pentest-standard.org/index.php/Main_Page
Forwarded from CyberSecurityTechnologies (-CST-)
ArgoCD_Threat_Model.pdf
1.6 MB
#Threat_Research
"Argo CD End User Threat Model: Security Considerations for Hardening Declarative GitOps CD on Kubernetes", 2023.
Последнее время то там, то тут слышишь про "Фиолетовые команды", видимо, "Красными" и\или "Синими" уже никого не удивишь 😁 Вот попался неплохой BOK по превращению "фиолетового движения" из ad-hoc в системную работу:
https://github.com/scythe-io/purple-team-exercise-framework
This media is not supported in your browser
VIEW IN TELEGRAM
🗜 Смотрите какой клёвый pastebin сервис, работающий по SSH и доступный как в tui, так и в веб-морде... https://snips.sh/

А ещё, всё это можно развернуть на собственном сервере, судя по всему:

https://github.com/robherley/snips.sh

#tui #pastebin #ssh
Forwarded from Cybred
Разработчики любят писать микросервисы для "перекладывания JSON". Стандарт устоявшийся и, как правило, не сулит проблем. Но так ли это на самом деле?

Возьмем небольшое приложение с двумя микросервисами:
— Cart — реализует бизнес-логику корзины
— Payment — используется для обработки платежей

Cart написан на Python с Flask и принимает ID товаров с их количеством. Попробуем отправить в него запрос с двумя одинаковыми ключами:
"cart": [
{
"id": 0,
"qty": 5
},
{
"id": 1,
"qty": -1,
"qty": 1
}
]

Сервис провалидирует JSON в соответствии со схемой jsonschema.validate(instance=data, schema=schema). Убедится, что id: 0 <= x <= 10 and qty: >= 1. На этом этапе не будет ошибки (не смотря на то, что один из отправленных qty не подходит под условие), поскольку Flask использует стандартный JSON-парсер из Python, а тот сериализует данные, отдавая приоритет последнего ключа (qty = 1).

Дальше провалидированный JSON отправляется в микросервис Payment.

А микросервис Payment написан уже на Go и использует другой парсер buger/jsonparser. Он уже не валидирует JSON (ведь валидация была на предыдущем шаге), но использует приоритет первого ключа (qty = -1). Считает итоговую сумму total = total + productDB[id]["price"].(int64) * qty и генерирует чек.

Мы смотрим в чек, который вернулся в ответе, и видим ошибку. Нам будет отправлено шесть товаров стоимостью 700 долларов, но с нас взяли только 300 долларов, из-за расчетов со вторым ключом.

Такие ошибки возникают из-за того, что существует много стандартов JSON:
1. json.org
2. IETF RFC 4627
3. ECMAScript 262
4. ECMA 404
5. IETF RFC 7158
6. IETF RFC 7159
7. JSON5
8. HJSON

И в каждом из них свои правила парсинга JSON: о том, как обрабатывать дублирующие ключи, что делать с большими числами с плавающей точкой, что считать валидным, а что нет. И на каждом из этих этапов могут возникнуть коллизии, позволяющие обходить средства защиты или вызывающие баги в бизнес логике.

Полезные ссылки:
— https://seriot.ch/json/parsing.html — большая таблица-сравнение: как разные парсеры обрабатывают разные значения.
— https://bishopfox.com/blog/json-interoperability-vulnerabilities — я рассказал только об одном баге, но их гораздо больше: здесь можно почитать обо всех остальных.
— https://github.com/a1phaboy/JsonDetect — расширение для Burp для определения того, какой парсер используется.
👍1
Forwarded from Cybred
https://github.com/Hackmanit/TInjA

TInjA (the Template INJection Analyzer) — CLI-утилита для проверки веб-приложений на наличие уязвимостей инъекции шаблонов.

Она поддерживает 44 наиболее актуальных шаблонизатора (по состоянию на 2023 год) для восьми различных языков программирования и поддерживает поиск как SSTI, так и CSTI.
Forwarded from BeholderIsHere Media HUB (Beholder Is Here)
Очень интересный канал Дэрека Джемисона раскрывающий весь потенциал flipper zero
Смотрел я вчера старенький фильм "На грани" 🐻 с Энтони Хопкинсом и вспомнил ситуацию, в которую как-то попал и я, а именно отбился с товарищем от туристической группы и два дня мы были одни, без какой-либо помощи, без нормального снаряжения, а еще лил дождь. И вот это натолкнуло меня на мысль, которую можно применить в команде ИБ, особенно если вы ее руководитель, или вы ментор какого-либо специалиста по ИБ.

Нынешнее "поколение ЕГЭ" привыкает отвечать по готовым скриптам ☑️ и теряет способность искать ответы самостоятельно. Критическое мышление тоже куда-то улетучивается. Поэтому так важно воспитывать этот навык у своих "падаванов". И для этого можно дать несколько советов:
1️⃣ Регулярно "пропадайте". Когда ваш подчиненный понимает, что тот, в кого он верил, исчез, ему остается только верить в себя и начать хоть что-то делать, а не ждать, когда добрый CISO всех спасет и возьмет ответственность на себя.
2️⃣ Не надо обсуждать проблемы - обсуждайте способы их решения, которые предложил ваш подчиненный. Если у него нет решения, возвращаемся в начало этого пункта.
3️⃣ Совершенно неважно, насколько решение вашего подчиненного хорошо. Ваша задача - перестроить его мозги так, чтобы он был всегда способен искать и находить решения проблем. Да, ваш опыт часто позволяет вам найти решение лучше, но незашоренность может помочь найти нестандартное решение. Этот принцип особенно активно проявляется в штабных киберучениях, в которых я всегда с самого начала говорю, что нет неправильных решений.
4️⃣ Никогда не надо говорить, правильное решение или неправильное. ИБ - это не ЕГЭ, где все просто. ИБ - это жизнь и никаких заранее известных ответов часто просто нет. Фокусировать подчиненных надо на смысле решаемой задаче, а не конкретном решении. Сегодня оно такое, завтра совсем иное. ИБ вообще вариативная штука.
5️⃣ Пусть подчиненные сами оценивают свои решения. Со временем придет и опыт, и уверенность, и экспертиза. В ИБ часто надо самому брать ответственность за свои же решения и переложить ее на кого-то не удастся. Чем раньше подчиненные это поймут, тем лучше.

ЗЫ. Тоже самое работает и с детьми и со студентами 😊

ЗЗЫ. Да, совсем тупые тоже бывают и с ними эта великолепная пятерка не работает. Но тут уж вам не повезло ☹️
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Blue (h/c)at Café (Женя Белкин '";DROP DATABASE db_name();--)
📝 Аудит спецификаций API на наличие уязвимостей логики

Продолжаем разговор про тестирование API. На этот раз не будет докера, мне было максимально лениво разбираться с Rust, не с игрой, а языком (Go для умных).

Инструмент, которым я буду сам пользоваться называется CherryBomb.

🗣 Краткое описание:

- Написан на Rust
- Имеет варианты запуска (info, normal, intrusive(не работает) , passive, full
- Требуется файл OpenAPI v3  в формате json (можете ваши yml переводить в него тут)

📌

Тестирование проводил всё на том же VAmPI

🗣 Использование:

cherrybomb --file openapi.json --profile full --ignore-tls-errors true -o report.json --format json


🗣 Репорт файл:

Жаль, что я не могу делать развёрнутые посты с несколькими скринами и подобным, но если кратко - умеет в читаемый вид (table), а также в формате json

📌

В скором времени напишу парсер в sarif или для defect dojo


🗣Работа с конфигурационным файлом:

У инструмента есть возможность запуска сканирования через конфигурационный файл

cherrybomb -c config.json


Пример для полного сканирования и авторизации через basic auth, с игнорированием ошибок tls и параметром логирования "normal":

{
"file" : "open-api.json",
"verbosity" : "normal,
"profile" : " "full",
"security": [{
"auth_type": "Basic",
"auth_value" : token_value,
"auth_scope" : scope_name
}],
"ignore_tls_errors" : true,
}



#opensource #devsecops
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
О, тогда такой финт можно и с docker.socket провернуть!