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ıkları istismar eden özel olarak hazırlanmış veriler gönderebilir. İşte orijinal yazıdan bir örnek:

Nasıl

Bu zafiyeti istismar etmek için bir saldırgan, Çıkış SMPT sunucusunun sadece 1 e-posta olduğunu düşündüğü ancak Giriş SMTP sunucusunun birden fazla e-posta olduğunu düşündüğü bazı veriler göndermelidir.

Araştırmacılar, farklı Giriş sunucularının e-posta mesajının verisinin sonunu farklı karakterler olarak değerlendirdiğini keşfettiler; Çıkış sunucularının ise bunu yapmadığını. Örneğin, verinin normal sonu \r\n.'dir. Ancak, Giriş SMTP sunucusu \n.'yi de destekliyorsa, 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.

Tabii ki, bu yalnızca Çıkış 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'dan admin@outlook.com'a bir e-posta gizlerseniz, gönderen hala outlook.com'dur.

Referanslar

HackTricks'i Destekleyin

Last updated