
PsExec, Microsoft’un Sysinternals paketinde yer alan ve uzak sistemlerde komut çalıştırmayı sağlayan bir araçtır. Sistem yöneticileri bu aracı genellikle bakım, yönetim ve otomasyon gibi rutin görevlerde kullanır. Kolay kullanımı ve ücretsiz oluşu, onu uzun süredir popüler kılmaktadır.
Ancak aynı nedenlerle, siber saldırganlar da PsExec’i tercih etmektedir. Çünkü PsExec, saldırganın hedef ağa yeni bir yazılım yüklemeden ilerlemesine olanak tanır. Bu yaklaşım “Living off the Land” olarak bilinir yani saldırgan, sistemde zaten bulunan meşru araçları kendi amaçları için kullanır.
PsExec’in çalışma mantığı oldukça basittir. Uzak bir bilgisayara bağlanır, arka planda geçici bir servis oluşturur ve verilen komutu bu servis aracılığıyla çalıştırır.
Bu süreçte birkaç önemli iz ortaya çıkar:
Event ID 7045 kaydı ile .key dosyasının zaman damgaları eşleşiyorsa, PsExec’in o sistemde çalıştırıldığı neredeyse kesindir.
Ağ tarafında PsExec tipik olarak SMB (TCP/445) üzerinden iletişim kurar ve hedefin admin$ paylaşımına erişir. Bu süreç sırasında SMB oturum açma kayıtları, uzak dosya yazma (servis binary’sinin kopyalanması) ve servis yükleme işlemlerine dair ağ izleri üretir. Güvenlik ekipleri için şu ağ göstergelerine bakmak faydalıdır: SMB oturum açma başarısız/başarılı kayıtları, hedefte \\hostname\ADMIN$ üzerine yazma denemeleri ve network trafiğinde named pipe tipi iletişim. IDS/IPS veya ağ akış kayıtları (NetFlow/ENR) ile kısa süreli artış gösteren SMB oturumları korelasyonlanmalıdır.
Ağ takibi için pratik göstergeler:
Bu göstergeler tek başına kesin değildir ama EDR ve log korelasyonu ile birleştiğinde yüksek güvenilirlik sağlar.
PsExec’in sözdizimi oldukça basittir.
Aşağıda en yaygın birkaç örneği görebilirsiniz:
Uzak sistemde komut çalıştırma
psexec \\HOSTNAME -u admin ipconfig
Etkileşimli bir komut penceresi açma
psexec \\HOSTNAME -u admin -i 2 cmd
Dosya kopyalayıp sessizce çalıştırma
psexec \\HOSTNAME -u admin -c setup.exe /S
SYSTEM haklarıyla servis sorgulama
psexec \\HOSTNAME -u admin -s sc query spooler
Bu komutlar genellikle sistem yönetimi amaçlıdır. Ancak, aynı esneklik saldırı senaryolarında da kullanılabilir. Özellikle -s, -d ve -r gibi parametreler saldırganların dikkatini çekmektedir.
Saldırganlar PsExec’i genellikle lateral movement (ağ içinde yatay ilerleme) aşamasında tercih eder. Amaç, bir sistemden diğerine geçip yetkilerini genişletmektir.
PsExec bu aşamada iki önemli avantaj sunar: görünmezlik ve hız.
Bazı yaygın teknikler şunlardır:
psexec \\192.168.10.5 -u user -r printersvc -d cmd
Saldırganlar çoğu zaman PsExec kullanımının ardından izleri temizler. Ancak USN Journal, Prefetch ve ShimCache gibi kaynaklar, çalıştırma geçmişini ortaya çıkarabilir.
Saldırganlar sadece servis adını değiştirmekle kalmaz; -d (background), -s (SYSTEM), -c (kopyala ve çalıştır) gibi parametre kombinasyonlarıyla görünürlüğü daha da azaltır. Örneğin -d ile interaktif pencere olmaksızın işlem başlatılır, -s ile süreç SYSTEM yetkisi kazanır. Dosya ve servis temizlendikten sonra bile Prefetch veya ShimCache girdileri, veya USN Journal’daki create/delete çiftleri çoğu zaman kalır. Bu yüzden temizlik yapıldığını düşünseniz bile bu artefaktlar kontrol edilmelidir.
Bir güvenlik ekibi için PsExec aktivitesini tespit etmek, doğru artefaktlara odaklanmakla mümkündür.
Aşağıdaki tablo olay müdahalesi sırasında kontrol edilmesi gereken temel kaynakları özetler:
Kaynak | Konum | Anlamı |
Event ID 7045 | Windows Event Logs | Yeni servis oluşturulduğunu gösterir |
PSEXEC-[host].key | C:\Windows | Bağlantıyı başlatan kaynağı gösterir |
PSEXESVC.exe | C:\Windows | Geçici servis dosyası |
USN Journal | NTFS | Dosya oluşturma ve silme geçmişi |
Prefetch (.pf) | Windows\Prefetch | Uygulamanın son çalıştırma zamanı |
ShimCache | Registry | Çalıştırılan veya görüntülenen uygulamalar |
Event ID 7045 kaydıyla .key dosyasının zamanını karşılaştırmak, PsExec bağlantısının tam olarak ne zaman gerçekleştiğini gösterebilir.
Zaman eşleştirmesi önemlidir. Olay müdahalesinde şu adımlar kronolojik doğrulama sağlar:
EDR veya XDR çözümlerinde PsExec aktivitesi genellikle benzer bir zincir şeklinde görüntülenir:
kaynak_host → services.exe → PSEXESVC.exe → cmd.exe → hedefte çalışan komut (örneğin ipconfig.exe)
Bu zincirde:
Bu ilişki zinciri, bir sistemde PsExec kullanımı olduğuna dair en güçlü göstergelerden biridir.
Özetle, PsExec, sistem yöneticileri için faydalı bir araçtır. Ancak kontrolsüz bırakıldığında, bir ağda sessizce yayılan güçlü bir saldırı aracına dönüşebilir.
Kurumsal ortamlarda en etkili savunma, bu tür meşru araçların bıraktığı izleri tanımak ve doğru şekilde yorumlamaktır. PsExec’i anlamak, yalnızca bir aracı değil, aynı zamanda saldırganın tercih ettiği sessiz yöntemi de tanımaktır.
Microsoft Docs – Sysinternals PsExec Utility Documentation.
MITRE ATT&CK – Technique T1569.002: Service Execution (PsExec).
-