当前位置:主页>科 研>学术交流>

密码控件安全技术浅析及攻击实例(3)

下面就不调试了,直接去分析这个处理函数了,找到模块npAliSecCtrl,先脱壳,然后找到偏移ca008



 

然后就逆吧……我没有把这些代码逆完,只是一个大致框架出来了。



 

其实只要知道他的HOOK实现机制就Ok了,这个控件的原理就是当控件获取焦点的时候就设置一个低级键盘钩子,这个键盘钩子的作用就是截获WM_KEYDOWN然后处理消息,修改消息。在调试中还发现,在其设置了一个低级键盘钩子之后并没有再设置一个调试钩子,这样就很容易突破这种保护机制了,只要照准时机在他的低级键盘钩子设置后再设置一个低级键盘钩子,那么就可以先于控件自身的钩子获取到键盘输入消息了,不知道这个是否属于考虑欠缺的一个设计,不过即使加一个调试钩子,也并不是毫无破绽的,仍让有方法可以攻击。

  2.4 支x宝安全密码控件攻击实例

上面说了即使加了调试钩子,也还是不能阻止攻击的,原因是Windows 消息钩子的层次太高了,在如此高的系统层次上面去做一些防护,基本没有办法做到绝对安全。对于支x宝的密码控件,只要一个Inline Hook就可以完全破除了。

原理:进入到浏览器的进程内存空间,Inline Hook住User32!SetWindowsHookExW/A函数,分析该函数的参数,判断如果传入的模块是属于目标模块并且钩子类型是低级键盘钩子,则调用原函数,等待原函数返回成功之后,再调用原函数设置一个低级键盘钩子,然后返回。这样就相当于在控件本身的钩子之上加了一个钩子,而这个钩子是我们的钩子,我们可以先于控件钩子得到键盘输入,从而计算出用户输入的字符,达到键盘记录的目的。

xxxx种原因,我不能在这里提供源码,只有一图和一个bin供各位研究了。



 

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

容器是如何让“一切都是代码”成为现实的

容器是如何让“一切都是代码”成为现实的

现代应用的发展在很大程度上要归功于DevOps运动的蓬勃兴起以及该运动所产生的各种自动...[详细]

如何快速掌握一门新技术/语言/框架

如何快速掌握一门新技术/语言/框架

IT行业中的企业特点是都属于知识密集型企业。这种企业的核心竞争力与员工的知识和技能...[详细]

建高效数据中心有径可循

建高效数据中心有径可循

能耗问题一直是各大数据中心的心头之痛。有数据表明,2015年我国数据中心能耗预计将高...[详细]

2015黑帽大会:网络灾难后 重建IT安全

2015黑帽大会:网络灾难后 重建IT安全

在遭遇网络灾难后重建IT安全似乎是不可能完成的任务,但根据安全专家Christina Kubeck...[详细]

面对DNS劫持 企业移动应用该如何防护?

面对DNS劫持 企业移动应用该如何防护?

DNS(Domain Name System)劫持又称域名劫持,是指对正常的域名解析请求加以拦截,转而...[详细]

返回首页 返回顶部