PsExec, kullanıcıların uzak sistemlerde program çalıştırmasına olanak tanıyan bir komut satırı aracıdır. Uzak sistemlerde uzaktan komutları, komut dosyalarını ve uygulamaları yürütmek ve ayrıca uzak sistemlerde GUI tabanlı uygulamaları başlatmak için kullanılabilir.
PsExec, uzak sistemdeki hizmetin bir örneğini başlatmak için Microsoft Windows Hizmet Kontrol Yöneticisini (SCM) kullanır; bu, aracın belirtilen komutu veya uygulamayı hesabın ayrıcalıklarıyla çalıştırmasına olanak tanır. hizmet hesabı uzak sistem üzerinde.
Bağlantının kurulabilmesi için uzak kullanıcının hedef makineye erişim ayrıcalıklarına sahip olması ve hedef makinenin adının yanı sıra kullanıcı adı ve şifresini aşağıdaki formatta sağlaması gerekir:
PsExec -s \\MACHINE-NAME -u USERNAME -p PASSWORD COMMAND (the process to be executed following establishing the connection).
PsExec, öncelikle Windows sistemlerinde süreçlerin uzaktan yönetimi ve yürütülmesi için kullanılan güçlü bir komut satırı aracıdır. Sistem yöneticilerinin ve güvenlik uzmanlarının ağ ortamındaki uzak bilgisayarlarda komutları yürütmesine veya programları çalıştırmasına olanak tanır. PsExec'in bazı yaygın kullanım durumları şunlardır:
Uzaktan Sistem Yönetimi: PsExec, yöneticilerin fiziksel erişime ihtiyaç duymadan birden fazla Windows sistemini uzaktan yönetmesine ve yönetmesine olanak tanır. Merkezi bir konumdan komutları yürütmelerine, komut dosyaları çalıştırmalarına, yazılım yüklemelerine, sistem yapılandırmalarını değiştirmelerine ve uzaktaki makinelerde çeşitli yönetim görevlerini gerçekleştirmelerine olanak tanır.
Yazılım Dağıtımı ve Güncellemeler: PsExec ile yöneticiler, yazılım paketlerini, yamaları veya güncellemeleri aynı anda birden fazla bilgisayara uzaktan dağıtabilir. Bu özellik, ayrı ayrı sistemlere manuel kurulumun zaman alıcı ve pratik olmadığı büyük ölçekli ortamlarda özellikle kullanışlıdır.
Sorun Giderme ve Tanılama: PsExec, sistem sorunlarını uzaktan teşhis etmek ve gidermek için kullanılabilir. Yöneticiler, fiziksel olarak mevcut olmadan sorunları tanımlamak ve çözmek için uzak sistemlerde tanılama araçlarını çalıştırabilir, olay günlüklerine erişebilir, sistem bilgilerini alabilir veya sorun giderme komut dosyaları çalıştırabilir.
Güvenlik Denetimi ve Yama Yönetimi: Güvenlik uzmanları genellikle güvenlik denetimleri, güvenlik açığı değerlendirmeleri veya sızma testi çalışmaları yürütmek için PsExec'i kullanır. Güvenlik tarama araçlarını uzaktan yürütmelerine, yama düzeylerini doğrulamalarına ve ağ içindeki uzak sistemlerin güvenlik durumunu değerlendirmelerine olanak tanır.
Olay Müdahalesi ve Adli Tıp: Olay müdahale araştırmaları sırasında PsExec, analiz ve kanıt toplama amacıyla güvenliği ihlal edilmiş sistemlere uzaktan erişime yardımcı olur. Güvenlik analistlerinin güvenliği ihlal edilmiş makinelerde doğrudan etkileşime girmeden komutları yürütmesine veya adli tıp araçlarını çalıştırmasına olanak tanıyarak daha fazla güvenlik ihlali veya veri kaybı riskini en aza indirir.
Kırmızı Takım ve Yanal Hareket: Kuruluşların güvenlik savunmalarını test etmek için gerçek dünya saldırılarını simüle ettiği kırmızı ekip oluşturma çalışmalarında, PsExec genellikle ağ içinde yanal hareket için kullanılır. Saldırganlar, PsExec'i, güvenliği ihlal edilmiş sistemlerde komutları yürütmek veya kötü amaçlı yükleri çalıştırmak için kullanabilir, yanal olarak hareket edebilir ve hassas kaynaklara yetkisiz erişim elde etmek için ayrıcalıkları yükseltebilir.
Otomasyon ve Komut Dosyası Oluşturma: PsExec, komut dosyalarına veya toplu dosyalara entegre edilerek birden fazla sistemde tekrarlanan görevlerin otomasyonuna olanak tanır. Komut dosyalarının uzaktan yürütülmesi için bir araç sağlayarak yöneticilerin karmaşık işlemleri yönetmesine veya düzenli bakım görevlerini verimli bir şekilde gerçekleştirmesine olanak tanır.
Bununla birlikte, PsExec'in saldırganların elinde de güçlü bir araç olabileceğini unutmamak önemlidir; çünkü saldırganların uzak sistemlerde rastgele kod çalıştırmasına olanak tanır ve potansiyel olarak saldırganlara yol açabilir. ayrıcalık yükseltme ve ağda yanal hareket. Bu nedenle PsExec'i güvenli bir şekilde kullanmak ve PsExec kullanımını güvenilir kullanıcılar ve sistemlerle sınırlamak önemlidir.
PsExec'i yüklemek ve ayarlamak, aşağıdaki adımları içeren basit bir işlemdir:
PsExec'i yüklemek için resmi Microsoft web sitesini veya güvenilir yazılım depolarını ziyaret ederek PsExec yürütülebilir dosyasını indirebilirsiniz. Herhangi bir güvenlik riskinden veya kötü amaçlı yazılımdan kaçınmak için onu güvenilir bir kaynaktan indirdiğinizden emin olun.
PsExec resmi bir kurulum işlemi gerektirmez. PsExec çalıştırılabilir dosyasını indirdikten sonra, onu yerel sisteminizde seçtiğiniz bir dizine kaydedebilirsiniz. Kolayca erişilebilen ve rahat kullanım için sistemin PATH ortam değişkenine dahil edilen bir konuma yerleştirilmesi önerilir.
PsExec'i kullanarak uzaktaki bir bilgisayara bağlanmak için şu adımları izleyin:
A. Yerel sisteminizde bir komut istemi veya terminal açın.
B. PsExec yürütülebilir dosyasını kaydettiğiniz dizine gidin.
C. Uzak bilgisayarla bağlantı kurmak için aşağıdaki komutu kullanın:
psexec \\uzak_bilgisayar_adı_veya_IP -u kullanıcı adı -p şifre komutu
D. Komutu yürütmek için Enter tuşuna basın. PsExec uzak bilgisayarla bağlantı kuracak, sağlanan kimlik bilgilerini kullanarak kimlik doğrulaması yapacak ve belirtilen komutu uzaktan yürütecektir.
e. Yürütülen komutun çıktısını yerel komut isteminizde veya terminal pencerenizde göreceksiniz.
PsExec kullanarak başarılı bağlantı ve komutların yürütülmesinin, yerel sisteminiz ile uzak bilgisayar arasındaki ağ bağlantısının yanı sıra uzak sistemdeki doğru kimlik doğrulama bilgilerine ve izinlere bağlı olduğunu unutmamak önemlidir.
PsExec, yöneticilere güçlü uzaktan yürütme yetenekleri sağlayan, yaygın olarak kullanılan çeşitli komutlar sunar. En yaygın PsExec komutlarından bazıları ve işlevleri şunlardır:
PsExec \remote_computer komutu:
PsExec \remote_computer -s komutu:
PsExec \remote_computer -u kullanıcı adı -p şifre komutu:
PsExec \remote_computer -c -f -s -d komutu:
PsExec \remote_computer -i session_id -d -s komutu:
PsExec \remote_computer -accepteula -s -c -f script.bat:
Bu komutlar, mevcut PsExec komutlarının bir alt kümesini temsil eder ve her biri uzaktan yönetim ve yürütmede belirli bir amaca hizmet eder.
PsExec komutlarının sözdizimi şöyledir:
psexec \bilgisayar[,bilgisayar[,..] [seçenekler] komut [argümanlar]
psexec @run_file [options] command [arguments]
PsExec komut satırı seçenekleri:
seçenek | açıklama |
---|---|
\bilgisayar | Bağlanılacak uzak bilgisayar. Etki alanındaki tüm bilgisayarlar için \* kullanın. |
@run_file | Komutu belirtilen metin dosyasında listelenen bilgisayarlara karşı çalıştırın. |
komuta | Uzak sistemde çalıştırılacak program. |
argümanlar | Uzak programa aktarılacak argümanlar. Mutlak yolları kullanın. |
-a | CPU benzeşimini ayarlayın. 1'den başlayarak CPU numaralarını virgülle ayırın. |
-c | Çalıştırmadan önce yerel programı uzak sisteme kopyalayın. |
-f | Mevcut uzak dosyanın üzerine kopyalamayı zorla. |
-v | Yalnızca yerel programın uzaktan kumandadan daha yeni bir sürüm olması durumunda kopyalayın. |
-d | Uzak programın bitmesini beklemeyin. |
-e | Kullanıcı profilini yüklemeyin. |
-i | Uzak masaüstüyle etkileşim kurun. |
-l | Sınırlı kullanıcı haklarıyla çalıştırın (Kullanıcılar grubu). |
-n | Saniye cinsinden bağlantı zaman aşımı. |
-p | Kullanıcı için şifreyi belirtin. |
-r | Etkileşim kurulacak uzak hizmetin adı. |
-s | SYSTEM hesabı altında çalıştırın. |
-u | Giriş için kullanıcı adını belirtin. |
-w | Uzak sistemdeki çalışma dizinini ayarlayın. |
-x | Kullanıcı arayüzünü Winlogon masaüstünde görüntüleyin. |
-düşük | Düşük öncelikte çalıştırın. |
-kabul | EULA iletişim kutusunu gizle. |
PsExec bir PowerShell değildir. Kullanıcıların uzak sistemlerde programları çalıştırmasına izin veren bir komut satırı aracıdır.
Öte yandan PowerShell, Microsoft tarafından geliştirilen ve .NET çerçevesi üzerine inşa edilmiş bir komut satırı kabuğu ve ilişkili betik dili içeren bir görev otomasyonu ve yapılandırma yönetimi çerçevesidir. PowerShell, yerel veya uzak sistemlerde çeşitli görevleri otomatikleştirmek ve karmaşık işlemleri gerçekleştirmek için kullanılabilir.
Hem PsExec hem de PowerShell, uzak sistemlerde komut çalıştırmak gibi benzer görevleri gerçekleştirmek için kullanılabilse de, bunlar farklı araçlardır ve farklı yeteneklere sahiptirler. PsExec, uzak bir sistemde tek bir komut veya uygulama yürütmek için tasarlanırken, PowerShell, uzak sistemlerde komutları ve betikleri çalıştırmak da dahil olmak üzere çeşitli görevleri otomatikleştirmek ve yönetmek için kullanılabilecek daha güçlü bir çerçevedir.
Bu nedenle, senaryoya bağlı olarak bir araç diğerinden daha uygun olabilir.
PsExec, Windows sistemlerinde uzaktan yürütmeyi mümkün kılmak için benzersiz mimarisinden ve iletişim protokollerinden yararlanarak çalışır. PsExec'in çalışma şeklinin temel yönlerini inceleyelim:
PsExec bir istemci-sunucu mimarisini izler. Yerel sistemde yürütülen istemci tarafı bileşeni, uzak sistemde çalışan sunucu tarafı bileşeniyle bağlantı kurar. Bu bağlantı, iki sistem arasında komutların ve verilerin aktarımını sağlar.
PsExec, uzak sistemlerle iletişim kanalları oluşturmak için Sunucu İleti Bloğu (SMB) protokolünü, özellikle SMB dosya paylaşımı ve adlandırılmış kanal mekanizmalarını kullanır. Bu, istemci ve sunucu bileşenleri arasında güvenli ve güvenilir iletişime olanak tanır.
PsExec, uzak sistemlere güvenli erişim sağlamak için kimlik doğrulama mekanizmalarını kullanır. Kullanıcı adı ve parola kullanma veya NTLM (NT LAN Manager) aracılığıyla kimlik doğrulama dahil olmak üzere çeşitli kimlik doğrulama yöntemlerini destekler. Kerberos.
Güvenliği artırmak için, PsExec'i kullanırken kimlik doğrulamaya yönelik en iyi uygulamaları takip etmek çok önemlidir. Bu uygulamalar arasında güçlü ve benzersiz şifrelerin kullanılması, çok faktörlü kimlik doğrulama mümkün olan yerlerde ve PsExec kullanıcılarına yalnızca gerekli izinleri vererek en az ayrıcalık ilkesine bağlı kalarak.
PsExec, uzak sistemlerde dosya ve kayıt defteri erişimini kolaylaştırarak yöneticilerin dosyaları kopyalama, komut dosyalarını yürütme veya kayıt defteri ayarlarını değiştirme gibi görevleri gerçekleştirmesine olanak tanır. Komutları uzaktan çalıştırırken, PsExec gerekli yürütülebilir dosyayı veya komut dosyasını yürütmeden önce geçici olarak uzaktaki sistemin geçici dizinine kopyalar.
PsExec'i dosya ve kayıt defteri işlemleri için kullanırken olası güvenlik hususlarını dikkate almak önemlidir. Örneğin, yöneticiler hassas dosyaları aktarırken dikkatli olmalı ve kritik sistem dosyalarına ve kayıt defteri girişlerine yetkisiz erişimi veya değiştirilmesini önlemek için uygun erişim kontrollerinin yürürlükte olduğundan emin olmalıdır.
PsExec, kötü amaçlı yazılımın kendisi değildir, ancak kötü amaçlı yazılımlar ve saldırganlar tarafından kötü amaçlı eylemler gerçekleştirmek için kullanılabilir.
PsExec, kullanıcıların uzak sistemlerde programları çalıştırmasına izin veren meşru bir araçtır. Sorun giderme, yazılım güncellemelerini ve yamaları dağıtma ve komutları ve betikleri aynı anda birden çok sistemde yürütme gibi çeşitli yasal görevler için kullanılabilir.
Ancak PsExec, saldırganlar tarafından uzak sistemlere yetkisiz erişim elde etmek ve kötü amaçlı eylemler gerçekleştirmek için de kullanılabilir. Örneğin, bir saldırgan, uzak bir sistemde kötü amaçlı bir yük yürütmek veya bir ağ içinde yatay olarak hareket etmek ve hassas bilgilere erişim elde etmek için PsExec'i kullanabilir.
Bu nedenle, PsExec'i güvenli bir şekilde kullanmak ve PsExec kullanımını güvenilir kullanıcılar ve sistemlerle sınırlamak önemlidir.
PsExec'in kaynak makineden hedef makineye sağladığı kesintisiz uzaktan erişim, siber saldırıların yanal hareket aşamasında tehdit aktörleri tarafından yoğun bir şekilde suistimal ediliyor. Bu durum tipik olarak sıfır hasta makinesinin ilk uzlaşmasından sonra meydana gelir.
Bu noktadan itibaren, saldırganlar ortamdaki varlıklarını genişletmeye ve ya etki alanı hakimiyetine ya da peşinde oldukları belirli verilere ulaşmaya çalışırlar. PsExec, aşağıdaki nedenlerden dolayı onlara sorunsuz ve güvenilir bir yol sağlar.
Saldırganlar, ele geçirilen kullanıcı kimlik bilgilerini PsExec ile birleştirerek kimlik doğrulama mekanizmalarını atlayabilir, birden fazla sisteme erişim sağlayabilir ve potansiyel olarak ağın önemli bir bölümünü tehlikeye atabilir. Bu yaklaşım onların yan yana hareket etmelerine, ayrıcalıkları artırmalarına ve kötü niyetli hedeflerine daha geniş bir etkiyle ulaşmalarına olanak tanır.
PsExec, çeşitli temel faktörler nedeniyle genellikle yanal hareket saldırıları için tercih edilen "karadan geçinen" bir araç olarak kabul edilir:
PsExec'in meşru kullanım örnekleri olsa da, kötüye kullanım potansiyeli ve hedef ortamdaki varlığının, onu yanal hareket saldırıları gerçekleştirmek isteyen rakipler için çekici bir araç haline getirdiğini unutmamak önemlidir. Kuruluşlar, PsExec veya benzeri araçların yetkisiz kullanımını tespit etmek ve önlemek için ağ bölümlendirme, kimlik bilgisi yönetimi ve izleme sistemleri gibi güçlü güvenlik önlemleri uygulamalıdır.
Yanal hareket için PsExec'in kullanılması, aşağıdakilere çeşitli avantajlar sunar: fidye aktörler:
Uç nokta koruma araçları, çeşitli nedenlerden dolayı PsExec'in kötü niyetli kullanımını tespit etmekte ve önlemekte zorluk yaşayabilir:
Geleneksel MFA araçları sınırlamalarla karşılaşabilir yanal hareketi önleme PsExec'i aşağıdaki nedenlerden dolayı kullanmak:
PsExec, meşru ve verimli uzaktan yönetim yetenekleri nedeniyle sistem yöneticileri ve güvenlik uzmanları arasında popülerlik kazanmıştır. Ancak birçok araç gibi PsExec de kötü amaçlarla kötüye kullanılabilir. Son yıllarda tehdit aktörleri PsExec'i fidye yazılımı saldırı stratejilerine dahil etmeye başladı ve bu da PsExec'i cephaneliklerinin potansiyel olarak tehlikeli bir bileşeni haline getirdi.
Son beş yıl içinde beceri bariyeri önemli ölçüde azaldı ve fidye yazılımı saldırılarının %80'inden fazlasında PsExec ile yanal hareket dahil edildi; bu da PsExec aracılığıyla kötü amaçlı kimlik doğrulamasına karşı korumayı her kuruluş için bir zorunluluk haline getiriyor.
Fidye yazılımı saldırıları, kötü niyetli aktörlerin sistemlere yetkisiz erişim sağlamasını, kritik verileri şifrelemesini ve serbest bırakılması için fidye talep etmesini içerir. Daha önce saldırganlar, ilk erişim elde etmek için genellikle sosyal mühendislik tekniklerine veya yararlanma kitlerine güveniyorlardı. Ancak artık ele geçirilen ağlarda yayılmak için PsExec gibi meşru araçları kullanarak taktiklerini genişlettiler.
Fidye yazılımı saldırısında, tehdit aktörleri ağ içindeki tek bir sisteme erişim sağladıktan sonra yanlara doğru hareket ederek mümkün olduğu kadar çok sisteme bulaşmayı hedefler. PsExec bu yanal hareket için kullanışlı ve etkili bir araç sağlar. Saldırganlar, diğer savunmasız sistemlerde fidye yazılımı yüklerini uzaktan yürütmek için PsExec'i kullanıyor ve enfeksiyonu ağ genelinde hızla yayıyor.
Siber suçlular, PsExec'i saldırı zincirlerine dahil ederek birçok avantaj elde ediyor. İlk olarak PsExec, komutları yürütmelerine ve kötü amaçlı yükleri sessizce ve uzaktan çalıştırmalarına olanak tanıyarak tespit şansını azaltır. İkincisi, PsExec meşru bir araç olduğundan, genellikle bilinen kötü amaçlı yazılım imzalarına odaklanan geleneksel güvenlik önlemlerini atlar. Bu, saldırganların normal ağ trafiğine karışmasına olanak tanıyarak etkinliklerinin tespit edilmesini zorlaştırır.
PsExec tabanlı fidye yazılımı saldırılarına karşı savunma yapmak çok katmanlı bir yaklaşım gerektirir. İşte bazı önemli azaltımlar:
erişim Denetimi: Yalnızca yetkili kullanıcıların kritik sistemlere yönetici erişimine sahip olmasını sağlayarak sıkı erişim kontrolleri uygulayın. PsExec ayrıcalıklarına sahip hesapların sayısını sınırlamak, saldırı yüzeyi.
Son Nokta Koruması: Davranış tabanlı algılama mekanizmalarını içeren güçlü uç nokta koruma çözümlerini dağıtın ve sürdürün. Bunlar, PsExec kullanımıyla ilişkili şüpheli etkinliklerin belirlenmesine ve engellenmesine yardımcı olabilir.
Ağ Bölümleme: Saldırganların yanal hareket fırsatlarını sınırlamak için ağ bölümlendirmesini kullanın. Kritik sistemleri ayırmak ve ağ bölümleri arasındaki erişimi kısıtlamak, potansiyel bir fidye yazılımı bulaşmasının etkisinin kontrol altına alınmasına yardımcı olabilir.
İzleme ve Anormallik Tespiti: Olağandışı veya yetkisiz PsExec kullanımını işaretleyebilecek kapsamlı ağ izleme ve anormallik tespit sistemleri uygulayın. Bu tür uyarıların derhal araştırılması ve yanıtlanması, olası hasarın azaltılmasına yardımcı olabilir.