SMTP Smuggling

HackTricks'i Destekleyin

Temel Bilgiler

Bu tür bir zafiyet bu yazıda ilk olarak keşfedilmiştir ve burada, bir e-postayı tamamlarken SMTP protokolünün nasıl yorumlandığındaki farklılıkların istismar edilebileceği açıklanmaktadır. Bu, bir saldırganın, etkilenen alanın diğer kullanıcılarını (örneğin admin@outlook.com) taklit ederek, meşru bir e-postanın gövdesinde daha fazla e-posta gizlemesine olanak tanır ve SPF gibi savunmaları aşar.

Neden

Bu, SMTP protokolünde, e-postada gönderilecek mesaj verisinin bir kullanıcı (saldırgan) tarafından kontrol edilmesindendir; bu kullanıcı, alıcıda ekstra e-postalar gizlemek için ayrıştırıcılardaki farklılıklardan yararlanarak özel olarak hazırlanmış veriler gönderebilir. İşte orijinal yazıdan bir örnek:

Nasıl

Bu zafiyeti istismar etmek için bir saldırganın, Outbound SMTP sunucusunun sadece 1 e-posta olduğunu düşündüğü ancak Inbound SMTP sunucusunun birden fazla e-posta olduğunu düşündüğü bazı veriler göndermesi gerekir.

Araştırmacılar, farklı Inbound sunucuların e-posta mesajının verisinin sonunu farklı karakterler olarak değerlendirdiğini keşfettiler; bu, Outbound sunucuların yapmadığı bir şeydir. Örneğin, verinin normal sonu \r\n. şeklindedir. Ancak, Inbound SMTP sunucusu \n. desteği de sağlıyorsa, bir saldırgan bu veriyi e-postasına ekleyebilir ve yeni e-postaları gizlemek için SMTP komutlarını göstermeye başlayabilir; tıpkı önceki resimde olduğu gibi.

Elbette, bu yalnızca Outbound SMTP sunucusu bu veriyi mesaj verisinin sonu olarak değerlendirmediği takdirde çalışabilir; çünkü bu durumda 1 yerine 2 e-posta görecektir, bu nedenle sonunda bu, bu zafiyette istismar edilen senkronizasyon bozukluğudur.

Potansiyel senkronizasyon bozukluğu verileri:

  • \n.

  • \n.

Ayrıca, SPF'nin aşıldığını unutmayın; çünkü user@outlook.com adresinden admin@outlook.com adresine bir e-posta gizlerseniz, gönderen hala outlook.com'dur.

Referanslar

HackTricks'i Destekleyin

Last updated