Belirli uygulamaların yönetici olarak çalıştırılmasını önleme


13

Arka fon

Çoğu kurulum araç seti kurulumdan sonra harici programları otomatik veya başka şekilde başlatma yeteneğine sahiptir. Bu genellikle yükleyicide "Benioku göster" veya "Programı başlat" gibi seçenekler aracılığıyla görünür.

Konu

Sorun şu ki, bu yükleyicilerin çoğu kötü kodlanmış ve izinleri uygun şekilde düşürmüyor. Örneğin, uygulamayı otomatik olarak başlatmak veya uygulamanın ana sayfasını tarayıcıda açmak, genellikle uygulamayı veya tarayıcıyı yükleyicinin Yönetici ayrıcalıklarıyla veya "Yüksek" UAC bütünlük düzeyiyle başlatır!

Bunun, yüklü uygulamayı veya artık yükseltilmiş izinlerle çalışan bir web sayfasını (ve muhtemelen tarayıcı eklentilerini) açarak güvenlik ihlallerini açma potansiyeli vardır.

(Bu nedenle, yazılımı yüklerken asla otomatik başlatma seçeneklerini seçmemenizi şiddetle tavsiye ediyorum.)

Soru

Bir yolu var mı önleyecek (örneğin, bir web tarayıcısı gibi) bazı uygulamalar şimdiye yani İdari ayrıcalıkları, süreç adına dayanarak otomatik açılan ayrıcalığı ile başlatılmaktadır?

windows  uac 

2
Bu soruyu gerçekten seviyorum. Iexplore.exe, firefox.exe, chrome.exe, vb. İçin yolları otomatik olarak bırakan bir şey görmek isterim
Patrick Seymour

1
Yumurtlama programı yönetici haklarına sahipse, ne bulursanız onu geri getirip yine de çalıştıramaz mı? :)
Ƭᴇcʜιᴇ007

1
Tahmin edebilirim, ama bir yükleyici "Hey, ana sayfamıza yönetici olarak göz atacaksınız dostum!" ve bu izinleri sürekli olarak uyguladı. Bu tür bir şirketten yazılım satın alacağımı sanmıyorum, ancak bu konuda bir şeyler öğrenebilirdim.
Patrick Seymour

Yanıtlar:


2

Prensip olarak "RUNAS" cevabına katılıyorum.

Bana öyle geliyor ki, yönetici olarak çalışıyorlarsa alt süreç örneklerinin otomatik olarak kısıtlanması.

Birkaç yaklaşım var. Ancak, zorlayıcıdırlar ve zorlayıcıdırlar ve tepegöz yöneticisi için değildirler, çünkü genel giderler sinir bozucudur. Yine de işi yapacaklar.

Daha fazlası istenmedikçe yalnızca bir Yaklaşım gösteriliyor :

Kısıtlamak istediğiniz her uygulama için:

right click the executable and go to **PROPERTIES**
go to the **SECURITY** tab
click **ADVANCED** at the bottom
click **ADD** at the bottom
type **ADMINISTRATORS** for the name. if you have a domain then adjust appropriately
press **OK** to get the custom settings for the administrator's group
check the **DENY** checkbox next to "TRAVERSE FOLDER/ EXECUTE FILE" permission (2nd on the list)
hit OK and so-on until you've closed the properties entry for that file.

Şimdi, yöneticiler grubunun üyeleri bu dosyayı çalıştıramaz. Geri dönebilirler ve onaylamak için izinleri değiştirebilirler, böylece çalıştırabilirler, ancak bilerek bunu yapmak zorundalar.

Ayrıca, bir yükleyici sırasında bu durumdan endişe duyduğunuzdan, aynı işlemi (etkin olarak) yönetici olarak da çalıştığı için SİSTEM "kullanıcısı" için de aynı işlemi yapmak istersiniz , çünkü bu hesap bazı kurulumlar sırasında kullanılabilir ( Windows "ADMIN" hesap kimlik bilgileri bir SYSTEM kimlik bilgileri belirteci kazanmak için kullanılabilir ... ancak bu, bu sorunun hedeflemesinin ötesinde bir yöntemdir).

Windows 7'de bunu yapmanın bazı resimleri:

resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin


1

Dropmyrights veya psexec ile daha düşük hak seviyesine ulaşabilmelisiniz.

Zor bir bölüm, bir yükleyici uygulamanın yeni bir örneğini oluşturduğunda otomatik olarak gerçekleşiyor gibi görünüyor.

Bunun için, en azından ilgili tüm dosya türleri ve URL'ler için dosya ilişkilendirmelerini değiştirmelisiniz, örneğin varolan komutunuzu psexec komutuyla önceden ekleyerek.

Bu, yükleyici çalıştırılacak yürütülebilir dosyayı belirtmek yerine dosyayı / url'yi ilişkili uygulama ile açmaya çalıştığı sürece çalışır. Yürütülebilir yol açıkça belirtilirse, standart yürütülebilir dosyayı istediğiniz komutu çalıştıran bir shim yürütülebilir dosyası ile değiştirmeniz gerekir sanırım.


