Siber Güvenlik
WireShark ile SQL İnjection Analizi
SQL Injection nedir, nasıl incelenir, nasıl analiz edilir ve Wireshark ile nasıl tespit edilir bu makalemizde inceleyeğiz.
Aşağıdaki uygulama analizinde bir SQL injection saldırısı ile ele geçirilen bir sunucunun trafiği analiz edilmiştir.
Wireshark açılıp, gelen giden istekler kontrol edilmesi için arayüzdeki trafikler incelenmiştir.
Trafik incelendiğinde 192.168.1.52 bilgisayarından 192.168.1.83 bilgisayarına yoğun bir http trafiği gönderdiği görülmüştür.
Şekil-1
Şekil 1’deki çıktıdan 192.168.1.52’den 192.168.1.83’e dizin kaba kuvvet saldırısı yapıldığı görülmektedir. Belli bir liste denenerek cevaplara bakılmakta, cevapta 200 OK gelirse dizin var demektir. 404 gelirse dizinin olmadığı anlaşılmaktadır. Export Object, HTTP sekmelerinden gidildiğinde Şekil 2’deki çıktı dikkat çekmiştir.
Şekil-2
Çıktıya dikkatli bakıldığında hedefe text/html üzerindeki sayfası üzerinden id parametresi kullanılarak Sql Injection yapıldığı gözlemlenmektedir. Paket ortamına geri dönülerek analize devam edilmiştir. İlgili paketler HTTP filtresi kullanılarak bulunduktan sonra fare ile sağ tık yapılarak “Follow” -> “Http stream” seçeneğinden birleştirildiğinde Şekil 3’teki injection tümcesi görülmüştür.
Şekil-3
Hemen bu olayın devamında http paketlerine bakıldığında /dvwa/vulnerabilities/sqli sayfasına gidildiği ve burada bir user id SQL Injection saldırısı yapıldığı gözlemlenmiştir.
Şekil-4
Bu olaydaki muhtemel senaryo atak yapan kişinin user ID keşfi /dvwa/vulnerabilities/sqli sayfası içerisinde SQL bağlantısını bulması, buradaki girdi alanından SQL injection tespit etmesi sonrasında ise veri tabanından parola ve username ele geçirmek veya manipüle etmektir. Get ya da Post isteklerinde parametreler üzerinden SQL sorguları yazılmışsa SQL injection saldırılarını yakalayabiliriz. İleri seviye saldırılarda SQL payloadları, obfusucation ve encoding yöntemleri ile tanınmaz hale getirilse de tehdit avcısı olarak trafik içerisinde;
“http contains SELECT or http contains UNION or http contains 1=1 http contains WHERE or http contains CONCAT ” gibi filtreler kullanılarak ağdaki SQL injection girişimleri tespit edilebilir.