0x00 起因
最近在亚马逊上买了个冲锋衣,5月28日晚收到一个自称亚马逊客服的宁波号码打来的电话,说是由于系统升级,我的订单没记录上,需要进行退款重新下单。我当时就警觉了,一般系统升级的时候不是会停止服务么?就算不停止服务,肯定也有负载均衡器去做主备机的切换?发生这种事怎么会是一个合格的大公司所为?怎么亚马逊没有发邮件给我,而是直接打电话呢?所以我让他给我用亚马逊的客服邮箱再发个邮件来确定,不然我不信。(这个时候我还是怀疑他们的)
这时,对方让我去看看我的订单,关于我冲锋衣的订单还在不在,我登陆我的亚马逊,发现我的订单里确实没有我的冲锋衣。这时我就懵逼了。(大家小心,我就是这个时候中招的。因为亚马逊提供订单隐藏功能,所以我的冲锋衣是隐藏的。如下图所示。
那么可以在这个页面中找回你隐藏的订单。
)
这时我就中招了,认为确实存在订单丢失的情况,我就寻求帮助。
于是乎攻击者将我导向到我的社区个人主页。
进去之后就可以看到一则公告,当时也没仔细揣摩。
对,就是这个钓鱼页面。钓鱼链接
0x01 钓鱼过程
当时我还在思考一个问题,为何亚马逊的域名是yanchutong
,不是我们熟知的域名。后来给自己的理由是,可能公司都会注册一些非对公域名用于内部交流。
进去之后是一个仿制亚马逊登陆的页面。
这里首先输入手机号和密码,提交给一个名为loginchk.php
的页面。即第一步,获取我们的登陆账号和密码。
随后进入退款页面。
点击招行的时候,我还在思考,一般退款不都是系统直接操作,然后我用信用卡就返回信用卡,用借记卡就返回借记卡,我用信用卡,却返回借记卡,这不是恶意套现么?这怎么行。可是我还是没有完全质疑。
点击之后可见到信息输入,这是钓鱼的第二步。
如果你真按照攻击者所述去操作,就会被钓鱼。很不幸,我就是哪个傻。我中招了,大家请小心。
0x02 浏览导向
那么攻击者是如何将用户一步步导向到他的钓鱼链接,并使其放松警惕的呢?
据我推测,可以按照以下方式。
- 以XSS的方式修改用户的个人信息页,在个人主页上添加钓鱼链接。
- 按以往爆出的各网站密码信息明文存储以及泄露的事件,我们的密码通常可被攻击者所知,包括部分个人信息。
- 获得账号密码后,攻击者登陆亚马逊
- 攻击者将我的订单中冲锋衣给隐藏
- 攻击者修改我的个人主页信息,添加钓鱼链接以及一些迷惑性的信息
个人推测中,第二种方式可能性更高。通过消失的订单,以及通话导向的页面中迷惑信息,受害者就将到达钓鱼链接。
0x03 钓鱼页面分析
首先是登陆界面,登陆界面做的贼差了,微信登陆居然是个图……干。
其中存在一段js代码:
try
{(
function() {
for(var lastpass_iter=0; lastpass_iter < document.forms.length; lastpass_iter++){
var lastpass_f = document.forms[lastpass_iter];
if(typeof(lastpass_f.lpsubmitorig2)=="undefined"){
lastpass_f.lpsubmitorig2 = lastpass_f.submit;
if (typeof(lastpass_f.lpsubmitorig2)=='object'){
continue;
}
lastpass_f.submit = function(){
var form=this;
var customEvent = document.createEvent("Event");
customEvent.initEvent("lpCustomEvent", true, true);
var d = document.getElementById("hiddenlpsubmitdiv");
if (d) {
for(var i = 0; i < document.forms.length; i++){
if(document.forms[i]==form){
if (typeof(d.innerText) != 'undefined') {
d.innerText=i.toString();
}
else {
d.textContent=i.toString();
}
}
}
d.dispatchEvent(customEvent);
}
form.lpsubmitorig2();
}
}
}
})()
}
catch(e){}
这段代码会将我输入的账号密码,打包成一个div中的数据,名为hiddenlpsubmitdiv
,然后等待提交给页面loginchk.php
。
通过burp的拦截,可看到,数据通过明文传输给了后台。且从本地代码中也没有看到关于XSS输入的过滤。
随后可以进入后台输入个人信息的页面。
页面中核心的提交表单的HTML代码如下:
<form id="form" method="post" action="arisave.php" role="form" class="form-horizontal">
也就是说个人信息被提交到了arisave.php页面了。
提交的方式也和上面登陆页面差不多,不做赘述了。
随后通过burp拦截,得到个人信息是通过明文传输到后台,且也没做XSS的过滤。
随后也得到了该域名相关的ip地址43.227.113.190
,试过nmap扫描开放服务等,想进行远程登录,结果失败了。顺便在whois上查询域名信息:
0x04 后记
在分析之前,我通过咨询亚马逊客服,发现并没有系统升级这事情的存在,才发现自己被钓鱼了。钓鱼后立即去联系亚马逊修改我的账户,随后再联系了我的信用卡发卡行,注销了老信用卡,并修改了密码,期间没有发生盗刷的事件,这还算是万幸。
最近电话诈骗,网络诈骗的事情层出不穷,小伙伴们还是要小心再小心。
亚马逊退款应该会以亚马逊的官方邮箱发来邮件,切记不可听信电话。
以此警示自己。
傻瓜太多,骗子不够用了。