CVE-2023-36884 Microsoft'un Office Belgeleri İle Kod Yürütme Açığı Nedir ?

a3b2jeo.png

logo.png


Microsoft'un Temmuz 2023 Salı Yaması güncellemeleri, yama yapılmadan kalan bir (veya daha fazla mı?) dahil olmak üzere aktif kullanım altındaki birkaç güvenlik açığını vurguladı. Saldırganların "özel hazırlanmış" Microsoft Office belgeleri aracılığıyla uzaktan kod yürütme elde etmek için yararlandıkları bir sıfır gün güvenlik açığı olan CVE-2023-36884 hakkında bilmeniz gerekenler bu konuda.

CVE-2023-36884 Nedir ?

Microsoft, CVE-2023-36884'ü temel CVSS değeri 8.3 olan bir Office ve Windows HTML uzaktan kod yürütme güvenlik açığı olarak tanımlar .

Şimdilik, şirketin danışma belgesi, Microsoft'un hala aktif olarak araştırdığını ve formalite icabı bir açıklamanın ötesinde pek bir şey sağlamadığını ima ediyor. Güvenlik açığından başarılı bir şekilde yararlanılmasının, bir saldırganın kurbanın bağlamında uzaktan kod yürütmesini sağlayabileceğini ve yalnızca kurbanı kandırarak özel hazırlanmış bir Microsoft Office belgesini açmasını gerektirdiğini belirtir.

Danışma belgesi ayrıca ilginç bir şekilde, "Microsoft bir dizi uzaktan kod yürütme güvenlik açığı raporlarını araştırıyor " güvenlik açığı uzmanı Will Dormann'ın "CVE-2023-36884 yalnızca adreslenecek bir güncelleme için bir yer tutucudur" teorisini ortaya atmasına neden olarak açılıyor. gelecekte bilinmeyen bir noktada yayınlanabilecek tek bir CVE yoluyla birden çok güvenlik açığı."

Danışma belgesinin kendisi ayrıntılardan yoksun olsa da, Microsoft'un onu nasıl keşfettiğine daha fazla ışık tutan bir blog gönderisine bağlantı veriyor.


CVE-2023-36884 Casusluk ve Fidye Yazılımı Nedir ?

Haziran ayında Microsoft , Microsoft'un Storm-0978 olarak izlediği bir tehdit aktörü tarafından başlatılan bir kimlik avı kampanyasını belirledi. Kampanya, Ukrayna Dünya Kongresi ile ilgili yemlerle Kuzey Amerika ve Avrupa'daki savunma ve hükümet kuruluşlarını hedef aldı. Kampanya kapsamında teslim edilen e-postalar, arka kapılar yüklemek için CVE-2023-36884'ü kötüye kullanan Word belgelerine bağlantılar içeriyordu.

Bu hedefler ve taviz sonrası faaliyetler casusluk saikleri öne sürse de Microsoft, bu kampanya yürütülürken Storm-0978'in aynı ilk yükleri kullanarak ilgisiz hedeflere ayrı fidye yazılımı saldırıları düzenlediğini de tespit ettiğini belirtiyor.

Microsoft'a göre, tehdit aktörünün fidye yazılımı etkinliği "doğası gereği büyük ölçüde fırsatçı ve casusluk odaklı hedeflerden tamamen ayrı".

Bu kampanyanın daha ayrıntılı bir teknik dökümü BlackBerry'den edinilebilir.

CVE-2023-36884 için bir yama var mı ?

Şu anda Hayır
Microsoft, bu güvenlik açığını hâlâ etkin bir şekilde araştırdığını ve bu işlemin tamamlanmasının ardından şirketin "müşterilerimizin korunmasına yardımcı olmak için uygun eylemi gerçekleştireceğini" öne sürüyor. , müşteri ihtiyaçlarına bağlı olarak."


