Daha önce sizlere önemli olduğunu düşündüğümüz ve defansif çözümler üretilebilmesi adına yön göstermeyi amaçladığımız SCADA sistemlerinin nasıl tespit edilebileceğine dair bir yazı paylaşmıştık. Bu sefer SCADA sistemlerinin tespiti ardından bu sistemlerde zafiyetlerin nasıl tespit edilebileceğinden ve nmap aracımız sayesinden SCADA sitelerinin tespitinden bahsedeceğiz. Konuya başlamadan önce henüz okumadıysanız SCADA Sistemlerinin Tespiti başlıklı konumuzu okumanızı şiddetle tavsiye ediyoruz. Bu sayede SCADA sisteminin ne olduğundan, SCADA sistemlerinin kullandığı protokoller ile ilgili vs. daha fazla bilgiye sahip olacaksınız ve bu konuyu daha donanımlı bir şekilde okuyor olacaksınız.

Google Dork’ları İle SCADA Sistemlerinin Arayüzünü Bulmak

Web arayüzünde çalışan SCADA sistemleri bulunmakta. Bu sistemlerin tespiti Google Dork’ları ile yapılabilmekte. Elbette bir SCADA arayüzünü ortaya çıkarmak için yalnızca bir adet Dork’tan faydalanmıyoruz. Bir çok Dork mevcut ve kendi Dork’larınızı da oluşturabilirsiniz. Bunun için SCADA sistemleri ile ilgili biraz daha fazla teknik bilgiye sahip olmanız gerekmekte. Google’ın hemen hemen bulduğu her sayfayı indexlemesi ve SCADA sisteminin kurulurken yapılmış olabilecek yapılandırma hataları sayesinde SCADA sistemlerinin web arayüzlerini tespit edebiliyor olacağız.

SCADA Sistemlerinin Belli Başlı Üreticileri

  • Siemens
  • Rockwell Automation
  • Schneider Electric
  • General Electric
  • Mitsubishi Motors
  • Honeywell International
  • ABB
  • Ve dahası…

Peki ama üretici firmalar konuda hangi noktada bize yardımcı olacak? Bir sistem hakkında teknik bilgiye sahip olmak her zaman hacking noktasında işinize yarayacaktır. Bu noktada da üretici firmalar hakkındaki teknik bilgiler Google Dork’larını oluşturma noktasında işimize yarayacak.

Sanıyorum Google Dork’larını nasıl oluşturduğumuzu az çok anladınız. BURADAKİ linkten daha geniş bir Dork listesinin pdf’ini indirebilirsiniz. Bir örnek yapacak olursak;

Muhtemelen en çok sonuca ulaşacağımız Dork’u Google’da aratıyoruz;

inurl:/Portal/Portal.mwsl

Karşımıza Siemens S7 PLC kontrollörlerinin yönettiği SCADA sistemlerinin web arayüzleri çıktı. Bu Stuxnet virüsünün de hedef aldığı sistem. Karşımıza çıkan sonuçlardan en üstte bulunana tıklayalım.

Karşımıza Siemens Station S7-1200_1 SCADA sisteminin web portalı gelmekte. Sonuç itibari ile SCADA sistemleri somut sistemler. Peki bu web portalının yönettiği sistem Dünya üzerinden nerede? Bu noktada yardımımıza Shodan koşuyor. Hemen IP adresimizi Shodan üzerinde aratıyoruz.

Sistemimiz Fransa’nın Bruyères ilçesinde bulunmakta. Bir önceki pencereye yani web panelimize dönelim ve Identification sekmesine gelelim.

Bu noktada çok ciddi bilgiler topladığımızı fark edeceksiniz. Buradaki bilgiler üzerinde araştırma yaparak zafiyet tespiti yapmanız mümkün. Biraz da Communications sekmesini kurcalayalım.

Bu noktada çok daha ciddi bilgilere erişmiş olduk sanıyorum. IP adresi, MAC Adresi gibi bilgilere ulaştık. Bu noktadan sonrası bilgi birikiminize ve araştırma yeteneğinize kalmış bulunmakta.

nmap İle SCADA Üzerinde Keşif İşlemi

Bunun için öncellikle nmap’in nasıl çalıştığınından kısaca değinmekte fayda var.

nmap -s<arama türü> <IP adresi>

Şeklinde çalışmakta. Peki nmap’in parametlerinden bazılarını açıklayacak olursak;

  • P : IP adresi üzerindeki bütün portları tarar.
  • T : Hedef sistem ile 3 yönlü bir TCP Handshake yolu oluşturur. SYN paketlerine gelen cevaplara göre oturum açılır. Ancak bu tarama yapıldığı zaman log kaydı tutulacaktır.
  • S : SYN taraması gerçekleştirir. 3 yönlü el sıkışma (handshake) işlemi tamamlanmaz. Bu nedenle log kaydı tutulmaz ve daha güvenlidir.
  • U : UDP taraması gerçekleştirir. UDP paketlerine gelen cevaba göre yorum yapılır.
  • X : XMAS Scan olarak tabi edilir. Gönderilen paket FIN gibi farklı flag değerlerine sahip olabilir.
  • A : ACK taraması gerçekleştirir. Bazı durumlarda güvenlik duvarlarının bypass edilmesinde bu tarama türü kullanılır.

Hemen Shodan’dan SCADA protokollerini arattığımızda karşımıza çıkan IP adreslerinden biri üzerinde bir örnek gösterelim.

nmap -sT 88.147.125.34 -p 502

502 numaralı portun açık olduğu durumunu ve asa-appl-proto protokolünün bu port üzerinden çalıştığı bilgisine eriştik. Dilersek bu noktada çalıştırılan protokol üzerinde bir arama yaparak bir zafiyet bulunup bulunmadığının kontrolünü gerçekleştirebiliriz. UDP taraması yaparak IP adresimiz üzerinde daha detaylı bilgiye sahip olalım;

nmap -sU 88.147.125.34 -p 502

502 portunun açık veya filtrelenmiş bir port olduğu bilgisine ulaştık.

nmap Script Engine(NSE)’den Faydalanmak

Öncelikle doğru nmap scriptlerini bulmamız gerekmekte. Bunun için;

locate *.nse

Karşımıza çıkan betikleri(script) çalıştırmak için genel argüment şu şekildedir;

nmap --script <betik adı> <script dizisi> <IP adresi>

Modbus (SCADA sistemlerinin en çok kullandığı protokol) protokolünün etkin olduğu siteleri bulmak için özel bir betik kullanacağız.

nmap --script modbus-discover.nse --script-args='modbus-discover.agressive=true' -p 502 88.147.125.34

Bu noktada 0x01 yani 1 ile 0xf6 yani 262 arasındaki sonuçları ekrana yazdırdığını görebiliriz. Bu noktadan sonrası yine bilgi birikiminize ve araştırma yeteneğinize kalmakta.