26.12.2023

Sysmon'da No declaration for element DestinationIP hatası

Sysmon'da kullanmak üzere bir XML yapılandırma dosyası hazırladım. Belli bir IP adresi ile yapılan iletişimin kayda geçmesi için hedef IP adresini belirtmek istedim, hatta bazı portları. Bunun için SwiftOnSecurity'nin yapılandırma dosyasını baz alarak üzerinde bazı değişiklikler yaptım. NetworkConnect (Id=3) olayı için şuna benzer bir yapılandırma oldu:

<RuleGruop name="Network" groupRelation="or">
  <NetworkConnect onmatch="include">
    <Image> ...</Image>
    ...
    <DestinationIP name="target" condition="is">192.168.22.2</DestinationIP>
    </NetworkConnect>
</RuleGruop>

Bu include bloğu sonrasında da kısa bir exclude bloğu var. Ama yapılandırma dosyasını

> sysmon -c config.xml

ile devreye almak istediğimde hata veriyordu. -t ile hata bulma modunda baktığımda şöyle hatalar veriyordu:

No declaration for element DestinationIP
No declaration for attribute name of element DestinationIP
No declaration for attribute condition of element DestinationIP
LIBXML2 Error: Failed to validate the xml configuration: config.xml

Bu hatalardan bir anlam çıkaramadım. Karşı tarafın IP adresinin belirtilmesi için kullanılan Destination IP alanının varlığından eminim, kullanan yapılandırma dosyaları da gördüm. Yaptığım aramalarda da bir sonuç bulamadım. İşi bilen birine danışmak lazım, ama öyle birini de bulamadım. Sonra aklıma Google Bard (geçen haftaki Gemini reklamlarından sonra) geldi, kısaltılmış yapılandırma dosyam ile aldığım hataları ona gönderdiğimde bana çok net bir şekilde hatamı söyledi:

Çözüm: DestinationIP öğelerini DestionationIp ile (küçük "p") değiştirin.

Bunu Barış Özcan söylemişti; yapay zeka her zaman soru sorabileceğimiz konuyu bilen bir arkadaşımız gibi.

25.12.2023

Sami Laiho'dan ipuçları

Windows dünyasının ünlü kişiliği, şu konuşmasında bazı Windows ipuçları vermiş. Bazılarını özetlemek istedim:

  • Politikalar, kötü niyetli yazılımlar vs ile komut satırı penceresini açmamız engellenmişse bile Görev Yöneticisi'nde Dosya menüsünden yeni çalıştır'a Control tuşu ile basarsak komut satırı penceresi açılır. Üstelik de yükseltilmiş ayrıcalıklarla.
  • Görev çubuğuna Control ve Shift ile birlikte sağ tıklayınca açılan menüde "Explore'dan çık" görüntülenir.
  • Alt+F4 ile açılan windows kapatma diyaloğunda İptal' Control+Shift+Alt ile basarsak bütün explorer.exe süreçleri sonlandırılır. Tekrar başlatmak için Ctrl+Alt+Del veya Ctrl+Shift+Escape ile Görev Yöneticisini başlatıp buradan yeni görev oluşturmak gerekir.
  • Buraya kadarki numaraların Dave Cuttler'a ait olduğunu, Windows 10 ve daha yeni Windows'larda ise Görev Yöneticisi'nde explorer.exe'ye sağ tıkladığımızda "Yeniden Başlat" seçeneğinin olduğunu vurgular, Sami.
  • Resmi yardım belgelerinde yer almayan komut satırı anahtlarlarını edinmek için yine bir Sysinternals aracı olan strings'in kullanılabiliriz:
    • strings wuauctl.exe
  • Windows'un professional sürümlerinde yer alan logoff.exe ile komut satırından oturum kapatmanın mümkün. Ama home sürümlerinde yok.
  • whoami /all ile Mandatory Level seviyemizi görebiliyoruz. Bu neden önemli, yükseltilmiş yetkilerle çalışan bir komut satırı penceresine normal yetkilerle çalıştırılmış bir Explorer penceresinden dosya yolunu sürükleyip bırakamıyoruz artık, Vista'dan beri. Bunun sebebi bu Mandatory Level'lar. Bu bilgiye Process Explorer'da bir sürecin Security sekmesinden de erişebiliyoruz. Hatta Appdata klasörünün altında hem Local hem de Locallow klasörlerinin olmasının sebebi de bu Level'lar. Low olan browser'larımız, Outlook, Adobe Reader gibi programların birşeyler yazması için.
  • Normal copy komutu ile yapamadığımız işleri robocopy /b komutu ile yapabiliyoruz. 

 

24.12.2023

Could not open /dev/vmmon

Linux'ta VMware Workstation Player kullanırken, çekirdek güncellemeleri sonrasında aşağıdaki gibi bir hatayla karşılaşıyorum ve sanal makineler açılmıyor.

Şu adresin yardımıyla çözümü aşağıdaki gibi buldum:

$ sudo vmware-modconfig --console --install-all
$ sudo modprobe -a vmw_vmci vmmon

Bir sonraki açılışta herşey normal.

23.12.2023

Sistem olay kaydında SChannel 36882 olayı

