PowerShell nedir ? Ne gibi aktivitelerde bulunulabilir. - Siber İz

Home Top Ad

Post Top Ad

13 Ocak 2025 Pazartesi

PowerShell nedir ? Ne gibi aktivitelerde bulunulabilir.






PowerShell Nedir ?

PowerShell, Windows işletim sistemlerinde yerleşik olarak bulunan ve güçlü komut satırı işlevselliği sunan bir araçtır. Bu araç, sistem yöneticilerine karmaşık işlemleri otomatikleştirme, yapılandırma yönetimi ve ağ yönetimi gibi görevleri yerine getirme imkânı tanırken, siber güvenlik uzmanları için de önemli bir izleme ve analiz aracıdır. PowerShell, saldırganlar tarafından da kötü niyetli işlemleri gizlemek, zararlı yazılımlar yüklemek ve sistemde yetki kazanmak için sıklıkla kullanılmaktadır. Bu nedenle, dijital forensik çalışmalarında PowerShell komutlarının dikkatlice analiz edilmesi, bir siber saldırının tespit edilmesi ve ardından alınacak önlemler için kritik öneme sahiptir.



PowerShell, komut geçmişini tutar, bu da kötü niyetli veya şüpheli bir komut çalıştırıldığında izleme sağlayabilir.


Komut geçmişinin tutulduğu yer :


C:\Users\Kullanıcıadı\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine


PowerShell her ne kadar işimize yarasada bunu kötüye kullananlarda mevcut. Powershell’in bize faydaları ve kötüye kullanımını inceleyelim.

PowerShell’in Bize Faydaları ;

Sistem Yönetimi ve Otomasyon : Kullanıcı hesapları oluşturma, yetkilendirme ayarları yapma ve sistem yapılandırma işlemlerini kolaylaştırır.

Modüler Yapı : Çeşitli modüllerle özelleştirilebilir ve ihtiyaca göre yeni cmdlet'ler eklenebilir.

Pipeline Desteği : Komutların çıktısını başka bir komutun girdisi olarak kullanarak işlemleri zincirleme şekilde gerçekleştirme imkânı sunar.

Uzaktan Yönetim : Uzaktaki sistemlere bağlanarak yönetim ve otomasyon işlemlerini gerçekleştirme yeteneği sağlar.

Log Analizi ve İzleme : Sistem loglarını analiz etmek, güvenlik olaylarını incelemek ve gerçek zamanlı izleme yapmak için kullanılabilir.

Ağ Yönetimi : IP ayarları yapılandırma, portları kontrol etme ve ağ trafiğini izleme gibi işlemler için faydalıdır.

Scripting Desteği : Kompleks görevleri basitleştirmek için betik yazma yeteneği sunar.


PowerShell’in Kötüye Kullanımı ;

Antivirüs Atlatma : Zararlı yazılımlar, PowerShell komutları aracılığıyla antivirüs yazılımlarından saklanabilir veya tespit edilmeden çalıştırılabilir.

Zararlı Kod İndirme ve Çalıştırma : Invoke-WebRequest veya DownloadFile gibi komutlar kullanılarak kötü amaçlı yazılımlar indirilebilir ve yürütülebilir.

Yetki Yükseltme ve Yanlış Kullanım : PowerShell, bir sistemdeki kullanıcı yetkilerini artırmak veya yetkili erişim elde etmek için kullanılabilir.

Komut ve Kontrol İletişimi (C2) : Saldırganlar, PowerShell’i uzaktaki komut ve kontrol sunucusuyla iletişim kurmak için kullanabilir.

Obfuscation (Kod Gizleme) : Zararlı komutlar, PowerShell script’leri içinde şifrelenerek veya gizlenerek çalıştırılabilir ve tespiti zorlaştırılabilir.

Log Temizleme : Clear-EventLog gibi komutlarla, sistemdeki olay günlükleri silinerek saldırı izleri gizlenebilir.

Post-Exploitation İşlemleri : Saldırı sonrası PowerShell kullanılarak veri toplama, dosya aktarımı ve lateral hareket gibi işlemler gerçekleştirilebilir.

Fileless Malware (Dosyasız Zararlı Yazılım) : Zararlı kod, PowerShell üzerinden bellekte çalıştırılarak dosya oluşturulmadan saldırılar gerçekleştirilebilir.


Örnek Senaryo ;

Saldırgan uzak bağlantı ile powershell’imizden zararlı bir dosya,mimikatz vb dosya indirsin ve kullanıcı bilgilerimize erişsin. Bunun tespitini nasıl sağlarız adım adım inceleyelim.


İlk olarak çalıştırılan komut nedir bunu öğrenmek için komut geçmişine bakarız. C:\Users\Kullanıcıadı\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine yolunda ConsoleHost_history.txt dosyasının içinde girilen komutların kaydı tutulmaktadır buna bakarak ona göre aksiyon alabiliriz.


PowerShell Operational Loglarına bakarız.

Event ID 4104: PowerShell komutlarının (script block) kaydını tutar. Obfuscated (gizlenmiş) komutlar dahi burada çözülmüş şekilde görülebilir.


Event ID 4105: PowerShell uzaktan oturumunun başlatıldığını bildirir.


Event ID 4106: Uzaktan oturum kapandığında kaydedilir.


Security Loglarına bakarız.

Event ID 4688: Yeni bir process başlatıldığında kaydedilir. PowerShell.exe’nin çalıştırılması buradan görülebilir.


Event ID 4673: Hassas izinlere sahip bir işlem yürütülmeye çalışıldığını gösterir. Yetkilendirme sorunlarını izlemek için kullanılır.


Event ID 4656: Bir PowerShell oturumu sırasında hassas bir nesneye erişim denendiğinde düşer.


Saldırganın hangi uygulama (mimikatz vs) çalıştırdığını anlamak için detaylı bir Shimcache (App CompatCache) analizi yapabiliriz.


Eğer saldırgan sistemde kalıcılık sağlamış bunuda bir scheduled task ile yapmışsa yapacağımız şey Application.evtx loglarından event ıd : 7045 loguna bakmak olacak çünkü bu log sistemde yeni bir hizmetin (service) yüklendiğini ve kaydedildiğini gösterir. New Service Installed olarak geçer.


Hiç yorum yok:

Yorum Gönder

Post Bottom Ad