ProSvet
от Pentest-Tools

Удалённое выполнение кода (RCE)

Удалённое выполнение кода — это не «ещё одна уязвимость». Это момент, когда атакующий работает на вашей машине как ваш же процесс.

01

Почему RCE — критический уровень

После RCE злоумышленник читает файлы, запускает процессы, подключается к внутренним системам, ставит крипто-майнер или шифровальщик. Права ограничены только тем, чем ограничен процесс приложения — а «на практике» это часто root или владелец данных сайта.

Именно поэтому в CVSS RCE обычно оценивают как 9.0+ и требуют закрывать в первоочередном порядке.

02

История и масштаб: Equifax (2017)

В марте 2017 года была опубликована CVE-2017-5638 — уязвимость удалённого выполнения кода в Apache Struts 2. Патч вышел быстро. В мае злоумышленники использовали эту дыру против Equifax.

Итог: скомпрометированы данные порядка 147 миллионов человек; прямые затраты компании на расследование и меры, по публичным отчётам, превысили $1,4 млрд. Сенатский отчёт позже прямо указал: критический патч был известен и не был применён вовремя на уязвимом узле.

03

Log4Shell (2021) — RCE через логирование

CVE-2021-44228 в популярной Java-библиотеке Log4j показал: RCE может ждать внутри «скучного» логирования. Строки с JNDI-выражениями, попавшие в логи, заставляли приложение загружать удалённый класс — и код выполнялся на сервере.

Масштаб — почти вся Java-экосистема, от игровых серверов до корпоративных ERP. Масштабируется атака мгновенно: один HTTP-заголовок User-Agent.

04

Концептуальный пример

Если приложение сериализует объект из запроса «как есть» (Java-сериализация, Python pickle в куках, небезопасный yaml.load), то особо сконструированный payload вызывает цепочку magic-методов (__reduce__, readObject, и т.д.) — и в итоге Runtime.exec.

Тот же класс ошибок — серверные шаблоны (SSTI) и вставки в eval/exec: пользовательские данные никогда не должны становиться кодом.

05

Снижение рисков

  • Инвентаризация зависимостей и быстрые патчи (SBOM, alerting по критичным CVE).
  • Минимум прав процесса, изоляция (контейнеры, seccomp, AppArmor/SELinux), отсутствие root в контейнере.
  • Отключение опасных фич: удалённая десериализация, JNDI, eval, ненужные плагины.
  • Egress-фильтрация: серверу редко нужно ходить «куда попало» в интернет — блокировка исходящих к C2-доменам снижает урон.
  • Мониторинг: новые процессы, необычные shell-цепочки, всплеск CPU (майнеры), аномальные egress-соединения.

Нужна проверка именно вашего контура?

Запустите автоматическое сканирование или закажите ручной аудит с заключением — с приоритетами и планом устранения.

Начать сканирование