Microsoft'a göre şu anda şirketlerin kendilerini korumalarının üç yolu var:

  1. Office için Microsoft Defender kullanan müşteriler, bu güvenlik açığından yararlanmaya çalışan eklerden korunur.
  2. Mevcut saldırı zincirlerinde, Tüm Office uygulamalarının alt işlemler oluşturmasını engelle Saldırı Yüzeyi Azaltma Kuralı'nın kullanılması, güvenlik açığından yararlanılmasını engelleyecektir.
  3. Bu korumalardan yararlanamayan kuruluşlar, bu kayıt defteri anahtarına veri 1. ile REG_DWORD türünde değerler olarak aşağıdaki uygulama adlarını ekleyebilir:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION
excel.exe
Grafik.exe
MSAccess.exe
MSPub.exe
PowerPoint.exe
Visio.exe
WinProj.exe
WinWord.exe
wordpad.exe


Not: Microsoft, bu kayıt defteri ayarlarının kötüye kullanımı azaltabileceği gibi, bu uygulamalarla ilgili belirli kullanım durumları için normal işlevselliği de etkileyebileceğine dair bir sorumluluk reddi beyanı sağlar. Bu nedenle, değişiklikleri geniş çapta dağıtmadan önce test etmek önemlidir.



PowerShell kullanarak CVE-2023-36884

Kayıt defteri değişikliklerini yapmayı düşünen üçüncü gruptakiler için Yazılım Ürün Mühendisimiz Kyle Bohlander, bu işlemi otomatikleştirecek aşağıdaki komut dosyasını oluşturdu. Bu komut dosyasını Ninja (veya tercih ettiğiniz RMM'niz ) ile kullanmak, hafifletmeyi uzaktan ve geniş ölçekte dağıtmanızı sağlar .


Not: Bu komut dosyası yalnızca NinjaOne kullanıcıları ile sınırlı değildir. Herkes tarafından kullanılabilir. Ancak Microsoft'un önerdiği gibi, bu düzeltme daha geniş dağıtımdan önce test makinelerinde dağıtılmalıdır. Her zamanki gibi, çalıştırmayı seçerseniz, risk size aittir.

Cihaz gereksinimleri: Windows 7 ve Windows Server 2008 sistemleri ve üzeri sürümlerde çalışır.

Geri almanız gerekirse: Kayıt defteri anahtarı ayarları -UNDO parametresiyle geri alınabilir veya -OfficeProducts parametresi kullanılarak belirli Office ürünlerine uygulanabilir.

Konumu Okuduğunuz için Teşekkür ederim Kolay gelsin

Kod:
<#
.SYNOPSIS
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products.
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.DESCRIPTION
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products.
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.EXAMPLE
    (No Parameters)
    
    Visio was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Visio.exe to 1
    Success!
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Wordpad was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Wordpad.exe to 1
    Success!
    Project was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinProj.exe to 1
    Success!
    PowerPoint was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\PowerPoint.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!
    Publisher was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MsPub.exe to 1
    Success!
    Graph was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Graph.exe to 1
    Success!
    Access was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MSAccess.exe to 1
    Success!

PARAMETER: -Undo
    Remove's the registry keys used for this fix (if they're set at all).
.EXAMPLE
    -Undo
    
    Visio was selected for remediation.
    Succesfully removed registry key!
    Word was selected for remediation.
    Succesfully removed registry key!
    Wordpad was selected for remediation.
    Succesfully removed registry key!
    Project was selected for remediation.
    Succesfully removed registry key!
    PowerPoint was selected for remediation.
    Succesfully removed registry key!
    Excel was selected for remediation.
    Succesfully removed registry key!
    Publisher was selected for remediation.
    Succesfully removed registry key!
    Graph was selected for remediation.
    Succesfully removed registry key!
    Access was selected for remediation.
    Succesfully removed registry key!

PARAMETER: -OfficeProducts "Excel,Word"
    Set's the registry key for only those products. Can be given an individual product or a comma seperated list. Can also be used in combination with the -Undo parameter Ex. "Publisher" or "Word,Excel,Access"
