HTML Smuggling

xzh

Üye
8 Nis 2020
217
71
İlk olarak, bazı fikirleri birleştirelim. Web filtreleme süreci nasıl işliyor? Eğer bunu tartışıyorsak, bunu gözden geçirmemiz gerekiyor. Öncelikle web filtreleme süreci dosya uzantısına bakar ve zararlı bir uzantı yoksa, "okay" verir. Bu saldırıda mime tipine bakıyor ki bu da zararlı bir aktivite olarak gözükmüyor o yüzden "okay" veriyor ve üçüncü olarak da javascript dosyasında kötü bir fonksiyon olup olmadığına bakıyor. Kısacası:
  • HTML ve JavaScript kodunu inceler.
  • Dosya uzantılarını ve MIME türlerini kontrol eder.
  • Kötü amaçlı kod olup olmadığını kontrol eder.
HTMLsmuggling-1.jpg

HTML Smuggling Nedir?
HTML Smuggling, saldırganların web proxy'leri, sandbox'lar ve e-posta taramaları gibi güvenlik önlemlerini atlatmak için kullandığı bir tekniktir. Bu teknikte, zararlı kod bir HTML dosyası içerisine gömülür ve güvenlik taramalarından kaçmak için çeşitli yöntemler kullanılır.

HTML Smuggling Nasıl Yapılır?

HTML5 indirme özniteliği:


Download HTML5 - HTML5, bağlantı etiketleri için "download" özniteliğini tanıttı. Aşağıdaki tüm modern tarayıcılar tarafından desteklenen bir HTML satırı düşünün:

HTML:
<a href="/dosya/dosya.doc" download="dosyam.doc">Tıkla</a>

Bir kullanıcı hiper linke tıkladığında, download özniteliği tarayıcıya href özniteliğiyle işaret edilen hedefi indirmesini ve "dosyam..doc" olarak diske kaydetmesini söyler. Elbette, bağlantı ve download özniteliği HTML yerine JavaScript kullanılarak da oluşturulabilir.

Bloplar ve URL'ler:

Bir Blob, ham veriyi temsil eden değişmez bir nesnedir. Bloplar, istemci tarafında URL bekleyen JavaScript API'lerine geçirebileceğiniz dosya benzeri nesneler oluşturmanıza izin verir. Web sunucusunun dosyayı sağlamasını gerektiren bir durum yerine, Blob tamamen JavaScript kullanılarak yerel olarak oluşturulabilir.

JavaScript:
var myBlob = new Blob([myData], {type: 'octet/stream'});

Bu kod, "octet/stream" MIME türünde bir Blob oluşturur ve verileri myData değişkeninde bulunan verilerle doldurur. Daha sonra, URL.createObjectURL'yi kullanarak Blob nesnemizden bir URL oluşturabilir ve ona bir bağlantı noktasına sahip olabiliriz:
JavaScript:
var myUrl = window.URL.createObjectURL(blob);
myAnchor.href = myUrl;

Son olarak, JavaScript'in HTMLElement.click() methodunu kullanarak bağlantı nesnesine bir tıklama simüle edebiliriz:

JavaScript:
myAnchor.click();



Sonda demo olarak yaptığım html smuggling saldırısının demosuna baka bilirsiniz!


MITRE ATT&CK Tactics and Techniques (HTML smuggling)​

Sr No.TacticTechnique
1Initial Access (TA0001)T1566 Phishing
2Execution (TA0002)T1204 User Execution
T1204.002 Malicious File
T1059.007 JavaScript
T1027.006 Obfuscated Files or Information: HTML smuggling
 

bayoyunsultanı

Katılımcı Üye
24 Kas 2023
273
98
Kaiserreich
İlk olarak, bazı fikirleri birleştirelim. Web filtreleme süreci nasıl işliyor? Eğer bunu tartışıyorsak, bunu gözden geçirmemiz gerekiyor. Öncelikle web filtreleme süreci dosya uzantısına bakar ve zararlı bir uzantı yoksa, "okay" verir. Bu saldırıda mime tipine bakıyor ki bu da zararlı bir aktivite olarak gözükmüyor o yüzden "okay" veriyor ve üçüncü olarak da javascript dosyasında kötü bir fonksiyon olup olmadığına bakıyor. Kısacası:
  • HTML ve JavaScript kodunu inceler.
  • Dosya uzantılarını ve MIME türlerini kontrol eder.
  • Kötü amaçlı kod olup olmadığını kontrol eder.
HTMLsmuggling-1.jpg

HTML Smuggling Nedir?
HTML Smuggling, saldırganların web proxy'leri, sandbox'lar ve e-posta taramaları gibi güvenlik önlemlerini atlatmak için kullandığı bir tekniktir. Bu teknikte, zararlı kod bir HTML dosyası içerisine gömülür ve güvenlik taramalarından kaçmak için çeşitli yöntemler kullanılır.

HTML Smuggling Nasıl Yapılır?

HTML5 indirme özniteliği:


Download HTML5 - HTML5, bağlantı etiketleri için "download" özniteliğini tanıttı. Aşağıdaki tüm modern tarayıcılar tarafından desteklenen bir HTML satırı düşünün:

HTML:
<a href="/dosya/dosya.doc" download="dosyam.doc">Tıkla</a>

Bir kullanıcı hiper linke tıkladığında, download özniteliği tarayıcıya href özniteliğiyle işaret edilen hedefi indirmesini ve "dosyam..doc" olarak diske kaydetmesini söyler. Elbette, bağlantı ve download özniteliği HTML yerine JavaScript kullanılarak da oluşturulabilir.

Bloplar ve URL'ler:

Bir Blob, ham veriyi temsil eden değişmez bir nesnedir. Bloplar, istemci tarafında URL bekleyen JavaScript API'lerine geçirebileceğiniz dosya benzeri nesneler oluşturmanıza izin verir. Web sunucusunun dosyayı sağlamasını gerektiren bir durum yerine, Blob tamamen JavaScript kullanılarak yerel olarak oluşturulabilir.

JavaScript:
var myBlob = new Blob([myData], {type: 'octet/stream'});

Bu kod, "octet/stream" MIME türünde bir Blob oluşturur ve verileri myData değişkeninde bulunan verilerle doldurur. Daha sonra, URL.createObjectURL'yi kullanarak Blob nesnemizden bir URL oluşturabilir ve ona bir bağlantı noktasına sahip olabiliriz:
JavaScript:
var myUrl = window.URL.createObjectURL(blob);
myAnchor.href = myUrl;

Son olarak, JavaScript'in HTMLElement.click() methodunu kullanarak bağlantı nesnesine bir tıklama simüle edebiliriz:

JavaScript:
myAnchor.click();





MITRE ATT&CK Tactics and Techniques (HTML smuggling)​

Sr No.TacticTechnique
1Initial Access (TA0001)T1566 Phishing
2Execution (TA0002)T1204 User Execution
T1204.002 Malicious File
T1059.007 JavaScript
T1027.006 Obfuscated Files or Information: HTML smuggling
eline sağlık dostum.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.