xp_cmdshell
является самой большой угрозой безопасности в SQL Server, поскольку позволяет скомпрометированному блоку SQL Server повысить уровень атаки на саму операционную систему хоста и оттуда на всю сеть.
Типичный вектор атаки - форма HTTP веб-сайта -> SQL-инъекция -> xp_cmdshell
-> захват хост-машины SQL -> захват домена. Если xp_cmdshell
выключен, то злоумышленник должен найти другие средства для повышения своей атаки с SQL на хост.
Существуют и другие сценарии, например, использование внутренних пользователей для повышения привилегий или использование командной оболочки для других целей, например. украсть базу данных. Все они основаны на том факте, что xp_cmdshell
позволяет выполнять произвольные команды и на хосте, а в некоторых случаях выполняемые команды также наследуют привилегии учетной записи службы SQL Server.
Существуют другие команды и процедуры расширения, которые могут использоваться злоумышленником, если xp_cmdshell
заблокирован, но они намного менее известны. Использование вектора xp_cmdshell
присутствует в каждой шпаргалке по SQL-инъекциям и на обсуждениях на форумах, так что это знают все и их бабушка.