HowDefend English

Nasıl savunulur · T1218.005

mshta ile script çalıştırmaya karşı nasıl savunulur

Gerekmediği yerde mshta.exe'yi App Control for Business ya da AppLocker ile engelleyin; Microsoft onu App Control'ü atlatabilen uygulamalar arasında sayıyor. Tespit için her mshta.exe başlangıcında alarm üretin; yol ve OriginalFileName ile eşleştirin ki adı değiştirilmiş bir kopya da yakalansın; bilinen HTML uygulamalarını filtre olarak ekleyin.

Saldırgan ne yapar

mshta.exe HTML uygulamalarını çalıştırır: kullanıcının yetkileriyle ve tarayıcının kısıtlamaları dışında çalışan, VBScript ya da JScript içeren HTML dosyaları. Saldırgan onu üç yolla script kodu çalıştırmak için kullanır: komut satırında doğrudan (mshta vbscript:... ya da mshta javascript:...), yerel bir .hta dosyasından ya da bir URL'den. Program Microsoft imzalıdır ve her Windows kurulumunda vardır; Windows dosyalarına güvenen bir uygulama izin listesi onun çalışmasına izin verir.

Logda nasıl görünür

mshta.exe için bir süreç oluşturma olayı (Sysmon Event ID 1 ya da komut satırı denetimi açıkken Windows Security Event ID 4688). Komut satırı script'i ya da dosyayı taşır; üst süreç genellikle bir kabuk, bir Office uygulaması ya da bir tarayıcıdır. Kayıtlardaki başlangıçlardan biri:

ImageC:\Windows\System32\mshta.exe
CommandLinemshta vbscript:Execute("CreateObject(""Wscript.Shell"").Run ""powershell -noexit -command Get-Service sysmon"":close")
ParentImageC:\Windows\System32\cmd.exe
OriginalFileNameMSHTA.EXE
UserWORKSTATION5\wardog
IntegrityLevelHigh

Script'in ne yaptığı mshta.exe'nin alt süreçlerinde (burada PowerShell) ve uzak içerik için mshta.exe'den çıkan ağ bağlantılarında görünür.

Tespit

Challenge verisinde ölçüldü: kural 3 saldırı olayından 3 tanesini yakaladı, 2.224 normal olaydan 0 tanesiyle eşleşti.

Kuralı göster (önce challenge'ı deneyin)
title: mshta.exe started
id: 3b9d6f2e-8a41-4c7e-9f15-6d2a0c8e4b71
status: test
description: Detects mshta.exe, the Windows host for HTML Applications, also when the file was copied and renamed. Most environments have no legitimate use for it; where they do, add the known applications as filters.
references:
  - https://attack.mitre.org/techniques/T1218/005/
  - https://howdefend.com/defend/mshta-script-execution/
author: Bartu Kılıç
date: 2026-10-20
tags:
  - attack.defense-evasion
  - attack.t1218.005
logsource:
  product: windows
  category: process_creation
detection:
  selection_path:
    Image|endswith: '\mshta.exe'
  selection_original_name:
    OriginalFileName: 'MSHTA.EXE'
  condition: 1 of selection_*
falsepositives:
  - Legacy administration tools and installers built as HTML Applications
level: high

Kuralın kaçırdıkları

  • Aynı script'i çalıştıran başka bir program. VBScript ve JScript wscript.exe, cscript.exe ya da javascript: argümanıyla rundll32.exe üzerinden de çalışabilir. Kural tek bir programa bakar.
  • Script'in yaptıkları. Kural başlangıçta tetiklenir. Alt süreçler, ağ bağlantıları ve dosya yazmaları için ayrı kurallar gerekir.
  • HTML uygulaması kullanan ortamlar. Bazı eski yönetim araçları ve kurulum programları HTA'dır. Her biri filtrelenene kadar false positive'dir; filtre üst sürecin adına göre değil, tam yol ve komut satırına göre yazılmalıdır.

Önleme

  • Engelleyin. Ortamdaki hiçbir uygulama HTML uygulamasına ihtiyaç duymuyorsa mshta.exe'yi App Control for Business ya da AppLocker ile engelleyin. Microsoft'un App Control için önerdiği engelleme kuralları onu içerir.
  • Engelledikten sonra tespiti bırakmayın. Engellenen bir başlangıç App Control ya da AppLocker logunda yine bir olay üretir ve bu kaliteli bir alarmdır: meşru hiçbir şey bunu denememeli.

Pratik

Kuralı aynı veri üzerinde, hedeflerin hepsi etiketliyken kendiniz yazın.

Kaynaklar