PowerShell’de komut geçmişi kaydının manipüle edilmesi ve Savunma Stratejileri
PowerShell, Windows işletim sistemlerinde yaygın olarak kullanılan güçlü bir komut satırı aracı ve betik dilidir. Hem sistem yöneticileri hem de siber saldırganlar tarafından yoğun şekilde kullanılmaktadır. PowerShell’in sunduğu bazı özellikler, özellikle komut geçmişi kaydı gibi, saldırganlar tarafından savunma atlatma teknikleri olarak kullanılabilir.
PowerShell’de Komut Geçmişi Kaydının Manipüle Edilmesi
PowerShell, kullanıcının çalıştırdığı komutları bir geçmiş dosyasına kaydederek, kullanıcıların daha önce çalıştırdıkları komutları kolayca tekrar gözden geçirebilmelerini sağlar. Ancak, bu özellik kötü niyetli kullanıcılar tarafından savunma atlatma amaçlı kullanılabilir. İşte bu bağlamda kullanılabilecek bazı manipülasyon teknikleri:
Komut Geçmişi ve PSReadLine Modülü
PowerShell, kullanıcıların çalıştırdığı komutları bir geçmiş dosyasına yazar. Bu işlevsellik, PSReadLine modülü tarafından sağlanır. Bu özellik, kullanıcıların önceki komutlarına kolayca erişmelerini sağlarken, aynı zamanda saldırganların hassas bilgileri (örneğin, parolalar) keşfetmesi için bir araç olabilir.
PSReadLine modülünün v2.0.4+ sürümünde, belirli hassas kelimeler içeren komutların geçmiş dosyasına eklenmesini önleyen bir özellik tanıtılmıştır. Bu hassas kelimeler şunlardır:
Password
Asplaintext
Token
Apikey
Secret
PowerShell v7.0.11+ sürümü, bu özelliği destekleyen bir PSReadLine sürümü ile birlikte gelirken, Windows PowerShell 5.1 sürümü PSReadLine 2.0.0 ile gelir ve bu özelliği desteklemez. Ancak, PSReadLine modülü kolayca güncellenebilir.
Savunma Atlatma Teknikleri
Hassas Kelimeler Kullanarak Geçmiş Kayıtlarını Engelleme:
Komut satırına hassas kelimeler ekleyerek bu komutların geçmiş dosyasına yazılması engellenebilir.
Örneğin:
Kayıt Tutmayı Tamamen Engelleme:
Geçmiş kaydını tamamen devre dışı bırakmak için PSReadLineOption kullanılabilir:
Geçmiş Dosyasını Silme:
Mevcut geçmiş dosyasını silinebilir:
Alternatif Dosya Yolu Belirleme:
Geçmiş dosyasını farklı bir konuma kaydetmek için dosya yolu değiştirilebilir:
Kısıtlı Dil Modunu Kullanma:
Kısıtlı Dil Modunu etkinleştirerek bazı PowerShell komutları sınırlanabilir:
Savunma Stratejileri
Saldırganların bu tür manipülasyon tekniklerine başvurmasını önlemek ve tespit etmek için aşağıdaki savunma stratejilerini kullanabilirsiniz.
- PSReadLineOption İşlevlerini İzleme
PSReadLineOption işlevlerinin kullanımını izleyerek, geçmiş kaydının manipüle edilip edilmediğini tespit edebilirsiniz. Bu işlevler üzerinde yapılan değişiklikler, kötü niyetli faaliyetlerin işareti olabilir.
- AddToHistoryHandler Parametresini İzleme
AddToHistoryHandler parametresinin kullanımını izleyerek, komut geçmişine kaydedilmesi gereken komutların atlanıp atlanmadığını kontrol edebilirsiniz. Bu parametre kullanılarak yapılan değişiklikler, potansiyel saldırgan faaliyetleri gösterebilir.
- Düzenli Geçmiş Kontrolü
Komut geçmişi dosyasının düzenli olarak incelenmesi ve anormalliklerin tespit edilmesi, kötü niyetli faaliyetlerin erken aşamada yakalanmasına yardımcı olabilir. Özellikle hassas komutların kaydedilip kaydedilmediği kontrol edilmelidir.
- Geçmiş Dosyasının Yerini İzleme
Geçmiş dosyasının yerinin değiştirilip değiştirilmediğini izlemek, saldırganların izlerini gizlemek için bu yöntemi kullanmalarını engelleyebilir. Bu tür değişiklikler, sistem yöneticileri tarafından dikkatle izlenmelidir.
- Güvenlik Politikaları ve Eğitim
Sistem yöneticileri ve kullanıcılar, komut geçmişi kaydının güvenlik riskleri konusunda eğitilmelidir. Güvenlik politikaları, bu tür manipülasyonların önlenmesi ve tespit edilmesi için net yönergeler içermelidir.
- Kısıtlı Dil Modu Kullanımı
Kısıtlı Dil Modu (Constrained Language Mode), PowerShell’deki belirli komutların ve işlevlerin kullanımını sınırlar. Bu mod, sistemin güvenliğini artırarak saldırganların kötü niyetli faaliyetlerini sınırlayabilir.
Sonuç
PowerShell’de komut geçmişi kaydının manipüle edilmesi, savunma atlatma açısından önemli bir tekniktir. Saldırganlar, izlerini gizlemek ve sistemdeki faaliyetlerini saklamak için bu teknikleri kullanabilir. Ancak, uygun savunma stratejileri ile bu tür saldırıların tespit edilmesi ve önlenmesi mümkündür. Sistem yöneticilerinin ve güvenlik uzmanlarının bu tekniklere karşı farkındalıklarını artırmaları, sistem güvenliğini sağlamada kritik bir rol oynar.