🇹🇷 Cmdlet Nedir? (PowerShell Komutları)
📌 Tanım:
Cmdlet (Command-Let), PowerShell’de yerleşik olarak gelen küçük, özel görevler yapan komutlardır. "Command" (komut) kelimesinin küçültülmüş halidir. CMD veya Bash’teki klasik komutlara benzer ama çok daha güçlü ve nesne tabanlı çalışırlar.
🧠 Temel Özellikleri:
-
.NET framework kullanılarak geliştirilir.
-
Genellikle verb-noun (eylem-nesne) şeklinde adlandırılır:
Örneğin:Get-Process
,Set-Date
,Remove-Item
-
Küçük bir işi yapacak şekilde tasarlanırlar ama birlikte zincirlenerek güçlü işlemler yapılabilir.
-
Cmdlet çıktıları metin değil, nesnedir. Bu, filtreleme, yönlendirme ve detaylı işlem yapmayı mümkün kılar.
🛠️ Cmdlet’lerin Özellikleri:
Özellik | Açıklama |
---|---|
Yapı | Genellikle Fiil-Nesne biçimindedir. |
Programlanabilirlik | Komutlar arasında veri boru hattı (pipeline ) ile aktarılabilir. |
Nesne tabanlılık | Her cmdlet bir .NET nesnesi döndürür. |
Genişletilebilirlik | Kendi cmdlet’lerinizi yazabilirsiniz. |
Yönetim Gücü | Sistem, ağ, kullanıcı, servis, registry, dosya vb. her şeye erişebilir. |
🧪 Örnek Cmdlet'ler:
🛡️ Siber Güvenlikte Cmdlet Kullanımı:
Cmdlet'ler, siber güvenlikte sistem analizi, olay yanıtı, adli analiz gibi alanlarda bilgi toplamak, servisleri kontrol etmek, ağ trafiğini analiz etmek gibi amaçlarla çok sık kullanılır. Örneğin:
-
Get-WmiObject
ile sistem bilgisi çekilebilir. -
Get-LocalUser
ile yerel kullanıcılar listelenebilir. -
Get-EventLog
ile olay günlüğü analizi yapılabilir.
Ayrıca kötü niyetli kişiler bu cmdlet’leri kullanarak bilgi sızdırma, gizli çalıştırma, yandan yayılma (lateral movement) gibi saldırılar gerçekleştirebilir.
🇬🇧 What is a Cmdlet?
📌 Definition:
A cmdlet (pronounced "command-let") is a lightweight, single-function command in PowerShell. It performs a specific task and is the core building block of PowerShell scripting.
🧠 Key Characteristics:
-
Cmdlets are written in C# and based on the .NET framework.
-
Naming follows the verb-noun convention (e.g.,
Get-Process
,Set-Date
). -
Unlike traditional command-line tools, cmdlets work with objects, not plain text.
-
Cmdlets can be chained via pipelines to perform complex tasks.
🛠️ Key Features of Cmdlets:
Feature | Description |
---|---|
Syntax | Uses Verb-Noun pattern |
Programmability | Pipe output between cmdlets easily |
Object-oriented | Returns .NET objects |
Extensible | You can build custom cmdlets |
System access | Can manage registry, services, users, files, etc. |
🧪 Example Cmdlets:
🛡️ In Cybersecurity:
Cmdlets are frequently used in cybersecurity operations:
-
Threat hunting (e.g.,
Get-WmiObject
,Get-EventLog
) -
User auditing (
Get-LocalUser
,Get-LocalGroupMember
) -
Lateral movement techniques by attackers
-
Persistence mechanisms and data exfiltration
Attackers can leverage cmdlets to blend into normal system behavior and evade detection, especially in fileless attacks.