只用几行代码就可以从银行窃取250亿美元
laoyan 2016-06-01 10:49:24
分 享


据了解,一名安全研究专家在印度银行的系统中发现了一个安全漏洞,这个漏洞可以允许任何人从印度最大的银行之中轻松盗取二百五十亿美金。

    安全研究专家Sathya Prakash通过研究发现,在银行客户所使用的手机银行软件之中存在一个严重的安全漏洞。

    Prakash解释称,通过利用这个漏洞,他可以从任何一名银行客户的帐号中窃取存款。

    Prakash负责任地将有关这一银行系统漏洞的信息报告给了相关的金融机构,并且正在帮助银行机构的技术人员修复这一漏洞。

    Prakash发现很多的移动端应用程序中都普遍存在一个问题,很多应用程序缺乏强制性的证书绑定,这就有可能让应用程序的使用者暴露于中间人攻击的风险之中,因为攻击者可以通过伪造的证书来对用户进行攻击。从这一角度出发,攻击者甚至还可以窃听和修改用户的网络通信数据,并进行欺诈活动。

    Prakash在其博客中写到:”我尝试在目标程序中安装一个自签名的证书,并且用Burp来捕捉程序请求和响应的明文信息,而这一系列操作进行得十分顺利。这也就意味着,这个应用程序中并没有绑定证书。考虑到这是一个移动端的银行应用程序,缺少证书绑定是一个非常致命的错误。“

    除此之外,这名安全研究专家还在程序进行身份验证的过程中发现了另外一个非常严重的问题,攻击者可以利用这个漏洞来伪装成银行用户,从而进行一系列例如转账和查询余额的操作。

    Prakash解释称:“攻击者可以通过CURL(CURL是利用URL语法在命令行方式下工作的开源文件传输工具。)直接调用银行转账功能的API(应用程序编程接口),并且绕过银行账户的身份认证,将资金转移到他人账户中。我可以将账户中的资金转账给其他不在收款人列表中的银行账户。而值得注意的是,我只需要使用五行代码,就可以利用这个漏洞来枚举出银行的客户记录,包括当前账户的余额和银行操作流水。”

    安全专家证明,从理论上说,攻击者可以利用这个漏洞从银行的任何一名客户账号中窃取资金。为了测试他的PoC代码,用他自己的帐号进行了一次转账交易测试,他用他自己的客户ID和MTPIN码创建了一个交易请求,但是付款人帐号(6254)并不属于他。

shijian1.png

    安全研究专家表示,他只需要使用十三行代码,就可以对银行系统进行自动化攻击,相关代码如下图所示:

shijian2.png

    Prakash发现,银行的移动端应用程序并不会对用户的ID或者转账交易授权码(MTPIN)进行检测,但是这些信息对于类似转账等涉及到资金的操作而言是非常重要的。

    安全研究专家在接受Motherboard的采访时表示,他对这一漏洞进行了分析和测试,并且成功地利用这个漏洞将他人银行账号中的存款转移到了其他的帐号之中。

    值得庆幸的是,这个漏洞是由一名非常负责任的安全专家所发现的。但是,故事的结局却十分的不尽如人意,虽然Prakash负责任地将有关这一漏洞的信息报告给了银行机构,但是相关的金融机构却没有给他提供任何的奖励。

转载至:

深信服安全中心

我要小额支持下

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

取消
吐槽一下

游客

所有吐槽
  • 暂时还没有吐槽,赶紧来吐槽!