Translated ['src/generic-hacking/archive-extraction-path-traversal.md',

This commit is contained in:
Translator 2025-08-13 22:16:44 +00:00
parent 2701582576
commit 71baee96ad
3 changed files with 103 additions and 26 deletions

View File

@ -79,6 +79,7 @@
# 🧙‍♂️ Generic Hacking
- [Archive Extraction Path Traversal](generic-hacking/archive-extraction-path-traversal.md)
- [Brute Force - CheatSheet](generic-hacking/brute-force.md)
- [Esim Javacard Exploitation](generic-hacking/esim-javacard-exploitation.md)
- [Exfiltration](generic-hacking/exfiltration.md)

View File

@ -0,0 +1,68 @@
# Archive Extraction Path Traversal ("Zip-Slip" / WinRAR CVE-2025-8088)
{{#include ../banners/hacktricks-training.md}}
## Genel Bakış
Birçok arşiv formatı (ZIP, RAR, TAR, 7-ZIP, vb.) her bir girişin kendi **iç yolunu** taşımasına izin verir. Bir çıkarım aracı bu yolu körü körüne dikkate aldığında, `..` veya **mutlak bir yol** (örneğin `C:\Windows\System32\`) içeren bir dosya adı, kullanıcı tarafından seçilen dizinin dışına yazılacaktır. Bu tür bir zafiyet, *Zip-Slip* veya **arşiv çıkarım yolu geçişi** olarak yaygın olarak bilinir.
Sonuçlar, rastgele dosyaların üzerine yazmaktan, Windows *Başlangıç* klasörü gibi bir **oto çalıştırma** konumuna bir yük bırakılarak doğrudan **uzaktan kod yürütme (RCE)** elde etmeye kadar uzanır.
## Temel Sebep
1. Saldırgan, bir veya daha fazla dosya başlığının içerdiği bir arşiv oluşturur:
* Göreli geçiş dizileri (`..\..\..\Users\\victim\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\payload.exe`)
* Mutlak yollar (`C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\StartUp\\payload.exe`)
2. Mağdur, gömülü yolu temizlemek veya seçilen dizinin altına çıkarım yapmayı zorlamak yerine, gömülü yola güvenen savunmasız bir araçla arşivi çıkarır.
3. Dosya, saldırganın kontrolündeki bir konuma yazılır ve sistem veya kullanıcı o yolu tetiklediğinde çalıştırılır/yüklenir.
## Gerçek Dünya Örneği WinRAR ≤ 7.12 (CVE-2025-8088)
Windows için WinRAR ( `rar` / `unrar` CLI, DLL ve taşınabilir kaynak dahil) çıkarım sırasında dosya adlarını doğrulamada başarısız oldu. Kötü niyetli bir RAR arşivi, aşağıdaki gibi bir girişi içeren:
```text
..\..\..\Users\victim\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\payload.exe
```
**seçilen çıktı dizininin dışında** ve kullanıcının *Startup* klasörünün içinde sona erecektir. Windows, oturum açtıktan sonra orada bulunan her şeyi otomatik olarak çalıştırır ve *kalıcı* RCE sağlar.
### PoC Arşivi Oluşturma (Linux/Mac)
```bash
# Requires rar >= 6.x
mkdir -p "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup"
cp payload.exe "evil/../../../Users/Public/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
rar a -ep evil.rar evil/*
```
Seçenekler:
* `-ep` dosya yollarını tam olarak verildiği gibi sakla (önceki `./` kısmını **kaldırma**).
`evil.rar` dosyasını kurbanınıza ulaştırın ve onu savunmasız bir WinRAR sürümü ile çıkarmasını söyleyin.
### Doğada Gözlemlenen Sömürü
ESET, özelleştirilmiş arka kapıları dağıtmak ve fidye yazılımı operasyonlarını kolaylaştırmak için CVE-2025-8088'i kötüye kullanan RAR arşivleri ekleyen RomCom (Storm-0978/UNC2596) oltalama kampanyalarını bildirdi.
## Tespit İpuçları
* **Statik inceleme** Arşiv girişlerini listeleyin ve `../`, `..\\`, *mutlak yollar* (`C:`) veya kanonik olmayan UTF-8/UTF-16 kodlamalarını içeren herhangi bir ismi işaretleyin.
* **Sandbox çıkarımı** Sonuçta oluşan yolların dizin içinde kalmasını doğrulamak için *güvenli* bir çıkarıcı (örneğin, Pythonun `patool`, 7-Zip ≥ en son, `bsdtar`) kullanarak geçici bir dizine sıkıştırmayıın.
* **Uç Nokta izleme** WinRAR/7-Zip vb. tarafından bir arşiv açıldıktan kısa bir süre sonra `Startup`/`Run` konumlarına yazılan yeni çalıştırılabilir dosyalar için uyarı verin.
## Azaltma ve Güçlendirme
1. **Çıkarıcıyı güncelleyin** WinRAR 7.13, uygun yol sanitizasyonu uygular. Kullanıcılar, WinRAR'ın otomatik güncelleme mekanizması olmadığı için bunu manuel olarak indirmelidir.
2. Mümkünse arşivleri **“Yolları yok say”** seçeneği ile çıkarın (WinRAR: ıkar → "Yolları çıkarma"*) .
3. Güvenilmeyen arşivleri **bir sandbox** veya sanal makine içinde açın.
4. Uygulama beyaz listesi uygulayın ve kullanıcı yazma erişimini otomatik çalıştırma dizinleri ile sınırlayın.
## Ek Etkilenen / Tarihsel Durumlar
* 2018 Snyk tarafından birçok Java/Go/JS kütüphanesini etkileyen büyük *Zip-Slip* tavsiyesi.
* 2023 `-ao` birleştirmesi sırasında benzer geçiş için 7-Zip CVE-2023-4011.
* Yazma işleminden önce `PathCanonicalize` / `realpath` çağrısını yapmayan herhangi bir özel çıkarım mantığı.
## Referanslar
- [BleepingComputer WinRAR sıfır-gün açığı arşiv çıkarımında kötü amaçlı yazılım yerleştirmek için kullanıldı](https://www.bleepingcomputer.com/news/security/winrar-zero-day-flaw-exploited-by-romcom-hackers-in-phishing-attacks/)
- [WinRAR 7.13 Değişiklik Günlüğü](https://www.win-rar.com/singlenewsview.html?&L=0&tx_ttnews%5Btt_news%5D=283&cHash=a64b4a8f662d3639dec8d65f47bc93c5)
- [Snyk Zip Slip güvenlik açığı raporu](https://snyk.io/research/zip-slip-vulnerability)
{{#include ../banners/hacktricks-training.md}}

View File

@ -6,14 +6,14 @@
## WMIC
**Wmic**, **başlangıç**ta programları çalıştırmak için kullanılabilir. Başlangıçta çalışacak şekilde programlanmış olan ikili dosyaları görmek için:
**Wmic**, **başlangıçta** programları çalıştırmak için kullanılabilir. Başlangıçta çalışacak şekilde programlanmış olan ikili dosyaları görmek için:
```bash
wmic startup get caption,command 2>nul & ^
Get-CimInstance Win32_StartupCommand | select Name, command, Location, User | fl
```
## Planlanmış Görevler
## Zamanlanmış Görevler
**Görevler**, **belirli bir sıklıkla** çalışacak şekilde planlanabilir. Hangi ikili dosyaların çalışacak şekilde planlandığını görmek için:
**Görevler**, **belirli bir sıklıkla** çalışacak şekilde zamanlanabilir. Hangi ikili dosyaların çalışacak şekilde zamanlandığını görmek için:
```bash
schtasks /query /fo TABLE /nh | findstr /v /i "disable deshab"
schtasks /query /fo LIST 2>nul | findstr TaskName
@ -35,10 +35,18 @@ dir /b "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup" 2>nul
Get-ChildItem "C:\Users\All Users\Start Menu\Programs\Startup"
Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
```
> **FYI**: Arşiv çıkarma *path traversal* güvenlik açıkları (örneğin, WinRAR'da 7.13'ten önce kötüye kullanılan CVE-2025-8088) **dekompresyon sırasında bu Başlangıç klasörlerinin içine doğrudan yükler bırakmak için** kullanılabilir, bu da bir sonraki kullanıcı oturum açıldığında kod yürütülmesine neden olur. Bu tekniğe derinlemesine bir bakış için:
{{#ref}}
../../generic-hacking/archive-extraction-path-traversal.md
{{#endref}}
## Kayıt Defteri
> [!NOTE]
> [Buradan not](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): **Wow6432Node** kayıt defteri girişi, 64-bit bir Windows sürümü çalıştırdığınızı gösterir. İşletim sistemi, bu anahtarı 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 kullanır.
> [!TIP]
> [Buradan not](https://answers.microsoft.com/en-us/windows/forum/all/delete-registry-key/d425ae37-9dcc-4867-b49c-723dcd15147f): **Wow6432Node** kayıt defteri girişi, 64-bit bir Windows sürümü çalıştırdığınızı gösterir. İşletim sistemi, bu anahtarı 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 kullanır.
### Çalıştırmalar
@ -56,7 +64,7 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
- `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 defteri 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.
**Run** ve **RunOnce** olarak bilinen kayıt defteri anahtarları, her kullanıcı sisteme giriş yaptığında 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.
**Hizmet çalıştırmaları** (açılış sırasında hizmetlerin otomatik başlatılmasını kontrol edebilir):
@ -74,15 +82,15 @@ Get-ChildItem "C:\Users\$env:USERNAME\Start Menu\Programs\Startup"
- `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 defteri anahtarları otomatik olarak oluşturulmaz. Bu anahtarlardaki girişler ya doğrudan programları başlatabilir ya da bunları bağımlılıklar olarak belirtebilir. Örneğin, bir DLL dosyasını oturum açıldığında yüklemek için, **RunOnceEx** kayıt defteri 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 defteri girişi ekleyerek gösterilmektedir:
Windows Vista ve sonraki sürümlerde, **Run** ve **RunOnce** kayıt defteri 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 defteri 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 defteri girişi ekleyerek gösterilmektedir:
```
reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\0001\\Depend /v 1 /d "C:\\temp\\evil.dll"
```
> [!NOTE]
> **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.
> [!TIP]
> **Exploit 1**: Eğer **HKLM** içindeki belirtilen kayıt defterlerinden herhangi birine yazabiliyorsanız, farklı bir kullanıcı oturum açtığında ayrıcalıkları artırabilirsiniz.
> [!NOTE]
> **Exploit 2**: Eğer **HKLM** içindeki herhangi bir kayıt defterinde 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.
> [!TIP]
> **Exploit 2**: Eğer **HKLM** içindeki herhangi bir kayıt defterinde belirtilen ikili dosyalardan herhangi 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.
```bash
#CMD
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
@ -145,10 +153,10 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Wow6432Node\Microsoft\Windows\Ru
- `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.
**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ürecinden sonra başlamasını sağlayacağı anlamına gelir; bu da programların otomatik olarak çalıştırılmasını planlamak için basit bir yöntemdir.
> [!NOTE]
> Eğer **HKLM** altında herhangi bir \[User] Shell Folder'ı 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 bu arka kapının çalıştırılmasını sağlayarak ayrıcalıkları artırabilirsiniz.
> [!TIP]
> Eğer **HKLM** altındaki herhangi bir \[User] Shell Folder'ı geçersiz kılabiliyorsanız, bunu kontrol ettiğiniz bir klasöre yönlendirebilir ve bir arka kapı yerleştirerek, kullanıcı sisteme giriş yaptığında her seferinde çalıştırılmasını sağlayabilirsiniz.
```bash
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common Startup"
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"
@ -164,15 +172,15 @@ Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
`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 shell'i olan **explorer.exe**'ye işaret etmek için tasarlanmıştır.
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.
```bash
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Userinit"
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "Shell"
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Userinit"
Get-ItemProperty -Path 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name "Shell"
```
> [!NOTE]
> Eğer kayıt defteri değerini veya ikili dosyayı yazabilirseniz, yetkileri artırabileceksiniz.
> [!TIP]
> Eğer kayıt defteri değerini veya ikili dosyayı yazabilirseniz, ayrıcalıkları artırabileceksiniz.
### Politika Ayarları
@ -190,18 +198,18 @@ Get-ItemProperty -Path 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion
### Güvenli Mod Komut İstemcisini Değiştirme
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 tuşuna basarak) `cmd.exe`'nin kullanıldığı anlamına gelir. Ancak, bilgisayarınızı F8'e basmadan ve manuel olarak seçmeden bu modda otomatik olarak başlatacak şekilde ayarlamak mümkündür.
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 tuşuna basarak) `cmd.exe`'nin kullanıldığı anlamına gelir. Ancak, bilgisayarınızı bu modda 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 başlatma için bir önyükleme seçeneği oluşturma adımları:
"Komut İstemcisi ile Güvenli Mod"da otomatik olarak başlatmak için bir önyükleme seçeneği oluşturma adımları:
1. `boot.ini` dosyasının özelliklerini yalnızca okunur, sistem ve gizli bayrakları kaldıracak şekilde değiştirin: `attrib c:\boot.ini -r -s -h`
1. `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`
2. `boot.ini` dosyasını düzenlemek için açın.
3. 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)`
4. `boot.ini` dosyasındaki değişiklikleri kaydedin.
5. 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 Modda başlatıldığında bir arka kapı olabilir.
- **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:
@ -224,12 +232,12 @@ Bu anahtarlar içinde, her biri belirli bir bileşene karşılık gelen çeşitl
- **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.
- `1`, komutun her kullanıcı için bir kez yürütüleceğini belirtir; 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 anahtara belirli bir **`StubPath`** ile yazmak veya değiştirmek, yetkisiz komut yürütülmesine yol açabilir ve bu da ayrıcalık yükseltmesine neden olabilir.
- **`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 dosyanın değiştirilmesi 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:
@ -241,9 +249,9 @@ reg query "HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
```
### Tarayıcı Yardımcı Nesneleri
### Tarayıcı Yardımcı Nesneleri (BHO'lar) Genel Bakış
### Tarayıcı Yardımcı Nesneleri (BHO'lar) Hakkında Genel Bilgi
Tarayıcı Yardımcı Nesneleri (BHO'lar), Microsoft'un Internet Explorer'ına ek ö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.
Tarayıcı Yardımcı Nesneleri (BHO'lar), 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 onların Windows Gezgini örnekleriyle yüklenmesini ö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 desteklenmezler.
@ -252,7 +260,7 @@ Bir sistemde kayıtlı BHO'ları keşfetmek için aşağıdaki kayıt defteri an
- `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 **CLSID** ile temsil edilir. Her CLSID hakkında ayrıntılı bilgi `HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}` altında bulunabilir.
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:
```bash