CVE-2013-0074 — Microsoft Silverlight “Double Dereference” - Security Bez Tabu

CVE-2013-0074 — Microsoft Silverlight “Double Dereference”

TL;DR

Luka w Silverlight 5 (tzw. Double Dereference) umożliwia zdalne wykonanie kodu po odwiedzeniu strony z przygotowaną aplikacją Silverlight. W praktyce wpisuje się to w Drive‑by Compromise (T1189) i Exploitation for Client Execution (T1203). Naprawa: aktualizacja do 5.1.20125.0 lub — lepiej — usunięcie Silverlight (EOL 2021‑10‑12). Detekcja: procesy‑dzieci powłok uruchamiane przez iexplore.exe/firefox.exe po załadowaniu npctrl.dll, zdarzenia Sysmon (EID 1/7), detekcje Defendera.


Krótka definicja techniczna

CVE‑2013‑0074 to błąd nieprawidłowej walidacji wskaźników podczas renderowania obiektu HTML w Silverlight 5, który pozwala napastnikowi na RCE poprzez złośliwą aplikację Silverlight osadzoną na stronie WWW (w kontekście uprawnień aktualnego użytkownika).


Gdzie występuje / przykłady platform

  • Windows (klienci i serwery) z zainstalowanym Silverlight/ActiveX lub NPAPI pluginem (IE/Firefox historycznie).
  • macOS (Safari/Firefox – historycznie) z Silverlight 5 / Developer Runtime.
  • Przeglądarki: wsparcie dla Silverlight zostało wycofane (EOL 2021‑10‑12; Chrome od 2015, Firefox od 2017), co redukuje wektor, ale nie eliminuje ryzyka na hostach legacy.

Szczegółowy opis techniki (jak działa, cele, dlaczego skuteczna)

Atak wymaga nakłonienia użytkownika do odwiedzenia strony WWW zawierającej złośliwą aplikację Silverlight. Wtyczka ładuje npctrl.dll i komponenty Silverlight, po czym błąd double dereference w mechanizmie renderowania HTML umożliwia kontrolę przebiegu wykonywania i wykonanie kodu z uprawnieniami użytkownika. W 2013–2015 luka była chętnie wykorzystywana w exploit kitach (często łączona z innymi błędami Silverlight, np. do obejścia mitigacji).

Dlaczego skuteczna:

  • Łańcuch drive‑by: pojedyncza wizyta na stronie/baner malvertising.
  • Kontekst użytkownika (często lokalny admin w środowiskach legacy) zwiększa wpływ – instalacja oprogramowania, modyfikacja danych, tworzenie kont.
  • W tamtym okresie szeroka obecność Silverlight (np. w środowiskach korporacyjnych), mimo że obecnie produkt jest EOL.

Artefakty i logi

ŹródłoEID / TypPrzykładowy artefakt / poleCo patrzećCloudTrailK8s auditM365 ops
SysmonEID 1 – Process CreateParentImage=iexplore.exe/firefox.exeImage=cmd.exe,powershell.exe,wscript.exe,mshta.exe,rundll32.exePotencjalne wykonanie powłoki/LOLBins z przeglądarkin/dn/dn/d
SysmonEID 7 – Image LoadedProcess=iexplore.exe ładuje npctrl.dll/agcore.dllŁadowanie pluginu Silverlight w sesji ofiaryn/dn/dn/d
Windows DefenderEID 1116 (Operational)Threat Name=Exploit:MSIL/CVE-2013-0074 (przykładowo)Detekcja AV specyficzna dla próby eksploatacjin/dn/dn/d
Aplikacja (Application log)Event ID 1000/1001Faulting module=npctrl.dllAwaria wtyczki po nieudanym exploicien/dn/dn/d
FS/artefaktyC:\Program Files (x86)\Microsoft Silverlight\ (np. sllauncher.exe, npctrl.dll), oraz HKLM\SOFTWARE\Microsoft\Silverlight (klucz Version)Inwentaryzacja wersji, obecność komponentówn/dn/dn/d

Detekcja (praktyczne reguły)

Sigma (Sysmon, podejrzane dzieci przeglądarki po załadowaniu Silverlight)

title: Possible Silverlight Exploitation (CVE-2013-0074) - Browser Spawns LOLBins
id: d3f2a0a8-2c4a-4a2a-9b4b-7b7f7c74c007
status: experimental
description: Wykrywa podejrzane procesy potomne powłok/LOLBins tworzone przez przeglądarki, co może wskazywać na wykorzystanie luki w Silverlight.
author: Badacz CVE
logsource:
  product: windows
  service: sysmon
  definition: 'EventID 1 (Process Create)'
