Windows Everyone Share

Serkan Dündar
Turk Telekom Bulut Teknolojileri
2 min readDec 12, 2022

Windows sistemlerde kullanılan Everyone Share özelliği bir dosyaya veya dizine uzaktan erişim sağlayarak her şekilde okuma ve yazma yapabileceğiniz anlamına gelir. Bu size kolaylık sağladığı gibi güvenlik açığı riskide oluşturmasıda göz önünde bulundurulmalı. Son kullanıcı tarafından açılan Everyone Share özelliği ile önemli verileri herkesin kullanımına açmış olabilirsiniz. Buda verilerinizin güvenliğinin riski anlamına gelir. Burada kendi localinizde yada tüm sistemler üzerinde Everyone share açık olup olmadığını kontrol edecek Powershell kodu yardımıyla kontrol edebilirsiniz.

$OutputArray = @()  
try
{
$Shares = Get-WmiObject -Class Win32_LogicalShareSecuritySetting -ErrorAction Stop
}
catch
{
"Failed to Query WMI class. More details: $_"
}

foreach($Share in $Shares) {
$OutputObj = [PSCustomObject] @{
ComputerName=$(hostname).toupper();
ShareName = $Share.Name;
SharePath = $null
EveryOneInShare=$false
EveryOneInACL = $false
}
try
{
$Sharedetail = Get-WmiObject -Class Win32_Share -Filter "Name = `'$($OutputObj.sharename)`'" -ErrorAction Stop
$OutputObj.SharePath = $Sharedetail.Path
$acls = (Get-Acl $Sharedetail.path).Access
foreach($acl in $acls)
{
If($acl.IdentityReference.Value -eq "Everyone") { $OutputObj.EveryOneInACL=$true;break}
}
}
catch
{
"Failed to Query WMI class. More details: $_"
}



$OutputObj.ShareName = $Share.Name
$Permissions = $Share.GetSecurityDescriptor()
foreach($perm in $Permissions.Descriptor.DACL) {
if($Perm.Trustee.Name -eq "EveryOne" -and $Perm.AceType -eq 0) {
$OutputObj.EveryOneInShare = $true
$OutputArray +=$OutputObj
}
}
}
if($OutputArray.Count -gt 0) { $OutputArray|% {Write-Host "$($_.sharename)~$($_.sharepath)~$($_.Everyoneinshare)~$($_.everyoneinacl)"} }
else {"OK"}

Bu kod yardımı ile sisteminizde Everyone Share açık olup olmadığını kontrol edebilirsiniz.

Eğer açık olan dosya yok ise OK şeklinde dönüş alacaksınız. Eğer var ise var olan Everyone Share paylaşımları size çıktı olarak verecektir. Burada bu kodu birçok farklı şekillerde kullanarak Everyone Share açık olan yerleri bularak müdahale edebilirsiniz?

Örnek olarak:

1. HP SA ile sisteminizdeki tüm sunuculara gönderebilirsiniz.

2. HP OO ile gönderip otomasyon oluşturup. Belirli aralıklarla sistemleri kontrol edip mail gönderimi ile sistemleri düzenli kontrol edebilirsiniz.

3. SCCM ile sunuculara Script ile gönderebilirsiniz. Çıktısı ile sunucularınızı veya clientlarınızı kontrol edebilirsiniz.

4. SCCM üzerinden Compliance Check yardımı ile sunucularınınız Everyone share compliant durumunuzu analiz edebilirsiniz.

5. MS OO ile otomasyon oluşturup. Düzenli aralıklarla kontrol edebilir. Bunu Power Bı dashboard yaparak sistemlerinizi analiz edebilir yada mail yardımı ile analiz edebilirsiniz.

6. Bu gibi bir çok otomasyon ve yazılım yardımı ile sistemlerinizi Everyone Share için kontrol edebilirsiniz.

Umarım faydalı olmuştur.

--

--