penetration testing - это попытка, использую уязвимости или, больше для СФ, ошибки в security конфигурации, вытянуть из системы данные, к которым доступа не должно быть.
хочу подготовить набросок программы penetration testing. уже, конечно, есть идеи, что можно было бы попробовать "хакнуть", особенно в Коммунити.
Но сначала спрошу, какие у вас есть идеи на эту тему?
penetration testing - это попытка, использую уязвимости или, больше для СФ, ошибки в security конфигурации, вытянуть из системы данные, к которым доступа не должно быть.
хочу подготовить набросок программы penetration testing. уже, конечно, есть идеи, что можно было бы попробовать "хакнуть", особенно в Коммунити.
Но сначала спрошу, какие у вас есть идеи на эту тему?
Если не ошибаюсь, делал похожее лет 5 назад. Запускалось все из тест класса. Иначе тебе придется все запускать через UI.
С запуском из тестов тоже были свои приколюхи, например как сделать отчет работы, но и это можно решить.
К сожалению в продакшен не пошло. Клиент не потянул бюджет, хотя суммы там были не фантастические.
Основная проблема решения была в том что не понятно, кто должен поддерживать актуальные конфиги для тестов
[quote="Den Brown"]Но сначала спрошу, какие у вас есть идеи на эту тему?
Цитировать
[/quote]
Если не ошибаюсь, делал похожее лет 5 назад. Запускалось все из тест класса. Иначе тебе придется все запускать через UI.
С запуском из тестов тоже были свои приколюхи, например как сделать отчет работы, но и это можно решить.
К сожалению в продакшен не пошло. Клиент не потянул бюджет, хотя суммы там были не фантастические.
Основная проблема решения была в том что не понятно, кто должен поддерживать актуальные конфиги для тестов
[quote="wilder"]Проверяли CRUD, FLS, доступ к visualforce pages под выбранными пользователями[/quote]
ок, я в чем была логика? как ты понимал, что юзер имеет excessive access?
Были специальные конфиги, на основе которых и принималось решение
[quote="Den Brown"][quote="wilder"]Проверяли CRUD, FLS, доступ к visualforce pages под выбранными пользователями[/quote]
ок, я в чем была логика? как ты понимал, что юзер имеет excessive access?
[/quote]
Были специальные конфиги, на основе которых и принималось решение
вот здесь люди плачутся, что руки у них не оттуда:
вот здесь люди плачутся, что руки у них не оттуда:
https://arstechnica.com/information-technology/2023/04/misconfigured-servers-running-salesforce-software-are-leaking-sensitive-data/
https://krebsonsecurity.com/2023/04/many-public-salesforce-sites-are-leaking-private-data/
но вообще, хорошо бы иметь скрипт, который проверяет, какие guest profiles имеются на орге и и какие объекты с ними пошерены
ты наверное ищешь чтото такое*?
https://github.com/moniik/poc_salesforce_lightning/blob/main/exploit.py
нам очень часто репортили такую проблему последние полгода
условно есть guest который создавал лиды, или еще чтото, и через подобные запросы в ауру, аура возвращала список всех лидов
ты наверное ищешь чтото такое*?
ну здесь используется API чтоб вытянуть данные
аура возвращала список всех лидов
так, такое возможно только если эти лиды как-то пошерены с юзером или вообще паблик, правильно?!
[quote="Maxim Elets"]ты наверное ищешь чтото такое*?[/quote]
ну здесь используется API чтоб вытянуть данные
[quote="Maxim Elets"]аура возвращала список всех лидов[/quote]
так, такое возможно [b]только если[/b] эти лиды как-то пошерены с юзером или вообще паблик, правильно?!
ты наверное ищешь чтото такое*?
ну здесь используется API чтоб вытянуть данные
аура возвращала список всех лидов
так, такое возможно только если эти лиды как-то пошерены с юзером или вообще паблик, правильно?!
Правильно, но смысл в том, что таким обращом можно пройтись по всем объектам, и понять кто что лишнего видит. А лиды и другие записи были созданы из под гостя, он стоял у них как owner, поэтому все было доступно. Ну и получается, в нашем случае у гостя были возможности читать то, что ему не нужно
[quote="Den Brown"][quote="Maxim Elets"]ты наверное ищешь чтото такое*?[/quote]
ну здесь используется API чтоб вытянуть данные
[quote="Maxim Elets"]аура возвращала список всех лидов[/quote]
так, такое возможно [b]только если[/b] эти лиды как-то пошерены с юзером или вообще паблик, правильно?![/quote]
Правильно, но смысл в том, что таким обращом можно пройтись по всем объектам, и понять кто что лишнего видит. А лиды и другие записи были созданы из под гостя, он стоял у них как owner, поэтому все было доступно. Ну и получается, в нашем случае у гостя были возможности читать то, что ему не нужно
А лиды и другие записи были созданы из под гостя, он стоял у них как owner, поэтому все было доступно. Ну и получается, в нашем случае у гостя были возможности читать то, что ему не нужно
ах вот ты к чему. То есть это уникальная ситуация именно для Гостя, которым могут быть совершенно разные люди, и они имеют право создавать записи в каком-то объекте, и эти записи получаются как бы "паблик" для гостевого юзера и их можно вытянуть через АПИ. ну тогда при создании такой гостевой записи нужно "перебивать" owner на какого-нибудь дефолтного внутреннего юзера.
но в статьях выше вроде описаны не такие случаи, а случаи когда шеринг в принципе был неправильно или бездумно настроен для гостевого юзера
[quote="Maxim Elets"]А лиды и другие записи были созданы из под гостя, он стоял у них как owner, поэтому все было доступно. Ну и получается, в нашем случае у гостя были возможности читать то, что ему не нужно[/quote]
ах вот ты к чему. То есть это уникальная ситуация именно для Гостя, которым могут быть совершенно разные люди, и они имеют право создавать записи в каком-то объекте, и эти записи получаются как бы "паблик" для гостевого юзера и их можно вытянуть через АПИ. ну тогда при создании такой гостевой записи нужно "перебивать" owner на какого-нибудь дефолтного внутреннего юзера.
но в статьях выше вроде описаны не такие случаи, а случаи когда шеринг в принципе был неправильно или бездумно настроен для гостевого юзера
[quote="Maxim Elets"]ты наверное ищешь чтото такое*?
https://github.com/moniik/poc_salesforce ... ploit.py
нам очень часто репортили такую проблему последние полгода[/quote]
а ты пробовал запускать этот код?
я понимаю, что в орге могут быть проблемы с настройками шеринга
но что значит вот это?
[code]
299. print("[+] Looking for aura endpoint and check vulnerability")
...
306.print("[+] %s seems to be vulnerable." % (aura_endpoints))
[/code]
как сам (стандартный, служебный) URL может быть vulnerable или не vulnerable?
мы ведь не можем контролировать такие моменты
нам очень часто репортили такую проблему последние полгода
а ты пробовал запускать этот код?
я понимаю, что в орге могут быть проблемы с настройками шеринга
но что значит вот это?
299. print("[+] Looking for aura endpoint and check vulnerability")
...
306.print("[+] %s seems to be vulnerable." % (aura_endpoints))
как сам (стандартный, служебный) URL может быть vulnerable или не vulnerable?
мы ведь не можем контролировать такие моменты
Я не пробовал конкретно этот скрипт, у меня есть свой
вот чисто для примера, я запустил его на сайте своей бывшей компании, и у меня есть список всех юзеров которые пользуются community да, в нем нет email или телефона, Но я думаю это только потому что я пытался вытянуть юзера, а можно было попробовать чтото другое, но у меня нет времени
а с другой стороны, зная имя, можно перебрать почту, отправить ссылку на восстановление пароля и заиметь доступ
кстати, всего 259 имен, как активных так и не активных, хотя по факту должен быть только один guest user
[quote="Den Brown"][quote="Maxim Elets"]ты наверное ищешь чтото такое*?
https://github.com/moniik/poc_salesforce ... ploit.py
нам очень часто репортили такую проблему последние полгода[/quote]
а ты пробовал запускать этот код?
я понимаю, что в орге могут быть проблемы с настройками шеринга
но что значит вот это?
[code]
299. print("[+] Looking for aura endpoint and check vulnerability")
...
306.print("[+] %s seems to be vulnerable." % (aura_endpoints))
[/code]
как сам (стандартный, служебный) URL может быть vulnerable или не vulnerable?
мы ведь не можем контролировать такие моменты[/quote]
Я не пробовал конкретно этот скрипт, у меня есть свой
вот чисто для примера, я запустил его на сайте своей бывшей компании, и у меня есть список всех юзеров которые пользуются community
да, в нем нет email или телефона, Но я думаю это только потому что я пытался вытянуть юзера, а можно было попробовать чтото другое, но у меня нет времени
а с другой стороны, зная имя, можно перебрать почту, отправить ссылку на восстановление пароля и заиметь доступ
кстати, всего 259 имен, как активных так и не активных, хотя по факту должен быть только один guest user
у меня не совсем скрипт, это по факту просто 2-3 запроса в постмане, поэтому на питоне то что имеется выглядит круто
я сейчас запустил, он выдает просто прекрасные результаты и красиво сохраняет их в папках
можно запускать 100 штук подряд и потом просто просмотреть что где откопалось
но надо учитывать что тут запускается все от гостя, а ведь наверное можно потестировать наличие ненужного доступа и от залогиненого юзера(если такой имеется конечно)
[quote="Den Brown"]а твой скрипт тоже на питоне?[/quote]
у меня не совсем скрипт, это по факту просто 2-3 запроса в постмане, поэтому на питоне то что имеется выглядит круто
я сейчас запустил, он выдает просто прекрасные результаты и красиво сохраняет их в папках
можно запускать 100 штук подряд и потом просто просмотреть что где откопалось
но надо учитывать что тут запускается все от гостя, а ведь наверное можно потестировать наличие ненужного доступа и от залогиненого юзера(если такой имеется конечно)
тут наверное копать и копать можно
попробовал код на одной своей Коммунити, которую смог быстро найти в одном из своих дев оргов.
пишет, что "уязвимых URL не обнаружено"
это может значить, что:
(1) СФ пофиксил эту ситуацию во всех оргах,
или
(2) в моей пустой коммунити ничего и нет
вы пробовали этот код, и он вам вытягивал что-нибудь? если это был тест или дев коммунити, можете дать линк на нее, чтоб я убедился, что код все еще рабочий?
[quote="Maxim Elets"]ты наверное ищешь чтото такое*?[/quote]
попробовал код на одной своей Коммунити, которую смог быстро найти в одном из своих дев оргов.
пишет, что "уязвимых URL не обнаружено"
это может значить, что:
(1) СФ пофиксил эту ситуацию во всех оргах,
или
(2) в моей пустой коммунити ничего и нет
вы пробовали этот код, и он вам вытягивал что-нибудь? если это был тест или дев коммунити, можете дать линк на нее, чтоб я убедился, что код все еще рабочий?
ты наверное ищешь чтото такое*?
попробовал код на одной своей Коммунити, которую смог быстро найти в одном из своих дев оргов.
пишет, что "уязвимых URL не обнаружено"
это может значить, что:
(1) СФ пофиксил эту ситуацию во всех оргах,
или
(2) в моей пустой коммунити ничего и нет
вы пробовали этот код, и он вам вытягивал что-нибудь? если это был тест или дев коммунити, можете дать линк на нее, чтоб я убедился, что код все еще рабочий?
[quote="Den Brown"][quote="Maxim Elets"]ты наверное ищешь чтото такое*?[/quote]
попробовал код на одной своей Коммунити, которую смог быстро найти в одном из своих дев оргов.
пишет, что "уязвимых URL не обнаружено"
это может значить, что:
(1) СФ пофиксил эту ситуацию во всех оргах,
или
(2) в моей пустой коммунити ничего и нет
вы пробовали этот код, и он вам вытягивал что-нибудь? если это был тест или дев коммунити, можете дать линк на нее, чтоб я убедился, что код все еще рабочий?
[/quote]
сф 100% ничего не пофиксили :rolling:
я запускал вот так
[code] -u https://contact.mta.info/s/ -d -s[/code]