Python ile HTTP Üzerinden Veri Sızdırma Senaryosu ve Trafik Analizi
Bu yazımızda web üzerinden veri sızdırma senaryosu ve trafik analizi yapılacaktır. İlk olarak HTTP üzerinden veri sızdırmak için aşağıdaki kodu yazalım.
Kod aşağıdaki şekilde çalıştırılmıştır:
Sızdırılan veriye 10.10.10.21 IP adresindeki web sunucunun loglarına bakarak elde edilmesini sağlayabiliriz. Bu işlem için aşağıdaki komutu 10.10.10.21 IP adresine sahip makinada çalıştıralım.
tail –f /var/log/apache2/access.log
Loglar incelendiğinde isteklerin 10.10.10.10 IP adresinden yapıldığı, sızdırılan verilerin User-Agent bilgisinin python-requests/2.23.0 olduğu ve python programlama dilinde requests modülünün kullanıldığı ve sızdırılan verilerin sırayla kale, ileri, teknoloji kelimelerinin olduğu gözlemlenmiştir.
Burada http üzerinden veri sızdırma senaryosunda kelime kelime veri sızdırılırken , harf olarak, bit olarak veri sızdırma işlemi yapılabileceği unutulmamalıdır. Hatta analizi zorlaştırmak için bu veriler sızdırılırken encode edilebilir veya şifrelenebilmektedir. Ve sızdırılan verilerin istek süresi uzatılarak analiz işlemi zorlaşabilmektedir.
Trafik analizi aşamasında ise ilk olarak http filtresini uygulayarak başlayalım.
HTTP istekleri 10.10.10.10 IP adresinden 10.10.10.21 IP adresine yapılmaktadır. Yapılan istekler belirli bir dizinim içinde anlamlı mesajlar içerdiği düşünüldüğü için veri sızdırma işleminin olduğu düşünülmektedir.
Veri sızdırma işleminde bakılacak bir diğer nokta ise User-Agent bilgisi olabilir , saldırgan zaman ayarını istediği gibi ayarlayarak veri sızdırma işlemi yapmak isterse bir programlama dili kullanmalıdır. Bunun için python da requests modülü için aşağıdaki filtre uygulanabilir:
http.user_agent contains “python-requests”
Veri sızdırma senaryosunda sunucuda dosyanın bulunup bulunmaması herhangi bir önemi bulunmamaktadır. HTTP üzerinden veri sızdırma işlemlerinin yanı sıra DNS ve ICMP protokolleri üzerinden de veri sızdırma işlemleri tercih edilmekte olup; firewallarda bu protokollerin genellikle erişim izni verildiği unutulmamalıdır.
HTTP üzerinden veri sızdırma işlemlerinin tespitinde en fazla 4xx durum kodu döndüren web sunucuların IP adresleri listelenerek, bu IP adreslerin SIEM üzerinde incelenmesi sağlanabilir.