博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“流量注入”攻击模式的探讨
阅读量:6292 次
发布时间:2019-06-22

本文共 2553 字,大约阅读时间需要 8 分钟。

前言:
黑客入侵的目标一般分为两种:一是获取系统的控制权,远程监控或“指挥”你的系统;二是盗取你的秘密信息;在未完成目标前,黑客都需要“无声无痕”,入侵时隐秘的,不能让拥护发现的。入侵不等同于攻击,而入侵常常是攻击的前期工作。
常用的口令破解、缓冲区溢出等是直接入侵的方式,流量注入是通过在你系统合法的进出流量中插入信息,获取入侵的机会;这种方式隐藏于你正常的网络流量内,有很强的隐蔽性,插入的可以是带有木马的漂亮图片,可以是正常选择按钮后启动的特殊代码,也可以诱导你的钓鱼网站链接
最为常见的流量注入攻击是SQL
注入,通过你系统合法的输入窗口,利用编程中查询语言的漏洞,注入攻击者的命令,另外还有目前流行的xPath
注入。
这里讨论的是一种直接劫持用户计算机网络流量的注入式攻击方式。
 
第一步:获得流量控制权(
取得中间人位置)
让用户流量流经黑客可控制的点,黑客才可以向流量中注入自己的命令信息。因此劫持用户流量是流量注入攻击的第一步。下面是几种常见的方式:
情况一
:黑客与用户在一个局域网络上
1、  
直接控制交换机
有条件的话,黑客可以直接控制用户的接入交换机(
先入侵网络设备或网络管理系统)
,镜像用户端口的流量;若控制的是汇聚交换机,需要过滤出该用户MAC
的全部流量,再进行还原分析。
2、  
利用ARP
欺骗攻击
若不能入侵网络管理,则可以在局域网内使用ARP
欺骗攻击。通过ARP
广播,黑客把自己打扮成网络的“合法”网关,让用户通过自己“代理”去访问网络资源,自然就可以获取用户的全部流量了。曾经风靡一时的ARP
病毒就是利用这个原理传播自己的。
情况二
:黑客在互联网上
3、  
利用DNS
欺骗攻击
用户要访问互联网,最先使用的是DNS
服务,进行域名地址的翻译。黑客可以先攻击DNS
服务器,一种方式是获得DNS
的控制权限,修改用户要访问的网站地址,到自己设置的中间服务器上;另一种方式是让DNS
服务的网络瘫痪(
DDOS
攻击)
,再自己构造DNS
服务的响应,劫持用户的DNS
服务请求,让用户得到“虚假”的网站地址,从而把自己的中间代理服务插入到用户与真实的网站中间。
DNS
方式一般不能直接注入攻击用户,导引到自己的中间服务器上,再进行流量注入攻击。
4、  
利用钓鱼网站
黑客建立与真实网站“神似”的网站,尤其是域名的构造上;利用用户的输入错误,或发送给用户诱惑性的链接,也可以模拟用户信任人发邮件、聊天等方式,诱导用户点击链接,但链接的指向不是真实的网站,而是钓鱼网站。钓鱼网站不用模拟真实网站的页面,主要是把用户的请求再转给正式网站,起一个中转的用途,目的是把钓鱼网站作为用户与网站的“中间人”,进行流量劫持。
这种方式有些姜太公钓鱼的意思,目标性不是特别强,但结合邮件诱骗等手段后,成功率就明显提高了。
 
第二步:不同的“中间人”模式
劫持流量后,黑客相当于用户与服务器之间的“中间人”,黑客可以选择两种方式扮演这个角色:
Ø  
双连接中间人方式:黑客模拟网站与用户建立连接,又模拟用户与网站建立连接,然后把两个连接的数据包相互转发。这种方式黑客参与连接建立,容易注入命令,修改用户交互内容,甚至可以劫持加密的连接,因为黑客有双方连接的密钥;但由于用户的连接是到黑客的,服务“行为”可能与实际的网站不一样,容易引起用户的警觉,或者被监测系统发现;
Ø  
转发中间人方式:用户直接与网站建立连接,黑客直接转发双方的数据包(
但修改源与目的IP
地址,保证连接后的数据包继续流经中间人)
,不参与连接建立过程。这种方式,用户直接与服务器连接,属于“正常”应用,不容易发现有人劫持通讯;但由于连接的步调是用户与网站确定的,注入信息时会比较困难。
 
第三步:识别应用,注入代码
得到了网络流量,还不能直接注入,数据包还需要原为具体应用(
协议解析技术)
,当然能“神不知,鬼不觉”地注入,还需要具体分析协议过程,选择不引起用户注意的动作,让你的木马可以注入到用户计算机中,并获得执行权。
这里给出几个常见的注入方式:
1、  
首页面:网络等录时常有portal
页面,如宾馆网络会有宾馆的欢迎页面,Wlan
上网会有电信或联通的欢迎页面,公司网络会有公司的欢迎页面
很多攻击者直接把这个页面替换为自己的页面,注入自己的代码。
portal
页面中一般有两种选择:一是输入账号与口令,一是有个按钮进入正常网站浏览,这都需要用户动作,嵌入代码不容易察觉。
2、  
浏览:浏览网页是用户最常见的上网行为,http
是明文字符的协议,注入代码相对容易,但我们注入的目的不是让用户看到,而是让用户认为这是正常的浏览行为,重要的是让注入代码获得执行权,尤其是木马需要写入本地硬盘,或插入进程等
你可以在正常网页的按钮执行段里注入自己的木马代码,在用户选择按钮时后台运行;也可以象广告一样弹出一个窗口,升级选择啦,诱惑资讯啦,密码提示啦
总之目的是让用户选择。
3、  
下载:用户使用FTP
服务下载文件时,往往是最适宜的注入时机,因为此时可以把用户下载的文件与黑客的木马绑定后一起送给用户(
双连接模式时很方便)
;因为用户下载后一般要使用该文件,安装、执行、播放等,这都利于木马乘机得到执行权。
4、  
邮件:这是很多用户不注意的,发邮件、收邮件是最常见的上行为,对于自己“信任”的人的邮件,一般都赋予足够的权限,选择邮件注入也就是成为很隐蔽的事情。
 
第四步:启动木马,浏览用户硬盘
一旦木马进入用户计算机,就可以找机会进入“工作状态”,因为用户此时在网上,可以马上把收集到的用户信息发送给黑客。
 
小结:
流量注入是一种攻击思路,其关键点是如何获得中间人地位,注入方面是要有利用各种协议的注入工具;这种攻击方式的好处是不直接进行攻击,注入内容混杂在用户的实际流量中,有针对性,用户不容易察觉,攻击的效率很高。
流量注入攻击适合于近距离攻击,尤其是能够与用户在一个局域网内。人们很注重来自互联网的安全问题,却常常忽视身边的安全“漏洞”。
本文转自 zhaisj 51CTO博客,原文链接:http://blog.51cto.com/zhaisj/450661,如需转载请自行联系原作者
你可能感兴趣的文章
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>
rsync同步服务配置手记
查看>>
http缓存知识
查看>>
Go 时间交并集小工具
查看>>
iOS 多线程总结
查看>>
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>