Suricata’da SQL Injection Zafiyetinin Tespitine Yönelik Kural Yazmak

kaleileriteknoloji
3 min readAug 9, 2021

--

Bu yazımızda Suricata’da sql injection zafiyetinin tespitine yönelik kuralların yazılmasını ele alacağız.

Suricata’da kaydedilmiş bir pcap kaydını analiz etmek için aşağıdaki komut kullanılmalıdır:

#suricata –c /etc/suricata/suricata.yaml –r pcap_dosyası

#suricata –c /etc/suricata/suricata.yaml –r sqlmap.pcapng

Eğer “Signal received. Stopping engine.” hatası alındıysa tcpreplay ile trafik yönlendirilerek suricata çalıştırılmalıdır.

/etc/suricata/suricata.yaml dosyasının 1862 satırına rule-files altına local.rules eklenmiş olup local.rules dosyasına biz kendi kurallarımızı yazacağız.

SQL Injection tespit etmek için kullanılabilecek kurallar

alert tcp any any -> any any (msg:”union tabanlı sql injection”; content:”union”; nocase; sid: 100000001; )

alert tcp any any -> any any (msg: “SQL Injection — AND “; content: “and” ; nocase; sid:100000002; )

alert tcp any any -> any any (msg: “SQL Injection — OR”; content: “or” ; nocase; sid:100000003; )

alert tcp any any -> any any (msg: “SQL Injection — Order By “; content: “order by” ; nocase; sid:100000004; )

alert tcp any any -> any any (msg: “Muhtemel SQL Injection — Sleep”; content: “sleep” ; nocase; sid:100000005; )

alert tcp any any -> any any (msg: “SQL Injection — Out Of Band”; content: “xp_dirtree” ; nocase; sid:100000006; )

alert tcp any any -> any any (msg: “SQL Injection — Out Of Band”; content: “UTL_HTTP” ; nocase; sid:100000007; )

Tcpreplay’de trafiği yeniden oynatmak için aşağıdaki komut kullanılabilir:

#tcpreplay –i eth1 sqlmap.pcapng

Ayrı bir sekmede ise suricata’yı aşağıdaki şekilde çalıştırabiliriz:

#suricata –c /etc/suricata/suricata.yaml –i eth1

Sonucu /var/log/suricata/fast.log veya /var/log/suricata/eve.json’dan inceleyebiliriz. Bunun için aşağıdaki komut kullanılabilir:

#tail –f /var/log/suricata/fast.log

local.rules dosyasına kuralları yazdıktan sonra ,kuralların işletilebilir hale gelmesini sağlamak için aşağıdaki komutu kullanabiliriz:

# suricatasc -c ruleset-reload-nonblocking

Bütün yazılarımız için https://kaleileriteknoloji.medium.com/siber-g%C3%BCvenlik-analistleri-i%C3%A7in-yaz%C4%B1lar%C4%B1m%C4%B1z-96ef44e80dbe linkini ziyaret edebilirsiniz.

Sqlmap Trafik Analizine https://kaleileriteknoloji.medium.com/sqlmap-trafik-analizi-574ca8cc1705 linki aracılığıyla ulaşabilirsiniz.

--

--