Wireshark Temelleri — 6
HTTP paketlerinin yapısı ve içeriği
Ağ analizinde olmazsa olmaz araçlardan Wireshark Temelleri serimizin bu bölümünde HTTP paketlerinin yapısını ve içeriğini detaylı bir şekilde inceleyeceğiz.
HTTP Trafiği
HTTP (Hypertext Transfer Protocol), dünya çapında web için yaygın olarak kullanılan bir protokoldür ve bazı web siteleri tarafından kullanılır ancak şifrelenmiş karşılığı olan HTTPS daha yaygındır. Bunu daha sonra ele alacağız. HTTP, web sayfaları gibi şeyleri almak için bir web sunucusuna GET ve POST istekleri göndermek için kullanılır. HTTP’nin nasıl analiz edileceğini bilmek, SQLi, Web Shells ve diğer web ile ilgili saldırı vektörleri gibi şeyleri hızlı bir şekilde tespit etmek için yardımcı olabilir.
Bu bölümün sonunda incelenecek olan HTTP Trafiği için bazı sorular bulunmaktadır. Bu soruların çözümü için gerekli PCAP dosyasına buradan ulaşabilirsiniz.
HTTP Trafiğine İlk Bakış
Bu ve diğer protokoller gibi, HTTP’nin de nasıl çalıştığını bilmekte fayda var. Buradan detaylı bilgiye ulaşabilirsiniz.
HTTP, paket analizi için en basit protokollerden biridir. Protokol doğrudan konuya girer ve iletişimden önce herhangi bir el sıkışma veya ön koşul içermez.
Yukarıda bir örnek HTTP paketi görebiliriz, bir HTTP paketine baktığımızda veri akışı HTTPS gibi şifrelenmediğinden kolayca bilgi toplayabiliriz. Paketten toplayabileceğimiz önemli bilgilerden bazıları Request URI’si, Dosya Verisi, Sunucu’dur.
Artık bir HTTP paketinin temel yapısını anladığımıza göre, paketlerle ilgili uygulamalı bilgi edinmek için örnek bir HTTP paketi yakalamaya geçebiliriz.
Pratik HTTP Trafik Analizi
Bu bölümde başta indirdiğimiz PCAP dosyası ile alakalı bazı örnekler, sorular ve cevapları yer almaktadır. Soruları önce çözüp sonra cevaplarına bakmamız bize fayda sağlayacaktır.
PCAP’ı açtıktan sonra bunun sadece birkaç istek içeren basit bir HTTP paket yakalama olduğunu görebiliriz.
Paket yakalamanın derinliklerine inersek HTTP isteklerinden birinin örneğin Paket 4'ün ayrıntılarına bakabiliriz.
Bu paketten host, user - agent, requested URI ve response gibi bazı önemli bilgileri belirleyebiliriz.
Wireshark’ın yerleşik özelliklerinden bazılarını kullanarak tüm bu verileri sindirebilir ve ilerideki analizler için organize edebiliriz. Wireshark’ta Protokol Hiyerarşisini yakalayan bir yakalamada bulunan protokolleri organize etmek için çok kullanışlı bir özelliğe bakarak başlayabiliriz. Statistics > Protocol Hierarchy seçeneğini açın.
Bu bilgi, paket yakalamalarındaki tutarsızlıkları belirlemek için Threat Hunting gibi pratik uygulamalarda çok faydalı olabilir.
Wireshark’ta inceleyeceğimiz bir sonraki özellik Export HTTP Object’tir. Bu özellik, yakalamada istenen tüm URI’leri düzenlememize olanak tanır. Export HTTP Object’i kullanmak için File > Export Objects > HTTP seçeneğini açın.
Protokol Hiyerarşisine benzer şekilde bu da, yakalamalardaki olası tutarsızlıkları hızlı bir şekilde belirlemek için yararlı olabilir.
Bu bölümde ele alacağımız son özellik Endpoints’dir. Bu özellik, kullanıcının belirli bir yakalamada bulunan tüm uç noktaları ve IP’leri düzenlemesine olanak tanır. Diğer özellikler gibi, bu da bir tutarsızlığın nereden kaynaklandığını belirlemek için yararlı olabilir. Endpoints özelliğini kullanmak için Statistics > Endpoints seçeneğini açın.
HTTP, HTTPS’in daha yaygın olarak kullanılması nedeniyle çok fazla görülen bir protokol değildir; ancak HTTP hala sıklıkla kullanılır ve fırsat verildiğinde analiz edilmesi çok kolay olabilir.
Sıra sizde!
- Soru 1: Paketlerin yüzde kaçı DNS’ten geliyor?
- Soru 2: Hangi uç nokta .237 ile bitiyor?
- Soru 3: Paket 4'te listelenen user-agent nedir?
- Soru 4: Veri akışına bakıldığında Paket 18'in Full Request URI’si nedir?
- Soru 5: Paket 38'den hangi alan adı istendi?
- Soru 6: Veri akışına bakıldığında Paket 38'in Full Request URI’si nedir?
- Cevap 1
Soruda bizden veri akışındaki paketlerden yüzde kaçının DNS olduğu istenmiş. Bunun için Protokol Hiyerarşisine gidip DNS Protokolüne baktığımızda paketlerin % 4.7'sini oluşturduğunu görebiliriz.
Cevap 1: 4.7
- Cevap 2
Bu soruda sonu .237 ile biten uç nokta istenmiş. Endpoints kısmına baktığımızda cevabın 145.254.160.237 olduğunu görmüş oluyoruz.
Cevap 2: 145.254.160.237
- Cevap 3
Paket 4'ün ayrıntılarına baktığımızda yanıta ulaşmış oluyoruz.
Cevap 3: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113\r\n
- Cevap 4
Paket 18'in ayrıntılarından Full Request URI’sine ulaşabiliriz.
- Cevap 5
Export Objects seçeneğinden Paket 38'e baktığımızda istenen alan adının www.ethereal.com olduğu görülüyor.
Cevap 5: www.ethereal.com
- Cevap 6
Paket 38'in ayrıntılarından Full Request URI’sine ulaşabiliriz.
Bu bölümde HTTP Trafiği Analizi ve Örnek HTTP Trafiğinin İncelenmesi konularından bahsettik. Benimle birlikte analizi gerçekleştirdiğiniz için teşekkür ederim. İyi Çalışmalar Dilerim.