detection:
  selection_parent:
    ParentImage|endswith:
      - '\iexplore.exe'
      - '\firefox.exe'
      - '\chrome.exe'
      - '\plugin-container.exe'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\wscript.exe'
      - '\cscript.exe'
      - '\mshta.exe'
      - '\rundll32.exe'
  condition: selection_parent and selection_child
falsepositives:
  - Aktualizacje/wtyczki legacy uruchamiające instalatory (rzadkie)
level: high
tags:
  - attack.t1189
  - attack.t1203
  - cve.2013-0074

Splunk (SPL, Sysmon)

index=sysmon sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval parent=lower(parent_image), child=lower(process_image)
| search parent IN ("*\\iexplore.exe","*\\firefox.exe","*\\chrome.exe","*\\plugin-container.exe")
| search child IN ("*\\cmd.exe","*\\powershell.exe","*\\wscript.exe","*\\cscript.exe","*\\mshta.exe","*\\rundll32.exe")
| stats count min(_time) as first_seen max(_time) as last_seen by host, parent, child, process_command_line, user

KQL (Microsoft Defender XDR / MDE)

DeviceProcessEvents
| where InitiatingProcessFileName in~ ("iexplore.exe","firefox.exe","chrome.exe","plugin-container.exe")
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe")
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, FileName, FolderPath, ProcessCommandLine, InitiatingProcessCommandLine

CloudTrail query (AWS)

Nie dotyczy – atak jest kliencki. Jeśli jednak Windows‑logi są forwardowane do CloudWatch Logs, użyj Logs Insights do wyszukania sllauncher.exe, npctrl.dll lub wzorca z powyższych reguł.

Elastic / EQL

process where
  process.parent.name in ("iexplore.exe","firefox.exe","chrome.exe","plugin-container.exe") and
  process.name in ("cmd.exe","powershell.exe","wscript.exe","cscript.exe","mshta.exe","rundll32.exe")

Uwaga operacyjna: jeżeli logujesz Sysmon EID 7, możesz dodać korelację „ImageLoad npctrl.dll + proces‑dziecko przeglądarki w oknie kilku sekund”.


Heurystyki / korelacje

  • Korelacja fazy ładowania pluginu: ImageLoad(npctrl.dll) → w krótkim czasie dziecko przeglądarki będące LOLBin/skript hostem.
  • Exploit‑kit telemetry: wizyty z reklam/malvertising + wywołania do znanych domen EK; pomocne sygnatury IPS dla CVE‑2013‑0074.
  • AV/EDR: wykrycie Exploit:MSIL/CVE‑2013‑0074 i pokrewne sygnatury Defendera powiązać z sesją przeglądarki i artefaktami Silverlight.

False positives / tuning

  • Legitne procesy‑dzieci przeglądarki (instalatory pluginów, helpery) – dziś rzadkie.
  • Środowiska z własnymi aplikacjami Silverlight OOB (sllauncher.exe) – whitelistuj znane ścieżki i podpisy.
  • Ogranicz zakres EID 7 do procesów przeglądarek (filtrowanie Sysmon), by zbić szum.

Playbook reagowania (kroki + komendy)

  1. Identyfikacja i skoping
  • Inwentaryzuj hosty z Silverlight i wersję: Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Silverlight','HKLM:\SOFTWARE\WOW6432Node\Microsoft\Silverlight' -ErrorAction SilentlyContinue | Select-Object PSPath, Version Lub sprawdź wersję pliku: (Get-Item 'C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe').VersionInfo Wersja ≥ 5.1.20125.0 nie jest podatna (dla 2013 r.); rekomendowane całkowite usunięcie (EOL).
  1. Tymczasowe ograniczenia (legacy IE/Firefox)
  • Kill‑bit ActiveX (IE): Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{DFEAF541-F3E1-4C24-ACAC-99C30715084A}] "Compatibility Flags"=dword:00000400 (odwrócenie – usuń wpis).
  • Wyłączenie NPAPI wpisu Mozilli (historycznie): usuń klucz HKLM\SOFTWARE\MozillaPlugins\@Microsoft.com/NpCtrl,version=1.0.
  1. Usunięcie Silverlight (zalecane, EOL)
  • Cichy uninstall przez MSI (przykładowy GUID spotykany w praktyce): msiexec /x {89F4137D-6C26-4A84-BDB8-2E5A4BB71E00} /qn /norestart (Zalecane: pobrać właściwy GUID z kluczy ...CurrentVersion\Uninstall\ przed wykonaniem).
  1. Triage i dochodzenie
  • Przejrzyj Sysmon EID 1/7 w oknie czasowym alertu; wypunktuj procesy‑dzieci, DLL‑e pluginu i artefakty dyskowe.
  • Sprawdź log Defendera EID 1116 i artefakty kwarantanny.
  • Izoluj host, jeśli doszło do wykonania kodu; uruchom playbook Lateral Movement/Privilege Escalation.
  1. Remediacja i hardening
  • Upewnij się, że Silverlight jest odinstalowany w całej organizacji; w GPO/WDAC zablokuj sllauncher.exe i ActiveX CLSID.
  • Komunikacja do użytkowników nt. EOL i ryzyk.

