安天365网络安全技术研究团队网络安全实验室

一次被钓鱼的经历

2016-05-29  本文已影响670人  cr4zyd0g

0x00 起因

最近在亚马逊上买了个冲锋衣,5月28日晚收到一个自称亚马逊客服的宁波号码打来的电话,说是由于系统升级,我的订单没记录上,需要进行退款重新下单。我当时就警觉了,一般系统升级的时候不是会停止服务么?就算不停止服务,肯定也有负载均衡器去做主备机的切换?发生这种事怎么会是一个合格的大公司所为?怎么亚马逊没有发邮件给我,而是直接打电话呢?所以我让他给我用亚马逊的客服邮箱再发个邮件来确定,不然我不信。(这个时候我还是怀疑他们的)

这时,对方让我去看看我的订单,关于我冲锋衣的订单还在不在,我登陆我的亚马逊,发现我的订单里确实没有我的冲锋衣。这时我就懵逼了。(大家小心,我就是这个时候中招的。因为亚马逊提供订单隐藏功能,所以我的冲锋衣是隐藏的。如下图所示。

那么可以在这个页面中找回你隐藏的订单。

这时我就中招了,认为确实存在订单丢失的情况,我就寻求帮助。

于是乎攻击者将我导向到我的社区个人主页。

进去之后就可以看到一则公告,当时也没仔细揣摩。

对,就是这个钓鱼页面。钓鱼链接

0x01 钓鱼过程

当时我还在思考一个问题,为何亚马逊的域名是yanchutong,不是我们熟知的域名。后来给自己的理由是,可能公司都会注册一些非对公域名用于内部交流。

进去之后是一个仿制亚马逊登陆的页面。

这里首先输入手机号和密码,提交给一个名为loginchk.php的页面。即第一步,获取我们的登陆账号和密码。

随后进入退款页面。

点击招行的时候,我还在思考,一般退款不都是系统直接操作,然后我用信用卡就返回信用卡,用借记卡就返回借记卡,我用信用卡,却返回借记卡,这不是恶意套现么?这怎么行。可是我还是没有完全质疑。

点击之后可见到信息输入,这是钓鱼的第二步。

如果你真按照攻击者所述去操作,就会被钓鱼。很不幸,我就是哪个傻。我中招了,大家请小心。

0x02 浏览导向

那么攻击者是如何将用户一步步导向到他的钓鱼链接,并使其放松警惕的呢?

据我推测,可以按照以下方式。

  1. 以XSS的方式修改用户的个人信息页,在个人主页上添加钓鱼链接。
  2. 按以往爆出的各网站密码信息明文存储以及泄露的事件,我们的密码通常可被攻击者所知,包括部分个人信息。
    1. 获得账号密码后,攻击者登陆亚马逊
    2. 攻击者将我的订单中冲锋衣给隐藏
    3. 攻击者修改我的个人主页信息,添加钓鱼链接以及一些迷惑性的信息

个人推测中,第二种方式可能性更高。通过消失的订单,以及通话导向的页面中迷惑信息,受害者就将到达钓鱼链接。

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 后记

在分析之前,我通过咨询亚马逊客服,发现并没有系统升级这事情的存在,才发现自己被钓鱼了。钓鱼后立即去联系亚马逊修改我的账户,随后再联系了我的信用卡发卡行,注销了老信用卡,并修改了密码,期间没有发生盗刷的事件,这还算是万幸。

最近电话诈骗,网络诈骗的事情层出不穷,小伙伴们还是要小心再小心。

亚马逊退款应该会以亚马逊的官方邮箱发来邮件,切记不可听信电话。

以此警示自己。

傻瓜太多,骗子不够用了。

上一篇 下一篇

猜你喜欢

热点阅读