Miori Zararlı Yazılımı ve Uygulanabilecek SIEM Kuralları

Genel Bakış

Her geçen gün kullanımı yaygınlaşan IoT(Internet of things) cihazlar ile beraber bu sistemlere karşı ortaya çıkan zararlı yazılımlar da artıyor. Bu zararlıların içerisinde belki de en çok duyulanı Mirai botnetidir. Mirai ve türevi olan Miori’ye geçmeden önce botnetin ne demek olduğunu açıklayalım. Zararlı yazılım bulaştıktan sonra başka biri tarafından kontrol edilen sistemlere bot denir. Botnet ise birden fazla botun oluşturduğu botlar topluluğudur. Botnetler genelde DDoS ataklarında kullanılmaktadır. Mirai zararlısı ilk olarak Ağustos 2016’da tespit edildi. Mirai’nin şimdiye kadarki en büyük DDoS ataklarında kullanıldığı ortaya çıkmıştır [1]. 2016’da kaynak kodlarının yayınlanmasından[4] sonra çok fazla Mirai türevi çıkmıştır. Miori ise Aralık 2018’de keşfedilen bir Mirai türevidir. IoT cihazları hedef alan Miori, genel olarak belirli bir zafiyeti hedef alıp, o zafiyet üzerinden kurbanlarına bulaşmıştır.
Bulaşma Yolları
Miori bir PHP kütüphanesi olan ThinkPHP’nin 11 Aralık 2018’de yayınlanan Remote Code Execution (RCE) açığını[2] kullanıyor. Bu açık ThinkPhp 5.0.23 ile 5.1.31 versiyonları arasında kullanılabiliyor. Miori dışında başka Mirai türevleri olan IZ1H9 ve APEP’in de aynı zafiyeti kullandığı ortaya çıkıyor. ThinkPHP açık kaynak bir CMS kütüphanesidir. Geliştiricileri Çinlidir ve Çin’de kullanımı fazladr. Shodan’da küçük bir aramayla toplam 46,048 adet sistemin ThinkPHP ile çalıştığını görebiliriz.

Shodan'dan 05.01.2019 tarihinde alınan ThinkPHP kullanım istatistiği







Temel Bilgiler

MIME                         application/octet-stream
Dosya Bilgisi             ELF 64-bit Çalıştırılabilir Dosya
MD5                           e46db7ceeff2378b8dcdc153c5f97ef3
SHA1                         29a5ddf26a48986e27e85f11df0b35ba90f44788
SHA256                     12a4775fce7e59ce2a71e7f4de07debeba6e534e1c256870ca576cabbb35affd    




VirusTotal sonucunda 19 anti-virüs programı tarafından zararlı bulundu.


Sistem Üzerinde Neler Yapıyor?

Miori’yi daha iyi anlamak için sistem üzerinde genel hatlarıyla neler yaptığını açıklamak isterim. Saldırgan ilk başta ThinkPHP zafiyetini sömürüp sisteme erişim sağlıyor. Erişimi sağladıktan sonra saldırgan kendi sunucusundaki zararlı yazılımı, işlemci türüne göre(x86, arm vb.), indirip çalıştırıyor. Zafiyeti sömürdükten sonra sisteme bulaşan zararlı çalıştığı zaman aşağıdaki gibi bir çıktı vermektedir.
Miori çalıştığındaki çıktı
Miori çalıştıktan sonra 80.211.57.80 ip adresine TCP paketleri yollamaktadır. Bu IP adresinin detayları şu şekildedir.


IP adresi hakkında genel bilgi





 
Sisteme bulaştığını onaylamak için C&C’ye “/bin/busybox MIORI” komutunu yolluyor. Sisteme bulaştığını haber verdikten sonra C&C’den komutları beklemeye başlıyor.

Miori'nin kontrol sunucusyla haberleşmesi