.EXAMPLE
    -OfficeProducts "Excel,Word"
    
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!

.OUTPUTS
    None
.NOTES
    General notes
#>
[CmdletBinding()]
param (
    [Parameter()]
    [String]$OfficeProducts = "All",
    [Parameter()]
    [Switch]$Undo
)

begin {

    # Test's if the script is running in an elevated fashion (required for HKLM edits)
    function Test-IsElevated {
        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
        $p = New-Object System.Security.Principal.WindowsPrincipal($id)
        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
    }

    # This is just to make setting regkey's easier
    function Set-RegKey {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = (Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "$Path\$Name changed from $CurrentValue to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "Set $Path\$Name to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
    }

    # All the microsoft office products with their corresponding dword value
    $RemediationValues = @{ "Excel" = "Excel.exe"; "Graph" = "Graph.exe"; "Access" = "MSAccess.exe"; "Publisher" = "MsPub.exe"; "PowerPoint" = "PowerPnt.exe"; "OldPowerPoint" = "PowerPoint.exe" ; "Visio" = "Visio.exe"; "Project" = "WinProj.exe"; "Word" = "WinWord.exe"; "Wordpad" = "Wordpad.exe" }
}
process {

    # Error out when not elevated
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }

    # If they have a smaller selection we'll want to filter our remediation list
    if ($OfficeProducts -notlike "All") {
        $OfficeProducts = $OfficeProducts.split(',') | ForEach-Object { $_.Trim() }
        $RemediationTargets = $RemediationValues.GetEnumerator() | ForEach-Object { $_ | Where-Object { $OfficeProducts -match $_.Key } }
    }
    else {
        $RemediationTargets = $RemediationValues.GetEnumerator()
    }

    # Path to all the registry keys
    $Path = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION"

    # We'll want to display an error if we don't have anything to do
    if ($RemediationTargets) {

        # For Each product we're targeting we'll set the regkey. The Set-RegKey function already checks if it was succesful and will display an error and exit if it fails
        $RemediationTargets | ForEach-Object {
            Write-Host "$($_.Name) was selected for remediation."
            if (-not $Undo) {
                Set-RegKey -Path $Path -Name $_.Value -Value 1
                Write-Host "Success!"
            }
            else {
                # If you only applied it to certain products this will error so instead we'll hide the errors and check afterwards if the registry key is there.
                Remove-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue | Out-Null
                if (Get-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue) {
                    Write-Error "[Error] Unable to undo registry key $($_.Value)!"
                    exit 1
                }
                else {
                    Write-Host "Succesfully removed registry key!"
                }
            }
        }

        Write-Warning "A reboot may be required."
        exit 0
    }
    else {
        Write-Host $RemediationTargets
        Write-Warning "No products were selected! The valid value's for -OfficeProducts is listed below you can also use a comma seperated list or simply put 'All'."
        $RemediationValues | Sort-Object Name | Format-Table | Out-String | Write-Host
        Write-Error "ERROR: Nothing to do!"
        exit 1
    }
}

Yararlandığım Kaynaklar :
1.Microsoft
2.Ninjaone Şirketi
3.G2 Yazılım Yabancı Şirketi

4.Mite CVE Yazılım Açığı Sitesi
a3b2jeo.png
 

01Kevin01

Katılımcı Üye
4 May 2022
428
224
a3b2jeo.png

logo.png


Microsoft'un Temmuz 2023 Salı Yaması güncellemeleri, yama yapılmadan kalan bir (veya daha fazla mı?) dahil olmak üzere aktif kullanım altındaki birkaç güvenlik açığını vurguladı. Saldırganların "özel hazırlanmış" Microsoft Office belgeleri aracılığıyla uzaktan kod yürütme elde etmek için yararlandıkları bir sıfır gün güvenlik açığı olan CVE-2023-36884 hakkında bilmeniz gerekenler bu konuda.

CVE-2023-36884 Nedir ?