Przykłady z kampanii / case studies

  • Exploit‑kity (np. 2014–2015) wykorzystywały CVE‑2013‑0074 w łańcuchach drive‑by; nierzadko łączone z innymi błędami Silverlight dla obejść (ROP).
  • W momencie publikacji biuletynu MS13‑022 brakowało doniesień in the wild, jednak szybko pojawiły się sigantury IPS i artefakty w IR.

Lab (bezpieczne testy) — przykładowe komendy

Wyłącznie w izolowanym labie. Celem jest weryfikacja detekcji, nie eksploatacji.

  1. Generowanie EID 7 (ImageLoad) i EID 1 (ProcessCreate):
    • Uruchom przeglądarkę IE na hoście labowym z zainstalowanym Silverlight (legacy).
    • Wejdź na wewnętrzną, nieszkodliwą stronę z aplikacją Silverlight (np. hello‑world firmy).
    • Równolegle obserwuj Microsoft-Windows-Sysmon/Operational dla ImageLoad npctrl.dll oraz ewentualnych procesów‑dzieci.
  2. Symulacja uruchomienia komponentu OOB: "C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" /? -> powstaje EID 1 do przetestowania pipeline (alert powinien zostać benign‑closed).
  3. Walidacja reguły Sigma lokalnie: wyeksportuj logi Sysmon do pliku i przetestuj regułę narzędziem sigmac/SilkETW (dowolny standardowy workflow).

Mapowania (Mitigations, Powiązane techniki)

Mitigations (ATT&CK Enterprise):

  • M1042 – Disable or Remove Feature or Program: odinstalowanie Silverlight / zablokowanie ActiveX/NPAPI.
  • M1051 – Update Software: jeśli utrzymujesz hosty legacy – minimum to 5.1.20125.0 (historycznie), ale preferowane całkowite usunięcie (EOL 2021).
  • M1040 – Behavior Prevention on Endpoint: EDR/Exploit Guard, blokady zachowań (np. powłoki potomne przeglądarki).

Powiązane techniki ATT&CK:

  • T1189 – Drive‑by Compromise (Initial Access)
  • T1203 – Exploitation for Client Execution (Execution)

Źródła / dalsza literatura

  • NVD: opis, CVSS, data modyfikacji wpisu. (NVD)
  • MS13‑022 / KB2814124: wersje narażone, ścieżki sprawdzenia wersji, workarounds (kill‑bit, NPAPI). (Microsoft Learn)
  • CVE.org: wpis CVE‑2013‑0074. (CVE)
  • Zscaler – Exploit kits & Silverlight: tło użycia w EK (CVE‑2013‑0074, bypassy). (Zscaler)
  • SANS ISC Diary (Black Tuesday 2013): kontekst biuletynów, wstępna dostępność exploitów. (SANS Internet Storm Center)
  • Broadcom/Symantec IPS sygnatury (CVE‑2013‑0074): wskaźniki sieciowe. (Broadcom)
  • Microsoft Defender – nazwy detekcji: Exploit:MSIL/CVE‑2013‑0074 / Win32. (Microsoft)
  • Silverlight EOL (Microsoft Lifecycle): koniec wsparcia 2021‑10‑12. (Microsoft Learn)
  • Sysmon – dokumentacja EID 1/7. (Microsoft Learn)

Checklisty dla SOC / CISO

SOC:

  • Włączone i zcentralizowane logi Sysmon EID 1/7 dla procesów przeglądarek.
  • Reguły: „browser → LOLBins” + korelacja z ImageLoad(npctrl.dll).
  • Monitoruj Defender EID 1116 i automatyczne case’y IR.
  • Blokady w EDR: uruchamianie powłok z przeglądarek, wstrzyknięcia, ROP.

CISO / SecEng:

  • Odinstaluj Silverlight w całej organizacji (EOL).
  • Jeśli absolutnie potrzebny – izolacja VDI i reguły AppControl/WDAC.
  • Polityki aktualizacji/whitelisting pluginów (zablokowane ActiveX/NPAPI).
  • Przegląd zgodności: hosty legacy, stacje Kiosk/OT z instalacją Silverlight.

Uwaga końcowa: Silverlight jest wycofany od 2021‑10‑12; najsilniejszą kontrolą jest pełne usunięcie komponentu i blokady pluginów. Pozostałe hosty traktować jako techniczne długi ryzyka i izolować.