Privilege Escalation with Autoruns
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty ipucu: Intigriti'ye kaydolun, hackerlar tarafından, hackerlar için oluşturulmuş bir premium bug bounty platformu! Bugün https://go.intigriti.com/hacktricks adresine katılın ve $100,000'a kadar ödüller kazanmaya başlayın!
Wmic, başlangıçta programları çalıştırmak için kullanılabilir. Hangi ikili dosyaların başlangıçta çalışacak şekilde programlandığını görmek için:
Görevler, belirli bir sıklıkla çalışacak şekilde planlanabilir. Hangi ikili dosyaların çalışacak şekilde planlandığını görmek için:
Başlangıç klasörlerinde bulunan tüm ikili dosyalar, başlangıçta çalıştırılacaktır. Yaygın başlangıç klasörleri aşağıda listelenmiştir, ancak başlangıç klasörü kayıt defterinde belirtilmiştir. Nerede olduğunu öğrenmek için bunu okuyun.
Buradan not: Wow6432Node kayıt girişi, 64-bit bir Windows sürümü çalıştırdığınızı gösterir. İşletim sistemi, 64-bit Windows sürümlerinde çalışan 32-bit uygulamalar için HKEY_LOCAL_MACHINE\SOFTWARE'ün ayrı bir görünümünü göstermek için bu anahtarı kullanır.
Yaygın olarak bilinen AutoRun kayıt defteri:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Run ve RunOnce olarak bilinen kayıt anahtarları, bir kullanıcının sisteme her girişinde programları otomatik olarak çalıştırmak için tasarlanmıştır. Bir anahtarın veri değeri olarak atanan komut satırı 260 karakter veya daha az ile sınırlıdır.
Servis çalıştırmaları (açılış sırasında hizmetlerin otomatik başlatılmasını kontrol edebilir):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
Windows Vista ve sonraki sürümlerde, Run ve RunOnce kayıt anahtarları otomatik olarak oluşturulmaz. Bu anahtarlardaki girişler ya doğrudan programları başlatabilir ya da bunları bağımlılık olarak belirtebilir. Örneğin, bir DLL dosyasını oturum açıldığında yüklemek için, RunOnceEx kayıt anahtarını "Depend" anahtarı ile birlikte kullanabilirsiniz. Bu, sistem başlangıcında "C:\temp\evil.dll" dosyasını çalıştırmak için bir kayıt girişi ekleyerek gösterilmektedir:
Exploit 1: Eğer HKLM içindeki belirtilen kayıt defterlerinden birine yazabiliyorsanız, farklı bir kullanıcı oturum açtığında ayrıcalıkları artırabilirsiniz.
Exploit 2: Eğer HKLM içindeki kayıt defterlerinden herhangi birinde belirtilen ikili dosyalardan birini üzerine yazabiliyorsanız, farklı bir kullanıcı oturum açtığında o ikili dosyayı bir arka kapı ile değiştirebilir ve ayrıcalıkları artırabilirsiniz.
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
Başlangıç klasörüne yerleştirilen kısayollar, kullanıcı oturumu açıldığında veya sistem yeniden başlatıldığında hizmetlerin veya uygulamaların otomatik olarak başlatılmasını tetikler. Başlangıç klasörünün konumu, hem Yerel Makine hem de Geçerli Kullanıcı kapsamları için kayıt defterinde tanımlanmıştır. Bu, belirtilen Başlangıç konumlarına eklenen her kısayolun, bağlantılı hizmetin veya programın oturum açma veya yeniden başlatma sürecinin ardından başlatılmasını sağlayacağı anlamına gelir; bu da programların otomatik olarak çalıştırılmasını planlamak için basit bir yöntemdir.
Eğer HKLM altındaki herhangi bir [Kullanıcı] Shell Klasörünü geçersiz kılabiliyorsanız, bunu kontrol ettiğiniz bir klasöre yönlendirebilir ve bir arka kapı yerleştirerek, bir kullanıcı sisteme giriş yaptığında her zaman çalıştırılmasını sağlayabilirsiniz.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Genellikle, Userinit anahtarı userinit.exe olarak ayarlanmıştır. Ancak, bu anahtar değiştirilirse, belirtilen çalıştırılabilir dosya kullanıcı oturumu açıldığında Winlogon tarafından da başlatılacaktır. Benzer şekilde, Shell anahtarı Windows'un varsayılan kabuğu olan explorer.exe'ye işaret etmek için tasarlanmıştır.
Eğer kayıt defteri değerini veya ikili dosyayı yazabilirseniz, yetkileri artırabileceksiniz.
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Çalıştır anahtarını kontrol edin.
Windows Kayıt Defteri'nde HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
altında varsayılan olarak AlternateShell
değeri cmd.exe
olarak ayarlanmıştır. Bu, başlangıçta "Komut İstemcisi ile Güvenli Mod" seçeneğini seçtiğinizde (F8'e basarak) cmd.exe
'nin kullanıldığı anlamına gelir. Ancak, bilgisayarınızı bu moda otomatik olarak başlatacak şekilde ayarlamak mümkündür, böylece F8'e basıp manuel olarak seçmenize gerek kalmaz.
"Komut İstemcisi ile Güvenli Mod"da otomatik olarak başlatmak için bir önyükleme seçeneği oluşturma adımları:
boot.ini
dosyasının özelliklerini, salt okunur, sistem ve gizli bayrakları kaldıracak şekilde değiştirin: attrib c:\boot.ini -r -s -h
boot.ini
dosyasını düzenlemek için açın.
Aşağıdaki gibi bir satır ekleyin: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
boot.ini
dosyasındaki değişiklikleri kaydedin.
Orijinal dosya özelliklerini yeniden uygulayın: attrib c:\boot.ini +r +s +h
Exploit 1: AlternateShell kayıt defteri anahtarını değiştirmek, yetkisiz erişim için potansiyel olarak özel komut kabuğu kurulumu sağlar.
Exploit 2 (PATH Yazma İzinleri): Sistem PATH değişkeninin herhangi bir bölümünde yazma izinlerine sahip olmak, özellikle C:\Windows\system32
'den önce, özel bir cmd.exe
çalıştırmanıza olanak tanır; bu, sistem Güvenli Mod'da başlatıldığında bir arka kapı olabilir.
Exploit 3 (PATH ve boot.ini Yazma İzinleri): boot.ini
'ye yazma erişimi, otomatik Güvenli Mod başlatmayı sağlar ve bir sonraki yeniden başlatmada yetkisiz erişimi kolaylaştırır.
Mevcut AlternateShell ayarını kontrol etmek için bu komutları kullanın:
Active Setup, Windows'ta masaüstü ortamı tamamen yüklenmeden önce başlatılan bir özelliktir. Kullanıcı oturumu devam etmeden önce tamamlanması gereken belirli komutların yürütülmesine öncelik verir. Bu işlem, Run veya RunOnce kayıt defteri bölümlerindeki diğer başlangıç girişleri tetiklenmeden önce bile gerçekleşir.
Active Setup, aşağıdaki kayıt defteri anahtarları aracılığıyla yönetilmektedir:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
Bu anahtarlar içinde, her biri belirli bir bileşene karşılık gelen çeşitli alt anahtarlar bulunmaktadır. Özellikle ilgi çekici anahtar değerleri şunlardır:
IsInstalled:
0
, bileşenin komutunun yürütülmeyeceğini gösterir.
1
, komutun her kullanıcı için bir kez yürütüleceği anlamına gelir; bu, IsInstalled
değeri eksikse varsayılan davranıştır.
StubPath: Active Setup tarafından yürütülecek komutu tanımlar. notepad
gibi geçerli bir komut satırı olabilir.
Güvenlik İçgörüleri:
IsInstalled
değeri "1"
olarak ayarlanmış bir anahtarı değiştirmek veya yazmak, yetkisiz komut yürütülmesine yol açabilir ve bu da ayrıcalık yükseltmesine neden olabilir.
Herhangi bir StubPath
değerinde referans verilen ikili dosyayı değiştirmek de yeterli izinler varsa ayrıcalık yükseltmesine ulaşabilir.
Active Setup bileşenleri arasındaki StubPath
yapılandırmalarını incelemek için bu komutlar kullanılabilir:
Tarayıcı Yardımcı Nesneleri (BHO), Microsoft'un Internet Explorer'ına ekstra özellikler ekleyen DLL modülleridir. Her başlatmada Internet Explorer ve Windows Gezgini'ne yüklenirler. Ancak, NoExplorer anahtarını 1 olarak ayarlayarak yürütmeleri engellenebilir, bu da Windows Gezgini örnekleriyle yüklenmelerini önler.
BHO'lar, Windows 10 ile Internet Explorer 11 aracılığıyla uyumludur ancak daha yeni Windows sürümlerinde varsayılan tarayıcı olan Microsoft Edge'de desteklenmez.
Bir sistemde kayıtlı BHO'ları keşfetmek için aşağıdaki kayıt defteri anahtarlarını inceleyebilirsiniz:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Her BHO, kayıt defterinde benzersiz bir tanımlayıcı olarak hizmet eden CLSID ile temsil edilir. Her CLSID hakkında ayrıntılı bilgi, HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
altında bulunabilir.
Kayıt defterinde BHO'ları sorgulamak için bu komutlar kullanılabilir:
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Not edin ki, kayıt defteri her bir dll için 1 yeni kayıt içerecek ve bu CLSID ile temsil edilecektir. CLSID bilgilerini HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
içinde bulabilirsiniz.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Not edin ki, autorun bulabileceğiniz tüm siteler zaten winpeas.exe tarafından arama yapılmıştır. Ancak, otomatik olarak çalıştırılan dosyaların daha kapsamlı bir listesi için systinternals'tan autoruns kullanabilirsiniz:
Kayıt defterlerinde olduğu gibi daha fazla Autorun bulmak için https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
Hata ödülü ipucu: hackerlar tarafından, hackerlar için oluşturulmuş premium Intigriti hata ödülü platformuna kaydolun! Bugün https://go.intigriti.com/hacktricks adresine katılın ve $100,000'a kadar ödüller kazanmaya başlayın!
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)