Microsoft, CVE-2023-36884'ü temel CVSS değeri 8.3 olan bir Office ve Windows HTML uzaktan kod yürütme güvenlik açığı olarak tanımlar .

Şimdilik, şirketin danışma belgesi, Microsoft'un hala aktif olarak araştırdığını ve formalite icabı bir açıklamanın ötesinde pek bir şey sağlamadığını ima ediyor. Güvenlik açığından başarılı bir şekilde yararlanılmasının, bir saldırganın kurbanın bağlamında uzaktan kod yürütmesini sağlayabileceğini ve yalnızca kurbanı kandırarak özel hazırlanmış bir Microsoft Office belgesini açmasını gerektirdiğini belirtir.

Danışma belgesi ayrıca ilginç bir şekilde, "Microsoft bir dizi uzaktan kod yürütme güvenlik açığı raporlarını araştırıyor " güvenlik açığı uzmanı Will Dormann'ın "CVE-2023-36884 yalnızca adreslenecek bir güncelleme için bir yer tutucudur" teorisini ortaya atmasına neden olarak açılıyor. gelecekte bilinmeyen bir noktada yayınlanabilecek tek bir CVE yoluyla birden çok güvenlik açığı."

Danışma belgesinin kendisi ayrıntılardan yoksun olsa da, Microsoft'un onu nasıl keşfettiğine daha fazla ışık tutan bir blog gönderisine bağlantı veriyor.


CVE-2023-36884 Casusluk ve Fidye Yazılımı Nedir ?

Haziran ayında Microsoft , Microsoft'un Storm-0978 olarak izlediği bir tehdit aktörü tarafından başlatılan bir kimlik avı kampanyasını belirledi. Kampanya, Ukrayna Dünya Kongresi ile ilgili yemlerle Kuzey Amerika ve Avrupa'daki savunma ve hükümet kuruluşlarını hedef aldı. Kampanya kapsamında teslim edilen e-postalar, arka kapılar yüklemek için CVE-2023-36884'ü kötüye kullanan Word belgelerine bağlantılar içeriyordu.

Bu hedefler ve taviz sonrası faaliyetler casusluk saikleri öne sürse de Microsoft, bu kampanya yürütülürken Storm-0978'in aynı ilk yükleri kullanarak ilgisiz hedeflere ayrı fidye yazılımı saldırıları düzenlediğini de tespit ettiğini belirtiyor.

Microsoft'a göre, tehdit aktörünün fidye yazılımı etkinliği "doğası gereği büyük ölçüde fırsatçı ve casusluk odaklı hedeflerden tamamen ayrı".

Bu kampanyanın daha ayrıntılı bir teknik dökümü BlackBerry'den edinilebilir.

CVE-2023-36884 için bir yama var mı ?

Şu anda Hayır
Microsoft, bu güvenlik açığını hâlâ etkin bir şekilde araştırdığını ve bu işlemin tamamlanmasının ardından şirketin "müşterilerimizin korunmasına yardımcı olmak için uygun eylemi gerçekleştireceğini" öne sürüyor. , müşteri ihtiyaçlarına bağlı olarak."


Microsoft'a göre şu anda şirketlerin kendilerini korumalarının üç yolu var:

  1. Office için Microsoft Defender kullanan müşteriler, bu güvenlik açığından yararlanmaya çalışan eklerden korunur.
  2. Mevcut saldırı zincirlerinde, Tüm Office uygulamalarının alt işlemler oluşturmasını engelle Saldırı Yüzeyi Azaltma Kuralı'nın kullanılması, güvenlik açığından yararlanılmasını engelleyecektir.
  3. Bu korumalardan yararlanamayan kuruluşlar, bu kayıt defteri anahtarına veri 1. ile REG_DWORD türünde değerler olarak aşağıdaki uygulama adlarını ekleyebilir:
    Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION
excel.exe
Grafik.exe
MSAccess.exe
MSPub.exe
PowerPoint.exe
Visio.exe
WinProj.exe
WinWord.exe
wordpad.exe


