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.

ID
Tag
Event

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