SOC Prime Bias: High

30 Jul 2026 15:27 UTC

Виконання команд в Azure VM через розширення Salt Minion стороннього виробника

Author Photo
SOC Prime Team linkedin icon Стежити
Виконання команд в Azure VM через розширення Salt Minion стороннього виробника
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Атакуючий з Microsoft.Compute/virtualMachines/extensions/write дозволами може зловживати легітимними сторонніми розширеннями, щоб виконувати довільний код на віртуальних машинах Azure. Розгорнувши розширення Salt Minion і підключивши його до зловмисного Salt Master, атакуючий може відправляти шкідливі стани на цільові системи та отримувати доступ на рівні root або SYSTEM. Ця техніка дозволяє непомітно виконувати команди, що можуть зливатися з нормальною адміністративною автоматизацією.

Розслідування

У звіті представлено атаку з доказами концепції, в якій зловмисний Salt Master налаштовано для керування віртуальними машинами Azure. Розслідування показує, як розширення Salt Minion розгортається через Azure CLI і налаштовується для зв’язку через порти 4505 і 4506. Дослідники виконують шкідливий Salt state, який використовує curl для ексфільтрації токенів Managed Identity до сервісу зовнішньої взаємодії.

Пом’якшення

Організації повинні суворо обмежити ролі, що включають дозволи на запис розширень, включаючи Власника, Учасника та Учасника віртуальної машини. Застосування принципу найменших привілеїв є важливим для запобігання несанкціонованого розгортання розширень. Команди безпеки повинні також моніторити журнали активності Azure для підозрілих операцій запису розширень віртуальних машин та неочікуваних установок сторонніх розширень.

Відповідь

Якщо ця активність виявляється, команди безпеки повинні негайно відкликати дозволи особи, відповідальної за розгортання розширення. Перегляньте журнали активності Azure, щоб визначити IP-адресу джерела, постраждалу віртуальну машину та конфігурацію розширення. Проведіть аналітику кінцевої точки на скомпрометованій системі, щоб оцінити виконання команд, виявити вкрадені облікові дані та виявити будь-яку несанкціоновану стійкість.

Потік атаки

Виявлення

Python запускає підозрілі процеси (через process_creation)

Команда SOC Prime
29 липня 2026

Підозріла команда та контроль за запитом до домену зовнішніх взаємодій (через dns)

Команда SOC Prime
29 липня 2026

Виконання команд на віртуальній машині Azure (через azureactivity)

Команда SOC Prime
29 липня 2026

IoC (SourceIP) для виявлення: Виконання команд на віртуальних машинах Azure з використанням сторонніх розширень – Salt Minion

AI правила SOC Prime
29 липня 2026

IoC (DestinationIP) для виявлення: Виконання команд на віртуальних машинах Azure з використанням сторонніх розширень – Salt Minion

AI правила SOC Prime
29 липня 2026

Виявлення несанкціонованого розгортання шкідливих розширень віртуальних машин в Azure [журнали активності Azure]

AI правила SOC Prime
29 липня 2026

Виконання симуляції

Попередня вимога: Телеметрія та попередня перевірка повинні бути успішно пройдені.

Обґрунтування: У цьому розділі детально описується точна реалізація техніки противника (TTP), розроблена для запуску правила виявлення. Команди та розповідь ПОВИННІ безпосередньо відображати ідентифіковані TTPs та бути спрямовані на генерацію саме тієї телеметрії, що очікує логіка виявлення. Абстрактні або не пов’язані приклади призведуть до діагностичних помилок.

  • Опис атаки та команди: Противник отримав достатньо дозволів у Tenant Azure (наприклад, через скомпрометовану Service Principal або обліковий запис користувача з ролями “Учасник віртуальної машини”). Щоб закріпитися та виконувати команди безпосередньо на цільовій віртуальній машині без традиційного доступу SSH/RDP, противник вирішує розгорнути “Розширення користувацького скрипта”. Ця техніка надзвичайно ефективна для обходу мережевих контролів на основі кінцевої точки. Противник виконає команду Azure CLI для ‘запису’ нового розширення на цільову віртуальну машину. Ця дія запустить MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE операцію в журналі активності Azure, що є саме тією телеметрією, яку наше правило виявлення розроблено для виявлення.

  • Скрипт регресійного тестування:

    # Симуляція: Розгортання фіктивного розширення для запуску логіки виявлення 'EXTENSIONS/WRITE'
    # Замініть змінні на значення вашого фактичного тестового середовища
    RESOURCE_GROUP="TestRG"
    VM_NAME="TestVM"
    EXTENSION_NAME="MaliciousSaltMinionSim"
    
    echo "Запуск симуляції: Розгортання розширення $EXTENSION_NAME на $VM_NAME..."
    
    az vm extension set 
      --resource-group $RESOURCE_GROUP 
      --vm-name $VM_NAME 
      --name $EXTENSION_NAME 
      --publisher Microsoft.Azure.Extensions 
      --settings '{"commandToExecute": "echo "Simulation Successful" > /tmp/pwned.txt"}'
    
    echo "Симуляційна команда відправлена. Перевірте журнали активності Azure для MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE"
  • Команди прибирання:

    # Прибирання: Видаліть симульоване шкідливе розширення, щоб повернути середовище до його початкового стану
    RESOURCE_GROUP="TestRG"
    VM_NAME="TestVM"
    EXTENSION_NAME="MaliciousSaltMinionSim"
    
    echo "Прибирання: Видалення розширення $EXTENSION_NAME..."
    
    az vm extension delete 
      --resource-group $RESOURCE_GROUP 
      --vm-name $VM_NAME 
      --name $EXTENSION_NAME
    
    echo "Прибирання завершено."