Bunların dışında TrendMicro firmasının yaptığı araştırmalar sonucu içerisinde gömülü olan stringlerin XOR’lanmış olduğu ortaya çıktı[3]. XOR anahtarı ise 0x62’dir.
Orjinal                          Şifrelenmiş
MIORIh                         B/+-0+b
-9 h                               BO[Bb
/FTWDT101\ h           M$65&6SRS>B
  

Özet

Miori zararlı yazılımının ne olduğunu ve ne yapmaya çalıştığının anlatıldığı bu yazıyı, güzel bir özet görseliyle destekleyebiliriz.
                                                 

 
Miori türünün ilk örneği değil ve son örneği de olmayacak gibi gözüküyor. IoT cihazların yaygınlaşmasıyla daha da yetenekli zararlı yazılımlar göreceğimize şüphe yok. Öneriler kısmında anlatılanların uygulanması halinde sistemlerimiz daha güvenli hale gelebilir.
Öneriler
  • Sisteminizi her zaman güncel tutun.
  • ThinkPHP kullanıyorsanız hemen güncelleme yapın.
  • IoT cihazlarınızı varsayılan kullanıcı adı ve parolaları ile kullanmayın.
  • IoT cihazlarınızı sadece kendi belirlediğiniz adreslerden erişim sağlayacak şekilde ayarlayabilirsiniz.
  • Güvenmediğiniz dosyaları çevrimiçi araçlarla(VirusTotal, hybrid-analysis vb.) kolayca analiz edip, ondan sonra çalıştırabilirsiniz.
Miori’nin tespit edilmesi için kullanılabilecek Sigma kuralları

Miori ve kontrol sunucusu arasındaki haberleşmenin tespiti için kullanılabilecek kural: 

title: Miori botnet communication with C&C server. 
description: Detect suspicious traffic of Miori botnet communicate with C&C server.
author: Burak ÇARIKÇI
references:
https://blog.trendmicro.com/trendlabs-security-intelligence/with-mirai-comes-miori-iot-botnet-delivered-via-thinkphp-remote-code-execution-exploit/
date: 2019/01/02
status: testing
logsource:
category: firewall
detection:
outgoing:
dst:
- 80.211.57.80
- 144.202.49.126
incoming:
src:
- 80.211.57.80
- 144.202.49.126
condition: outgoing or incoming
falsepositives:
- Unknown
level: high

Yazıda bahsedilen ThinkPHP zafiyeti için aşağıdaki kural kullanılabilir:
 
title: ThinkPHP 5.0.23/5.1.31 - Remote Code Execution.
description: This rule detects remote code execution vulnerability in ThinkPHP between versions 5.02.23 - 5.1.31. Usage of this exploit may be pointed to Miori botnet.
reference: https://www.exploit-db.com/exploits/45978
author: Burak ÇARIKÇI
status: testing
date: 2019/01/02
logsource:
product: web
detection:
selection1:
URL:
-
*/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=php%20-r%20'*;'
condition: selection1
fields:
- URL
falsepositives:
- Unknown
level: high
mitre-attack:
Command and Control:
- Execution
- Web Service

Busybox tespiti: 

title: Detect BusyBox usage on Linux systems.
description: BusyBox usage can refer to Mirai or Mirai variant botnets.
references:
https://www.alienvault.com/blogs/security-essentials/the-mirai-botnet-tip-of-the-iot-iceberg
https://www.malwaretech.com/2016/10/mapping-mirai-a-botnet-case-study.html
author: Burak ÇARIKÇI
status: testing
date: 2019/01/02
logsource:
product: linux
service: auditd
detection:
cmd:
- type: 'EXECVE'
a0: 'busybox'
a1: '*'
condition: cmd
falsepositives:
- Admin activity
level: medium

Kaynakça
  1. 2016 Dyn cyberattack: https://en.wikipedia.org/wiki/2016_Dyn_cyberattack
  2. ThinkPHP 5.0.23/5.1.31 - Remote Code Execution zafiyeti: https://www.exploit-db.com/exploits/45978
  3. With Mirai Comes Miori: IoT Botnet Delivered via ThinkPHP Remote Code Execution Exploit: https://blog.trendmicro.com/trendlabs-security-intelligence/with-mirai-comes-miori-iot-botnet-delivered-via-thinkphp-remote-code-execution-exploit/
  4. Mirai’nin kaynak kodları: https://github.com/jgamblin/Mirai-Source-Code
Burak Çarıkçı
CT-Zer0
CRYPTTECH

Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

1. Geleneksel Stajyer CTF Soru ve Cevapları

B*-Tree (BTree, BPlusTree) Veri Yapısı ile Veri İndeksleme

2. Geleneksel Stajyer CTF Soru ve Cevapları - 2017