1

Burada kaçırılan bir şey, Internet Explorer ve Windows Gezgini'nin izinleri yükseltilememesidir (bir kayıt defteri kesmek yapmazsanız). Firefox, Chrome vb. Hakkında bilmiyorum, ancak Internet Explorer'ı yönetici olarak çalıştırmayı denerseniz, kimlik bilgilerinizi memnuniyetle kabul eder, ancak aslında izinleri yükseltmez. Bu, Windows Vista ve sonraki sürümlerin bir güvenlik özelliğidir. Bunun yanı sıra, UAC'nin etkili olmasının tek yolu (siz kapatmadıkça) yerleşik yönetici hesabında oturum açmış olmanızdır. Yükseltilmiş izinlerle bir şey yüklenmiş olması, yükleyicinin programa yükseltilmiş izinler verebileceği anlamına gelmez. İzinler, programın çalıştırıldığı hesap tarafından belirlenir. Siz bilmeden bir programın yükseltilmiş izinlerle çalıştırılabilmesinin tek yolu,


1
RUNAS /trustlevel:<TrustLevel> program

/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.
/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.

This requires an elevated command prompt.

Açıklama / Adım Adım

  1. Başlat menüsünü açın ve arama çubuğuna cmd yazın
  2. Komut istemine sağ tıklayın ve yönetici olarak çalıştır'ı seçin:

    RUNAS /showtrustlevels
    
  3. Kullanmak istediğiniz güven düzeyinin nerede Xolduğu, uygulamanızın çalışması için uygun bir güven düzeyi seçin ve şunu yazın:

    RUNAS /trustlevel:X "Application target"
    

Bunun işe yarayacağını sanmıyorum. Sonuçta elde edilen tarayıcı penceresinin düşük haklarla çalışmasını sağlamak için RunAs'ı kullanmak için yükleyiciyi (RunAs aracılığıyla) düşük haklarla çalıştırmanız gerekir. Bunu yapmanız büyük olasılıkla yükleyicinin çalışmamasına neden olacaktır.
Patrick Seymour

bunu yapmak istediyseniz, tarayıcınızın ortam değişkenini RUNAS / trustlevel komutunu içerecek şekilde değiştirirseniz, tarayıcı her zaman seçili güven düzeyinde başlatılır, tarayıcıyı bir tarayıcıda çalıştırmanız gerekmez yükseltilmiş durum ... düşünmeye değer
David McGowan

Ortam değişkenini değiştirmek biraz görevdir, gerçek çalıştırılabilir dosyaya basit bir çağrı içeren orijinali RUNAS komutuyla değiştirmek için basit bir exe oluşturmayı gerektirecektir. Dediğim gibi, biraz görev sadece tarayıcı penceresinin başlattığı adresi kopyalayabilir ve daha sonra tarayıcıyı kapatıp yeniden başlatabilir ve adresi yazabilirsiniz
David McGowan

0

Farklı çözümlere baktım ve zaten uygulama manifestleri veya appcompat bayraklarının işe yaramayacağını söyleyebilirim (evet bu gerçek bir cevap değil ama yine de bunu paylaşmak istedim;))

Aradığınız şeye yakın olabilecek bütünlük düzeyi , dosya sistemi (ACL) içinde ayarlanabilir ve işlemin sahip olduğu belirteç üzerinde bir etkisi vardır.

Bu makalede , bir exe her zaman "düşük bütünlük düzeyinde" çalıştırmak nasıl açıklar

başka bir yaklaşım, bir virüs tarayıcı veya uygulama güvenlik duvarının kullanacağı gerçek zamanlı bir işlem monitörü gibi üçüncü taraf bir araç olurdu, ancak bu şekilde yapılandırılabilecek herhangi bir şey bilmiyorum.


2
Cevabımı görmezden gelebilirsin, ben sadece bu yöntemi denedim ve işe yaramadı :(
weberik

0

AppLocker'ı kullanabilirsiniz.

Bunun Windows 7 Enterprise, Ultimate ve Server 2K8 ve üzeri sürümlerde mevcut olduğuna inanıyorum. Windows 8 hakkında emin değilim ama aynı olduğunu varsayacağız (Enterprise ve Ultimate).

AppLocker'ı grup ilkesine giderek ayarlayabilirsiniz:

Bilgisayar Yapılandırması -> Windows Ayarları -> Güvenlik Ayarları -> Uygulama Kontrol İlkeleri -> AppLocker -> Yürütülebilir Kurallar.

Sağ tıklayın ve "Yeni bir kural oluşturun ..."

Burada belirli yürütülebilir dosyaların seçili kullanıcılar veya gruplar tarafından çalıştırılmasını engelleyebilirsiniz. Örneğinizde, Internet Explorer'ın Administrators grubu tarafından yürütülmesini reddetmeyi seçebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.