Bir süredir bazı makinelerin sistem olay günlüklerinde çok sayıda Schannel (id=36882) olaylarının olduğunu gördüm. Bunların neden olduğunu anlayamıyordum. Şu sayfada da yazdığı gibi bu hataların sebebi kurulu sertifikaların birisi ile ilgili. Hangi sertifika olduğunu bulmak için olayın ayrıntılar sekmesinde kolay görünüm kipinde listelenen verilerin içinde ANSI kodlanmış karakterlerin arasında sertifika ile bilgilere bakarak bir sonuca varabildim.

21.12.2023

Fortigate ve SSL Inspection

SSL inspection yaparken Fortigate'in sertifikasını kurmak gerekir. Bunun için Fortigate arayüzüne oturum açıp System > Certificates sayfasına gelerek sayfanın başlarında yer alan Local Ceritificates başlığı altında muhtemelen Fortigate_SSL_Cert şeklinde listelenen sertifikayı bilgisayarımıza indirerek Güvenilir Kök Sertifika Yetkilileri (Trusted Root Certification Authorities) alanına eklemeliyiz.

14.12.2023

Powershell modülleri

Powershell'de modül oluşturmak basit. Belgelerim klasörünüzün altında WindowsPowerShell klasöründe Modules adında bir alt klasör var. Bu konumda modülünüzle aynı isimli bir klasör oluşturup modül dosyanızı da bu klasöre kopyalamanız yeterli. Modül dosyası ise .psm1 uzantılı normal bir powershell dosyası olacak, içinde fonksiyonlarınızın tanımlı olduğu.

Normal şartlar altında Import-Module kullanmaya gerek yok; modüllerin içinde tanımlanan fonksiyonların isimlerini yazmak yeterli, modüller otomatik yükleniyor.

Ancak elimdeki modül dosyasını uzaktaki bir bilgisayara kopyalamama rağmen şöyle bir hata alıyorum.

Bu dosya benim bilgisayarımda da var, ama sayısal imza aramıyor. Neden uzak bilgisayarda arar? Bu arada uzaktaki bilgisayarda ExecutionPolicy'yi de RemoteSigned yaptım. Bypass olarak seçince çalıştı. O zaman farkettim ki olay RemoteSigned için farklılık gösteriyor. Demek ki benim uzaktaki bilgisayara kopyaladığım dosyanın Zone.Information ADS'si ile ilgili olabilir. Modül klasörüne gidip baktım:

PS> Get-Item .\Lib1.psm1 -Stream *

Evet, Zone.Information var. Önce bu engeli kaldıralım.

PS> Unblock-File .\Lib1.psm1

Sonrasında işlem başarılı.

10.12.2023

OSI katmanları

Basitleştirilmiş bir tanım ile akılda kalıcı olması açısından OSI ağ katmanlarını şöyle sıralayabiliiriz:

1. Fiziksel katman: Cihazlar arasnıdaki fiziksel bağlantının yapıldığı katman. Örnek: Kablolar, konnektörler, her bir bitin iletildiği ethernet veya fiber kabloları.

2. Veri bağlantı katmayı: Verinin aynı ağdaki cihazlar arasında güvenli bir şekilde iletilmesi işlerini yürüten katman. Örnek: Layer2 switch'ler olarak bilinen sadece MAC adreslerine bağlı olarak çalışan ağ cihazları. Bu katman, karşı taraftaki katman ile Ethernet gibi bir protokol ile görüşür. Paketlere MAC adresinin eklendiği yerdir.

3. Ağ katmanı: Verinin farklı ağlar veya alt ağlar arasında route edilmesinden sorumlu katman. Bu katmanın odağı IP adresleridir. Veri iletişimini IP tabanlı ayırır. Paketlere gönderen ve alıcı IP adresleri eklenir. Bir üst katmanda ayını IP adresinden gelen veriler portlarına göre de ayrılır. Örnek: Router'lar, Layer3 switch'ler olarak bilinen ve IP adreslerine göre paketleri iletebilen ağ cihazları.

4. Taşıma katmanı: Bu katmanda verinin uçtan uca güvenli bir şekilde iletilmesi sağlanır. Hata kontrolü yapılır. Bu katmanın odağı portlardır. Ağ katmanından gelen verileri port numalarına göre ilgili uygulama/hizmetlere teslim ederek, uygulamalardan/hizmetlerden gelen verileri de uygun port numaraları ile ağ katmanına iletir. Örnek olarak TCP ve UDP protokolleri bu katmanın kapsamındadır.

5. Oturum katmanı: Farklı cihazlardaki uygulamalar arasındaki oturumları veya bağlantıları yönetir. Örnek: NetBIOS.

6. Sunum katmanı: Veriyi uygulama katmanı ile alt katmanlar arasında çevirir, veri formatı ve şifreleme ile ilgilenir. Örnek: SSL ve TLS gibi şifreleme protokolleri.

7. Uygulama katmanı: Ağ hizmetlerini doğrudan son kullanıcıra veya uygulamalara sağlar. Örnek: HTTP, SMTP ve FTP gibi protokoller.

Kaynak: ChatGPT 3.5, _Drunk Engineer_