Not: Microsoft, bu kayıt defteri ayarlarının kötüye kullanımı azaltabileceği gibi, bu uygulamalarla ilgili belirli kullanım durumları için normal işlevselliği de etkileyebileceğine dair bir sorumluluk reddi beyanı sağlar. Bu nedenle, değişiklikleri geniş çapta dağıtmadan önce test etmek önemlidir.



PowerShell kullanarak CVE-2023-36884

Kayıt defteri değişikliklerini yapmayı düşünen üçüncü gruptakiler için Yazılım Ürün Mühendisimiz Kyle Bohlander, bu işlemi otomatikleştirecek aşağıdaki komut dosyasını oluşturdu. Bu komut dosyasını Ninja (veya tercih ettiğiniz RMM'niz ) ile kullanmak, hafifletmeyi uzaktan ve geniş ölçekte dağıtmanızı sağlar .


Not: Bu komut dosyası yalnızca NinjaOne kullanıcıları ile sınırlı değildir. Herkes tarafından kullanılabilir. Ancak Microsoft'un önerdiği gibi, bu düzeltme daha geniş dağıtımdan önce test makinelerinde dağıtılmalıdır. Her zamanki gibi, çalıştırmayı seçerseniz, risk size aittir.

Cihaz gereksinimleri: Windows 7 ve Windows Server 2008 sistemleri ve üzeri sürümlerde çalışır.


Geri almanız gerekirse: Kayıt defteri anahtarı ayarları -UNDO parametresiyle geri alınabilir veya -OfficeProducts parametresi kullanılarak belirli Office ürünlerine uygulanabilir.

Konumu Okuduğunuz için Teşekkür ederim Kolay gelsin

Kod:
<#
.SYNOPSIS
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products.
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.DESCRIPTION
    This script will set the registry keys required to remediate CVE-2023-36884. Please note that these keys may effect regular functionality of Microsoft Office Products.
    These changes can be undone with the -Undo parameter or applied only to specific office products using the -OfficeProducts parameter.
.EXAMPLE
    (No Parameters)
   
    Visio was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Visio.exe to 1
    Success!
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Wordpad was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Wordpad.exe to 1
    Success!
    Project was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinProj.exe to 1
    Success!
    PowerPoint was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\PowerPoint.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!
    Publisher was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MsPub.exe to 1
    Success!
    Graph was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Graph.exe to 1
    Success!
    Access was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\MSAccess.exe to 1
    Success!

PARAMETER: -Undo
    Remove's the registry keys used for this fix (if they're set at all).
.EXAMPLE
    -Undo
   
    Visio was selected for remediation.
    Succesfully removed registry key!
    Word was selected for remediation.
    Succesfully removed registry key!
    Wordpad was selected for remediation.
    Succesfully removed registry key!
    Project was selected for remediation.
    Succesfully removed registry key!
    PowerPoint was selected for remediation.
    Succesfully removed registry key!
    Excel was selected for remediation.
    Succesfully removed registry key!
    Publisher was selected for remediation.
    Succesfully removed registry key!
    Graph was selected for remediation.
    Succesfully removed registry key!
    Access was selected for remediation.
    Succesfully removed registry key!

PARAMETER: -OfficeProducts "Excel,Word"
    Set's the registry key for only those products. Can be given an individual product or a comma seperated list. Can also be used in combination with the -Undo parameter Ex. "Publisher" or "Word,Excel,Access"
.EXAMPLE
    -OfficeProducts "Excel,Word"
   
    Word was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\WinWord.exe to 1
    Success!
    Excel was selected for remediation.
    Set Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION\Excel.exe to 1
    Success!

.OUTPUTS
    None
.NOTES
    General notes
#>
[CmdletBinding()]
param (
    [Parameter()]
    [String]$OfficeProducts = "All",
    [Parameter()]
    [Switch]$Undo
)

