Hepinize selamlar,
Bu makalemde sizlere Windows sistemlerde inceleme yaparken bilinmesi gereken komutlardan bahsedeceğim. Burada bahsedeceğim komutlar olay müdahalesi yapan analistin bilmesi gereken temel komutlardır.
Makalede sırası ile şu konulara değineceğim.
- Kullanıcı hesapları,
- Processler,
- Servisler,
- Görev Zamanlayıcısı,
- Çalıştırmak,
- Registy Girişleri,
- Aktif TCP ve UDP bağlantı noktaları,
- Dosya Paylaşımları,
- Dosyalar,
- Güvenlik Duvarı Ayarları,
- Açık Oturumlar,
- Log Girişleri
Kullanıcı Girişleri
Incident Response sürecinde kullanıcı etkinliklerini araştırmak çok önemlidir. Herhangi bir şüpheli kullanıcı hesabı olup olmadığını veya bir kullanıcıya herhangi bir kısıtlama işlemi yapılım yapılmadığını bulmak amacıyla kullanılır. Aynı zamanda kullanıcı hesabını kontrol ederek, hangi kullanıcının şu anda oturum açtığını ve ne tür bir kullanıcı hesabına sahip olduğu buradan görüntülenebilmektedir.
Kullanıcı hesapları şu şekilde görüntülenmektedir:
GUI ekranında kullanıcı hesaplarını görüntülemek için “Win+R” tuşlarına basıyoruz ve aşağıdaki komutu yazıyoruz.
lusrmgr.msc

Sistem üzerinde kullanıcı hesaplarını ve bu hesapların ne tür hesaplar olduğunu görüntülemek için, komut istemini açıyoruz ve şu komutu yazıyoruz.
net user

Sistem üzerinde yerel kullanıcı hesaplarını görüntülemek için net yerel grup grup adı kullanılır. Bir yönetici bu komutu kullanarak herhangi bir gruba kullanıcı ekleyebilir, kullanıcı silebilir, yeni grup oluşturabilir veya mevcut grubu silebilmektedir.
Komut satırını açtıktan sonra şu komutları yazıyoruz:
net localgroup administrators

Yerel kullanıcı hesaplarını, adları ve açıklamalarını görüntülemek için PowerShell yönetici olarak açılır ve şu komut çalıştırılır:
Get-LocalUser

Processler
Sistemlerde çalışan tüm processlerin Listesini almak için “tasklist” komutu kullanılmaktadır. Bu komut kullanılarak, kullanılan bellek alanı, çalışma süresi, dosya adları, çalışan hizmetler gibi birçok ilgi elde edilebilmektedir.
Processleri görüntülemek için üstte bahsettiğim gibi “Win+R” tuşarına basıyoruz ve ardından şu komutu yazıyoruz.

Ardından “tamam” seçeneğine tıklıyoruz ve sistem üzerinde çalışan tüm processleri görüntülüyoruz. Bu şekilde sistem üzerinde çalışan processlerin takibini yapabiliyoruz.

Çalışan tüm processlerin İşlem Kimliği (PID), oturum adı ve kullanılan bellek miktarını görmek için şu komutu çalıştırıyoruz:
tasklist

Bilgisayarda çalışan tüm etkin işlemlerin listesini görüntülemek için PowerShell’i yönetici olarak açıyoruz ve şu komutu yazıyoruz.
get-process

Windows sistemleri, WMIC ile son derece güçlü bir araca sahiptir. Wmic olay müdahalesi esnasında son derece önemli ve kullanışlıdır. Bu araç Komut isteminde ve PowerShell’de kullanılabilmektedir. Bu şekilde sistem üzerinde anamoli tespiti yapılabilmektedir.
wmic process list full

Hangi işlemin anormal bir ağ aktivitesi gerçekleştirdiğini tespit ettik. Sonrasında işlem kimlikleri, işlem adı ve işlem kimliği hakkında daha detaylı bilgi almak için şu komutu çalıştırıyoruz.
wmic process get name,parentprocessid,processid

Wmic işleminin pathini bulmak için PowerShell’e şu komutu yazıyoruz.
wmic process where 'ProcessID=PID’ get CommandLine
![]()
Servisler
Sistemler üzerinde çalışan herhangi bir anormal hizmet olup olmadığı veya bazı hizmetlerin düzgün çalışıp çalışmadığı görüntülenmektedir.
“Win+R” yapıyoruz. Ve şu komutu yazıyoruz:
services.msc

Burada işlemlerin listesini görüntülüyoruz.

