Malware Hunting using Procmon and Procexp
Last updated
Last updated
Malware testleri yaptığım bir sanal makinamda bir conhost.exe process'i sürekli olarak %50 civarlarında CPU tükettiğini ve memory'den de kullanmasa dahi yaklaşık 2.5 GB kadar yer allocate ettiğini fark ettim.
Conhost.exe'nin temel görevi, komut satırı penceresinin görünümünü ve işlevselliğini sağlamaktır. Bu, pencerenin boyutunu, rengini ve konumunu kontrol etmeyi, metin ve grafiklerin görüntülenmesini ve kullanıcı girişinin işlenmesini içerir.
Ancak burada sorun şu ki, bu process'i kill ettikten hemen sonra tekrar ayağa kalkmaktadır.
Bu process'i kapattıkça tekrardan ayağa kalkmasının sebebi, bunu aslında başka bir process'in yapıyor olması. Bu yüzden Bu process'in parent'ini bulmak için özelliklerine bakmayı deneyelim.
Devamında herhangi bir zararlı IP veya domain ile bir bağlantı kurup kurmadığını anlamak için TCP/IP sekmesine gidelim.
IP ve Domaini kontrol ettiğimizde IP adresinin bir adet vendorda zararlı olarak etiketlendiği;
Domainin ise reputation skoru'nun 98.9 olduğunu görmekteyiz.
İncelemelere devam ettiğimizde conhost.exe'nin parent process'inin gözükmemekte olduğu ancak process id'sinin yer aldığını görebilmekteyiz. Parent'in process id'sini kontrol ettiğimizde ise o da process explorer'de yer almamaktadır.
Conhost.exe'yi hangi process'in ayağa kaldırdığını anlamak için procmon kullanabilir. Yapmamız gereken şey ise procmon başlatmak ve conhost.exe'yı kill ettikten sonra procmon'u tekrar durdurmaktır.
Procmon logunu durdurmamızın ardından filtre bölümüne gidip yeni oluşan conhost.exe'nin process id'sini filtreye ekleyelim.
Filtreyi ekledikten sonra yeni conhost.exe process'inin başlama anından itibaren ne gibi aktivitelerde bulunduğunun bir kısmını görebilmekteyiz.
Tekrardan conhost.exe'ye çift tıklamamızın ardından parent process'inin ID'sinin 1592 olduğunu görüyoruz. Procmon'da PID filtresi olarak 1592 ID'sini girdiğimizde conhost.exe'yi başlatan process'in ne olduğunu görebiliyoruz.
Process'in nerede olduğunu bulabilmek için process'e çift tıklayıp özelliklerine bakalım.
İlgili path'e gidip dosyanın hash'ini virustotal'e sorduğumuzda ise dosyanın 47 üretici tarafından malicious olarak flag'lendiğini görmekteyiz.
Ardından ilgili dosyayı sildiğimizde ve process explorer'e baktığımızda conhost.exe'nin tekrardan ayağa kalktığını görüyoruz.
Ardından sildiğimiz malicious dosyaya baktığımızda tekrardan oluşturulduğunu görüyoruz.
Ardından malicious dosyayı hangi process'in oluşturduğunu görmek adına filtremizi değiştirdik.
Procmon'u tekrar yakaladığımızda malicious dosyayı da başka bir conhost.exe process'inin oluşturduğunu görmekteyiz.
ID'si 3484 olan conhost.exe process'ini kill ettiğimizde ise tekrardan ilgili malicious dosyanın tekrar oluşturulmadığını ve dolayısıyla da sistem kaynaklarını tüketen conhost.exe'nin de tekrar oluşturulmadığını görmüş olduk.