Defansif Güvenlik

MITRE ATT&CK T1547.001 : Registry Run Keys / Startup Folder ile Kalıcılık Sağlama

Persistence (kalıcılık) saldırganların ve zararlı yazılımların hedef sistemlerde sağladıkları erişimin kesintiye uğraması durumunda (sistemin kapatılması, yeniden başlatılması, kullanıcının parola değiştirmesi vb. ) erişimlerini sürdürebilmek için kullandıkları taktiklerin genel adıdır. Hedef sisteme ilk erişimi sağlamanın zorlukları göz önünde bulundurulduğunda, elde edilen erişimi sürdürmek saldırganlar için önem arz etmektedir.

Burcu Demiralp |

30.09.2021

Persistence taktiği altında, işletim sistemine, saldırganın sahip olduğu erişim seviyesine göre farklılık gösteren çok sayıda teknik mevcut. Bu yazıda en yaygın tekniklerden biri olan, MITRE ATT&CK matrisinde T1547.001 ATT&CK ID’sine karşılık gelen Registry Run Keys/Startup Folder tekniğini ele alacağız.

 

Öncesinde Windows Registry kavramına göz atalım.

 

Registry; yazılım programları, donanım aygıtları, kullanıcı tercihleri ve işletim sistemi konfigürasyonlarına ilişkin bilgileri key-value çiftleri şeklinde tutan hiyerarşik bir veritabanıdır. Sistem genelindeki registry ayarları “C:\Windows\System32\Config” altında saklanır. Benzer şekilde her kullanıcı “C:\Windows\Users\{Username}\NTUser.dat” dizininde kendisine ait ayarların kopyasına sahiptir.

 

Starter Folder ile Kalıcılık Sağlama

 

  1. Anahtar (Key): Alt anahtarlar ve değerler içerebilen, klasörlere benzer konteyner.
  2. Değer (Value): Anahtarlarda isim/veri şeklinde saklanan veri çifti.
  3. HKEY_LOCAL_MACHINE(HKLM): Yerel bilgisayar için tüm konfigürasyon ve ayarları saklayan root key. Bu ayarlar boot esnasında yüklenir, tüm kullanıcılar için uygulanır.
  4. HKEY_CURRENT_USER (HKCU): Oturum açmış kullanıcının tercih ve ayarlarını saklayan root key. İlgili ayarlar kullanıcı oturum açtığında yüklenir.

 

“Registry Run Keys”, sistemin başlatılması esnasında, belirli ayarların ve konfigürasyonların otomatik olarak yüklenmesine olanak tanıyan anahtarlardır. Bununla birlikte,  çalıştırılabilir dosyaları işaret ederek, programların/DLL dosyalarının başlangıçta tetiklenmesine izin verir.

 

Startup dizini benzer şekilde sistemin başlatılması esnasında tetiklenecek dosyaları barındırır.

 

T1547.001 tekniği de, sistemin her başlatılmasında zararlı komutun/dosyanın çalıştırılması için registry anahtarlarının değiştirilmesini veya Startup dizinine zararlı dosyanın eklenmesini içermektedir.

 

Varsayılan olarak Startup dizinleri:

  • Oturum açmış kullanıcı:

C:\Users\[User Name]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  • Tüm kullanıcılar:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

 

Saldırganlar tarafından sık kullanılan registry anahtarları:

 

1. Run/Runonce Anahtarları:

Run ve Runonce Anahtarları, bir kullanıcı sistemde her oturum açtığında programın tetiklenmesini sağlar. Zararlı yazılımlar bu anahtarları düzenli olarak kullanır, kullanım kolaylığı sebebiyle en fazla kullanılan anahtarlardır.

 

Aşağıdaki anahtarlar, Windows sistemlerde varsayılan olarak oluşturulur:

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce

 

“HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx” anahtarı varsayılan olarak gelmez, ancak registry üzerinde oluşturulup kullanılabilir.

 

2. Startup Anahtarları:

İlgili anahtarlar, saldırganlar tarafından Startup klasörünün konumunu ayarlamak için kullanılır.

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

 

