Zararlı Process Tespiti 1 — Log Analysis — Security | Sysmon | T1055
Zararlı process tespiti blog yazısı ile elimizdeki mevcut loglar üzerinden olay analizini yaparken nelere dikkat etmemiz gerektiğini anlatacağım. Process injection 11'e yakın alt-teknik barındırmaktadır. Burada bu detaylara girmeyeceğim. Hedef, loglar üzerinden bir çıkarımda bulunmaktır. Bu saldırı tekniği güvenlik cihazlarından kaçınmak veya yetki yükseltmek için kullanılabilmektedir.
Windows sistemlerde belirli işleri yapmak için process’ler kullanılır. Bu process’lerin bazıları işletim sistemi tarafından, bazıları kullanıcılar tarafından otomatik veya manuel olarak çağırılır. Kullanıcılar tarafından çağırıldığı gibi kötü niyetli hackerlar tarafından da çağırılabilir.
Burada kilit nokta log’u nereden aldığınızdır. Örnek olarak, sysmon ile alınan loglarda çağırılan process’in hash değerine erişim sağlayabilir ve bu hash üzerinden bu process’in üzerinde herhangi bir injection işlemi gerçekleştirilip gerçekleştirilmediğini tespit edebilirsiniz. Ama bunu security log’u ile yapamazsınız.
Log analizleri esnasında bir process’in zararlı olup olmadığını anlamak için belirli yöntemler vardır. Bunlardan bazıları aşağıdaki gibidir.
1.Process name’in olağan dışı olduğu durumlardır.
Örnek olarak svchost.exe yerine svchot.exe yazması. Ya da lsass.exe yerine lsas.exe yazması.
2.Process Path’i olağan dışı olan durumlardır.

Görsel 1.1'de gördüğünüz gibi New Process Name değerinin karşısında (C:\Windows\System32\whoami.exe) process adı ve path’i mevcuttur. Bu path whoami.exe için olağandır. Bu process eğer C:\whoami.exe path’inde olsaydı bu aktivite şüpheli olur muydu?
Normal > %SystemRoot%\System32\svchost.exe
Abnormal > %SystemRoot%\svchost.exe
Bu durum default lokasyonunda olmayan/çalışmayan her process için suspicious bir aktivitedir.
3. Dışarıya doğru bağlantı yapan process’ler hassas noktamız olmalıdır. Nereye gidiyorsun kardeşim?

Görsel 1.2'de gördüğünüz üzere bir çok process bu aktiviteyi legal olarak gerçekleştirir. Bu her zaman geçerli olan bir durum değildir. Bu aşama çoğu zaman saldırganların saldırının son aşamalarına yaklaştığının bir göstergesi olabilir. Dışarıya bağlantı yapan process’ler izlenmeli.
Bağlantı yapılan adres istihbarat kaynaklarınca değerlendirilmelidir. X için çalışan bir process dışarıya bir bağlantı sağlıyor. Siz bunu araştırıyorsunuz ve elinize bir domain geçiyor. Domain için 2–3 dakika boyunca istihbarat kovalıyorsunuz. Çıktılar temiz gelince bu size anormal bir aktivite olarak gelmiyor. Whois sorgusu burada çok ciddi fark yaratır. Yeni alınmış bir domain için zaten olumsuz istihbarat olmayabiliyor. Ya da bu domainin ilk suçu olamaz mı?
Not:IBM x-force üzerinden istihbarat topladığınızı var sayalım. Burada risk 1 çıktı. Whois baktınız bir sorun yok, bu domain uzun süredir aktif olarak kullanılıyor. Eğer domain kontrol ediyorsanız ayrı olarak DNS record üzerinden de kontroller sağlayalım. Eğer IP adres üzerinden kontrol sağlıyorsanız Passive DNS kontrolü sağlayalım. Domain veya IP adresi ile ilişkili farklı IP adresleri ve domainler genel olarak karşılaşılan bir durumdur. İlişkili oldukları domain ve IP adresleri ile ilgili riskli bir durum varsa bu olaya dahil edilmesi gereken bir durumdur. (DGA ve fast fluxing teknikleri farklı bakış açıları katabilir. Bu iki tekniği mutlaka biraz araştırmak gerekiyor.)
Not2:İstihbarat toplamak için kullandığım 6–7 farklı platform var. Ama en büyük faydayı intext:Ip_Adres aramasından sağlıyorum.(google dork)
İsithbarat ayrı bir şey o yüzden küçük notlar vermek istedim.(Ucu bucağı yok oranın pek)
4. Parent Process ve child process arasındaki ilişki ayırt edici olabilir. Abnormal ilişkili process’ler suspicious olarak değerlendirilmelidir. Hemen bir örnek ile inceleyelim.
svchost.exe için normal olan parent process services.exe ‘dir. lsass.exe için normal olan parent process wininit.exe ‘dir. Bazı process’ler için bu kadar net olmayabiliyor. Ama bize sağladığı bilgi çok ciddi fayda sağlayabilir.
Eğer svchost.exe’nin parent process’i farklı bir değerse bu durum suspicious bir aktivitedir.
5. Bu process kime bağlı? Yani kim tarafından çalıştırıldı?
Process’i çalıştıran user bize önemli bilgiler verecektir. İki örnek ile devam edelim.
svchost.exe genel olarak Local System, Network Service veya Local Service ile çalışırlar ama farklı durumlara da rastlanabilir. Farklı olan her şeye şüpheli gözü ile bakmak ve olay için soruşturma süreci başlatmak gerekir.
Lsass.exe process’i genel olarak Local System tarafından çağırılır. Başka birisi çağırıyorsa bu işte bir sıkıntı olabilir. Hemen investigateeee!
6. Hash varsa işimiz çok kolay.
Process hash’ini görebilmek için sysmon üzerinden log almamız gerekiyor. Security log’u içerisinde hash diye bir şey yok.
Kaliteli bir analiz için kaliteli log kaynaklarına ihtiyaç var. Log kaynaklarımız bir olayı analiz etmemizde hatta ve hatta bir olayı tespit etmemizde(kural yazımı) inanılmaz fark yaratır.
Security üzerinden aldığın log için yazacağın kuralın kapsamı ile sysmon üzerinden aldığın log için yazacağın kuralın kapsamı çok farklı. Bu false-pozitif azaltmak içinde size extra fayda sağlar. Çalışan verimliliğini arttırır.
Not:Hash değeri ile isithbarat toplayacağınız guzide platformlardan bir tanesi virustotal.com’dur.

Görsel 1.3 içerisinde MD5 ve SHA256 gibi hash değerlerini görüyorsunuz. Bu hash değerleri whoami.exe dosyasına aittir. (OriginalFileName)
Daha fazlası için Mitre att&ck adresini ziyaret edebilirsiniz.
Serinin devamında görüşmek üzere.
To be continued