Modbus TCP Üzerinde Man-In-The-Middle Saldırısı

Modbus, endüstriyel otomasyon sistemlerinde kullanılmak için geliştirilmiş bir seri iletişim protokolüdür. Aynı zamanda kullanıcıların telif ücreti ödemeden kullanabileceği açık bir protokoldür. Bu yazıda Modbus TCP ye yönelik MiTM saldırısından bahsedilecektir.

Saldırı ortamı için Coil değerleri 0 olan bir Slave simülatör (ModbusPal) ve Coil değerlerini değiştirmesi için Master cihazı (Modbus Master) farklı 2 adres üzerinde kurulur. EKS çalışma ortamı kurulumu ile ilgili olan blog yazıma buradan ulaşabilirsiniz.

Slave

Modbus master

Saldırının amaçı ağ içerisinde PLC ile Master cihaz arasına girip paketleri okumak ve değiştirmektir. Böylece ağ içerisinde modbus paketleri üzerinde manipülasyon yapılabilecektir.

NOT: Saldırgan cihazda IP yönlendirmesi açık olmalıdır. Aşağıdaki komut ile IP yönlendirmesi aktif edilebilir.

echo 1 > /proc/sys/net/ipv4/ip_forward

Arp zehirlemesi yapılarak saldırıya başlanır, bunun için “ettercap” aracı kullanılabilir.

Saldırı senaryosu
Arp zehirlenmesi başlatılmıştır

Arp zehirlenmesinin ardından gelen modbus paketleri içerisinde Coil değelerini “1” yapmak isteyen paketleri düzenleyip “0” yaparak yeniden gönderen bir filtreleme yazılır.

Ettercap scripti

Yazılan filtre ettercap e  uygun hale getirilmelidir. Dönüşümü gerçekleştirmek için “etterfilter” kullanılır.

Etterfilter ile yazılan filtre ettercap e uygun hale getirildi

Hazırlanan filtre ettercap e yüklenir ve Master cihazdan Coil değerini değiştiren paket gelmesi beklenir.

Filtre yükleme

Modbus Master, Coil değeri olarak “1” göndermesine rağmen cihaz adres üzerine “1” yazmaz.

Modbus master “1” değerini gönderiyor
Slave üzerindeki değer değişmiyor

Wireshark ile ağ trafiği incelendiğinde gönderilen değerin ilk olarak “1” olduğu fakat daha sonrasında “Retransmission” şeklinde yeniden bir paket gönderilerek değerin “0” yapıldığı görülür.

Böylece MITM saldırısı ile gelen paketler manipüle edilerek istenilen şekilde hedefe ulaştırılmıştır.

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir