Linux Sysmon

Ben Ubuntu dağıtımı üzerinde Sysmon'u kurmayı planlıyorum. Eğer siz farklı bir Linux dağıtımı üzerinde bunu yapacaksanız aşağıdaki linkteki adımları takip edebilirsiniz. https://github.com/Sysinternals/SysmonForLinux/blob/main/INSTALL.md
O halde Sysmon kurulumuna başlayalım.
1.
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
2.
sudo dpkg -i packages-microsoft-prod.deb
3.
sudo apt-get update
4.
sudo apt-get install sysmonforlinux
Eğer bu aşamada aşağıdaki hatayı alıyorsanız bir sonraki adımı deneyiniz.

5. Not: Yanlızca 4. aşamada hata alırsanız bu aşamayı deneyiniz.
sudo apt-get install sysmonforlinux --fix-broken

Bu noktada Sysmon kurulmuş oldu ancak sysmon bir de config dosyası ile çalışmakdır. İlgili config dosyasında da sysmon'un hangi logları toplayacağı belirtilmektedir. Temel bir Sysmon Config dosyasını aşağıdaki linkten edinebilirsiniz. https://gist.github.com/olafhartong/56bfbbe1a43ba675fdf5b9f194d608af
Ardından ilgili komut ile config dosyamızı import edebiliriz.
sysmon -accepteula -i sysmon-linux-sample-config.xml

Bu aşamadan sonra Sysmon loglarını kendi log dosyasına yazmaya başlamaktadır. Yazdığı logları gerçek zamanlı olarak görmek için ise aşağıdaki komutu kullanabiliriz.
tail -f /var/log/syslog

Örnek bir logu incelememiz gerekirse, gördüğümüz gibi Event ID olara 3 gözükmekte. Event ID 3 ise, bir TCP connection'un başlatıldığı anlamına gelmektedir. Bunu yanında bu log özelinde; ->Kullanılan protokol, ->Hangi User ile yapıldığı, ->Bağlantının başarı ile kurulup kurulamadığı, ->Source IP, Source Port, Dest IP, Dest Port bilgileri, Gibi bilgiler bizlere sağlanmaktadır.
Bunun yanında diğer Event ID'lerin ne anlama geldiği hakkındaki bilgiye de aşağıdaki tablodan erişebilirsiniz.
1
ProcessCreate
Process Create
2
FileCreateTime
File creation time
3
NetworkConnect
Network connection detected
4
n/a
Sysmon service state change (cannot be filtered)
5
ProcessTerminate
Process terminated
6
DriverLoad
Driver Loaded
7
ImageLoad
Image loaded
8
CreateRemoteThread
CreateRemoteThread detected
9
RawAccessRead
RawAccessRead detected
10
ProcessAccess
Process accessed
11
FileCreate
File created
12
RegistryEvent
Registry object added or deleted
13
RegistryEvent
Registry value set
14
RegistryEvent
Registry object renamed
15
FileCreateStreamHash
File stream created
16
n/a
Sysmon configuration change (cannot be filtered)
17
PipeEvent
Named pipe created
18
PipeEvent
Named pipe connected
19
WmiEvent
WMI filter
20
WmiEvent
WMI consumer
21
WmiEvent
WMI consumer filter
22
DNSQuery
DNS query
23
FileDelete
File Delete archived
24
ClipboardChange
New content in the clipboard
25
ProcessTampering
Process image change
26
FileDeleteDetected
File Delete logged
27
FileBlockExecutable
File Block Executable
28
FileBlockShredding
File Block Shredding
29
FileExecutableDetected
File Executable Detected
Table Source: https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
Şimdi ise zararlı bir dosyanın Linux üzerinde ne gibi aktivitelerde bulunduğunu Sysmon ile gözlemleyelim.
Loglara baktığımızda 23 ID'li bazı eventler görmekteyiz. Yukarıdaki tablodan da teyit edebileceğimiz gibi 23 nuamralı event ID, dosya silme anlamı ifade etmektedir. Silinen dosyalardan bazılarına baktığımızda ise reboot, shutdown, halt, poweroff gibi binary dosyalarıdır. Zararlının bunları silmesinin sebebi, endpoint üzerindeki kontrolünü arttırmak, endpoint'in kapatılmasını, yeniden başlatılmasını engellemek olabilir.

Logları incelemeye devam ettiğimizde ise çok sayıda 3 ID'li event'in oluştuğunu görüyoruz.

Farklı IP'lere TCP bağlantılarının ilk paketi olan SYN paketlerinin gönderildiği gözlemlenmektedir.

Yani bu zararlı görünüşe göre sistem yöneticisinin ya da endpoint sahibinin virüs enfeksiyonu sonrasında sistemi reboot edebilmesi ve kapatabilmesi gibi fonsiyonlarına erişememesi sağlama ve bunun ardında çok sayıda farklı IP'ye TCP handshake başlatarak bulunduğu host'un band genişliğini doldurmak ve sistem belleğini kullanmak üzere kaynak tüketimini arttırmayı hedefliyor olabilir. Çünkü bir SYN paketinin memory'dek boyutu yaklaşık olarak 62 byte'dır.
Sonuç olarak Windows endpoint'lerde yapabileceğimiz gibi Linux endpointlerde de Sysmon ile aktiviteleri inceleyip zararlı aktiviteler için bir görünürlük katmanı sağlayabiliriz.
Last updated