begin {

    # Test's if the script is running in an elevated fashion (required for HKLM edits)
    function Test-IsElevated {
        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
        $p = New-Object System.Security.Principal.WindowsPrincipal($id)
        $p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator)
    }

    # This is just to make setting regkey's easier
    function Set-RegKey {
        param (
            $Path,
            $Name,
            $Value,
            [ValidateSet("DWord", "QWord", "String", "ExpandedString", "Binary", "MultiString", "Unknown")]
            $PropertyType = "DWord"
        )
        if (-not $(Test-Path -Path $Path)) {
            # Check if path does not exist and create the path
            New-Item -Path $Path -Force | Out-Null
        }
        if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) {
            # Update property and print out what it was changed from and changed to
            $CurrentValue = (Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name
            try {
                Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "$Path\$Name changed from $CurrentValue to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
        else {
            # Create property with value
            try {
                New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false -ErrorAction Stop | Out-Null
            }
            catch {
                Write-Error "[Error] Unable to Set registry key for $Name please see below error!"
                Write-Error $_
                exit 1
            }
            Write-Host "Set $Path\$Name to $($(Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue).$Name)"
        }
    }

    # All the microsoft office products with their corresponding dword value
    $RemediationValues = @{ "Excel" = "Excel.exe"; "Graph" = "Graph.exe"; "Access" = "MSAccess.exe"; "Publisher" = "MsPub.exe"; "PowerPoint" = "PowerPnt.exe"; "OldPowerPoint" = "PowerPoint.exe" ; "Visio" = "Visio.exe"; "Project" = "WinProj.exe"; "Word" = "WinWord.exe"; "Wordpad" = "Wordpad.exe" }
}
process {

    # Error out when not elevated
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }

    # If they have a smaller selection we'll want to filter our remediation list
    if ($OfficeProducts -notlike "All") {
        $OfficeProducts = $OfficeProducts.split(',') | ForEach-Object { $_.Trim() }
        $RemediationTargets = $RemediationValues.GetEnumerator() | ForEach-Object { $_ | Where-Object { $OfficeProducts -match $_.Key } }
    }
    else {
        $RemediationTargets = $RemediationValues.GetEnumerator()
    }

    # Path to all the registry keys
    $Path = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BLOCK_CROSS_PROTOCOL_FILE_NAVIGATION"

    # We'll want to display an error if we don't have anything to do
    if ($RemediationTargets) {

        # For Each product we're targeting we'll set the regkey. The Set-RegKey function already checks if it was succesful and will display an error and exit if it fails
        $RemediationTargets | ForEach-Object {
            Write-Host "$($_.Name) was selected for remediation."
            if (-not $Undo) {
                Set-RegKey -Path $Path -Name $_.Value -Value 1
                Write-Host "Success!"
            }
            else {
                # If you only applied it to certain products this will error so instead we'll hide the errors and check afterwards if the registry key is there.
                Remove-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue | Out-Null
                if (Get-ItemProperty -Path $Path -Name $_.Value -ErrorAction SilentlyContinue) {
                    Write-Error "[Error] Unable to undo registry key $($_.Value)!"
                    exit 1
                }
                else {
                    Write-Host "Succesfully removed registry key!"
                }
            }
        }

        Write-Warning "A reboot may be required."
        exit 0
    }
    else {
        Write-Host $RemediationTargets
        Write-Warning "No products were selected! The valid value's for -OfficeProducts is listed below you can also use a comma seperated list or simply put 'All'."
        $RemediationValues | Sort-Object Name | Format-Table | Out-String | Write-Host
        Write-Error "ERROR: Nothing to do!"
        exit 1
    }
}

Yararlandığım Kaynaklar :
1.Microsoft
2.Ninjaone Şirketi
3.G2 Yazılım Yabancı Şirketi

4.Mite CVE Yazılım Açığı Sitesi
a3b2jeo.png
Efsane konu en son böyle konuları Kevin Mitnick hocamdan duyardık...
Elinize ve emeğinize sağlık

İyi Günler
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.