3. RunServices/RunServicesOnce Anahtarları:

Çoğu servisin boot esnasında çalışması gerekir. Bu anahtarlar arka planda çalışan servislerin otomatik olarak başlatılmasını kontrol eder. Saldırganlar, ilgili anahtarları kullanarak, zararlı dosyaları arka planda çalışan bir servis olarak çalıştırabilirler.

  • HKLM \Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • HKCU \Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  • HKLM \Software\Microsoft\Windows\CurrentVersion\RunServices
  • HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices

 

4. “Policies Run” Anahtarları:

Policy anahtarları başlangıçta tetiklenecek programları belirtmek için kullanılabilir.

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  • HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

 

5. Winlogon Anahtarları:

İlgili anahtarlar kullanıcı oturum açtığında gerçekleşen aktiviteleri kontrol eder.

  • HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\UserInit
    • UserInit anahtarı, Windows tarafından oturum açma dosyalarını başlatmak için kullanılır. Anahtar userinit.exe dosyasını işaret eder. Bu dosya zararlı dosya ile değiştirilebilir veya zararlı dosyayı işaret eden yeni değerler eklenebilir. Böylece zararlı yazılım sistem başlangıcında başlatılacaktır.
  • HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
    • Shell anahtarı yalnızca explorer.exe dosyasını işaret eder.

 

6. Boot Anahtarları:

İlgili anahtar, sistem başlamadan önce disklerin bütünlüğünün doğrulanması için autochk.exe veya autochk dosyalarına işaret eder. Anahtar, değer listesi kabul etmektedir, böylece zararlı yazılımlar kendilerini bu anahtara ekleyip, autochk ile birlikte sistemin çalışma süresi boyunca çalışabilmektedir.

  • HKLM\SYSTEM\ControlSet002\Control\Session Manager\BootExecute

 

Prosedür Örnekleri

 

Any.run sandbox ortamında herkese açık olarak paylaşılmış, T1547.001 tekniğini kullanan zararlı yazılımları aşağıdaki filtre ile sınıflandırabiliriz.

 

Starter Folder ile Kalıcılık Sağlama

 

Zararlı yazılımlardan bazılarının yaptığı değişikler ekran görüntülerindeki gibidir. Any.run üzerinde daha fazla zararlı yazılım için prosedür örnekleri bulabilirsiniz.

  • sessionbrokerdriverhostPerf.exe

 

Starter Folder ile Kalıcılık Sağlama
* Saldırgan hedef sistemde kalıcı olabilmek için, smss.exe, explorer.exe, IMEDICTUPDATE.exe zararlı yazılımlarını Run anahtarına ekleyerek, sistemde her oturum açılışında dosyaların çalıştırılmasını sağlıyor.

  • EC08AE513FDF6245BB4F45C71EB532A887FA4702CBA53.exe

 

Starter Folder ile Kalıcılık Sağlama
* Saldırgan hedef sistemde kalıcı olabilmek için için kullandığı zararlı komutu RunOnce anahtarının değer kısmına yazıyor. Böylece sistemde her oturum açılışında, advpack.dll dosyasındaki DelNodeRunDLL32 fonksiyonuna kendi .TMP uzantılı zararlı dosyasını parametre olarak verip çalıştırıyor.

 

Starter Folder ile Kalıcılık Sağlama
** Saldırgan hedef sistemde kalıcı olabilmek için, admin kullanıcısının Startup dizinine zararlı dosyayı ekliyor.  Böylece admin kullanıcısı sistemde her oturum açtığında zararlı dosya çalıştırılıyor.

 

Önleme & Tespit

 

Atak Windows sistem özelliklerini kötüye kullandığından doğrudan önleyici bir faaliyet bulunmuyor. Tespiti için yukarıda bahsedilen Run Keys başta olmak üzere registry aktiviteleri ve startup dizininde yapılan değişiklikler/eklemeler izlenmeli.

Burcu Demiralp |

30.09.2021

Yorumlar

BARIŞ OKTAY
27.11.2021 - 09:27

Çok güzel bir yazı olmuş ellerinize sağlık