Komut satırında çalışan servislerin listesini başlatmak ve görüntülemek için yönetici olarak şu komutu yazıyoruz.
net start

Bir hizmetin çalışıp çalışmadığını görüntülemek için ve daha fazla bilgi için;
sc query | more

Kendisi ile ilişkili olan ve birlikte çalışan işlemlerin listesini komut satırında görüntülemek istiyorsak,
tasklist /svc

Görev Zamanlayıcısı
Görev zamanlayıcısı, komut dosyalarının ya da programların başlatılmasını önceden tanımlanmış bir zamanda veya belirli zaman aralıklarından sonra çalıştırılmasını sağlayan bir Windows bileşenidir. Incident Response süreçlerinde bakılması gereken en önemli kısımlardan bir tanesi de burasıdır. Bu şekilde şüpheli olan zamanlanmış görevler görüntülenmektedir.
GUI ekranında Görev Zamanlayıcısını görüntülemek için;
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools

Komut satırında Görev Zamanlayıcısını görüntülemek için komut istemini yönetici olarak çalıştırıyoruz ve şu komutu yazıyoruz:
schtasks

Çalıştırmak
Windows’taki başlangıç klasörü, oturum açtığınızda uygulamaları otomatik olarak çalıştırır. Bunun için otomatik olarak çalışan uygulamalar mutlaka görüntülenmeli ve izlenmelidir.
Görev Yöneticisini açıyoruz. Burada hangi uygulamaların etkinleştirildiği, hangi uygulamaların devre dışı bırakıldığını görüntüleyebiliriz.
taskmgr

PowerShell’deki başlangıç uygulamalarını görüntülemek için PowerShell’i yönetici olarak çalıştırıyoruz ve şu komutu yazıyoruz:
wmic startup get caption,command

PowerShell’deki AutoStart yani otomatik başlatılan uygulamaların listesini ayrıntılı görüntülemek için, yönetici olarak çalıştırıyoruz ve şunu yazıyoruz;
Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List

Registry Girişleri
“Win+R” > “regedit”

Bu şekilde Kayıt Defteri görüntülenmektedir.

PowerShell’de görüntülemek için ;
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Kayıt defteri girdilerini silmek için şu komut kullanılır;
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PSHome
Aktif TCP ve UDP Bağlantı Noktaları (netstat komutu)
Network üzerine gelen giden bağlantılar, yönlendime tabloları, port dinleme ve kullanım istatistikleri ile alakalı ayrıntılı bilgileri buradan elde ederiz.
netstat -ano

IP’yi ve yerel bağlantı noktalarını görüntülemek için PowerShell’de farklı bir komut da çalıştırılabilir.
Get-NetTCPConnection -LocalAddress 192.168.1.145 | Sort-Object LocalPort

Dosya Paylaşımı
PowerShell’de dosya paylaşımını görüntülemek için şu komut yazılabilir.
Get-SMBShare

Dosyalar
Kötü amaçlı olabilecek ya da belirli uzantıdaki dosyaları görüntülemek için “forfiles” komutu kullanılmaktadır. Forfiles bir komut satırı yardımcı programıdır.
Örnek olarak,
.exe dosyalarını komut satırında pathleri ile görüntülemek için;
forfiles /D -10 /S /M *.exe /C "cmd /c echo @path"

Dosyaları yolu, belirli dosya uzantısı ve değişiklik tarihi ile ilgili daha fazla ayrıntı olmadan görüntülemek için,
forfiles /D -10 /S /M *.exe /C "cmd /c echo @ext @fname @fdate"

Son 10 gün içerisinde değiştirilen dosyaları kontrol etmek için;
forfiles /pc: /S /D -10

Güvenlik Duvarı Ayarları
Güvenlik duvarı yapılandırmaları ve gelen giden tarfiği komut isteminde görüntülemek için;
netsh firewall show config

Komut isteminde güvenlik duvarı ayarlarını görüntülemek için;
netsh advfirewall show currentprofile

Açık Oturumlar
Sistem üzerinde açık olan herhangi bir oturumu görmek için;
net session

Log Girişleri
“Win+R”
eventvwr.msc

Belirli bir olayın günlüklerini sışarıya aktarmak için;
wevtutil qe security
![]()
PowerShell’de olay günlüğü listesini almak için;
Get-EventLog -List

Buraya kadar okuduğunuz için Teşekkürler. 🙂
kaynaklar:
- https://snynr.medium.com/incident-response-bilinmesi-gereken-windows-komutlar%C4%B1-585a540a4877


