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