PS:以前写的一个文章,如今发现结构内容排版不是太好,致使阅读体验太差,影响传播和SEO,因此如今整理拆分一下,从小处写起,前端
本系列介绍了两个关于智能路由器的hack技术,供你们赏玩一下。linux
本文提到的两个基于网络的hack技术:nginx
基本本质上就是路由器设备的两个主要网络功能:git
可是用于软件开发的正途,就变换成下面的说法:github
因为你们可能对 恶做剧 比较兴趣一些,因此就从hack的角度把内容抽取出来写吧。web
OpenWrt 能够被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图创建一个单一的、静态的系统。OpenWrt的包管理提供了一个彻底可写的文件系统,从应用程序供应商提供的选择和配置,并容许您自定义的设备,以适应任何应用程序 [1] 。编程
智能路由器也就是智能化管理的路由器,一般具备独立的操做系统,能够由用户自行安装各类应用,自行控制带宽、自行控制在线人数、自行控制浏览网页、自行控制在线时间、同时拥有强大的USB共享功能,真正作到网络和设备的智能化管理 [2]。浏览器
近几年,智能硬件设备蓬勃发展,智能路由器也开始从实验室走了出来,开始商业化,目前市场上已经出现了各类主流品牌厂商的智能路由器。例如国内的:极路由,小米路由器,华为智能路由系列……安全
用户只需以较低的价格就能够入手体验到硬件配置良好齐全的智能网络硬件设备了。bash
[1] | Openwrt-百度百科 |
[2] | 智能路由器-百度百科 |
备注
如今市场上的商用路由器,价格上远低于一台主机电脑,而后网络功能齐全,且带有大容量的硬盘,只要刷成openwrt以后,就能够拥有本身的私有的git服务器或者文件服务器了。
在正式开始实验以前,要作一些准备工做:
具体的openwrt支持硬件设备列表见 官方文档 [3] 。
关于各类品牌的路由器如何刷ROM,能够到网上找各类教程,本文主要侧重openwrt后的应用,故刷机过程略去。
备注
本文是在小米官网购买的 小米路由mini ,而后根据教程刷成基于 openwrt 订制的 pandorabox
刷机成功后,就能够经过PC机远程路由了,就像远程一台普通的linux服务器同样,远程登陆后,路由器终端界面提示以下:
基本的文件操做,网络操做等命令和普通Linux相似。同时openwrt也能够经过软件仓库安装应用软件,具体参见 openwrt软件包管理 [4]。
例如,安装 nginx 应用程序:
opkg install nginx
上面对openwrt的基本知识进行了简单介绍,后面开始一些综合应用了。
[3] | Openwrt Table of Hardware <http://wiki.openwrt.org/toh/start> |
[4] | openwrt软件包管理 <http://wiki.openwrt.org/doc/packages> |
关于DNS的定义,在此再也不赘述。其功能简单来讲:就是网络应用程序在向某个域名请求内容时,其实并非直接向真实的主机发送,而是先向域名服务器进行查询,获得对应的IP地址,而后才指向具体的主机上的服务进行请求。
基于以上的原理,如何进行DNS劫持就变得很容易了:只须要修改机器的DNS解析,就能够设计出本身想要的网络集群组合了。
有两种方式进行修改:
修改本机hosts,不使用额外的DNS服务器
创建DNS服务器并进行解析设置
直接修改上网设备因为对当事人的私有设备进行了比较深刻的入侵,门槛较高,因此可行性不高。还不如把对方引诱到本身的网络领地,即接入到本身的WIFI或者有线网络里面。
能够经过DNS服务器及网关配置,实现同一路由器(网关)下全部机器的网络统一配置。
在linux系统中使用 dnsmasq 配置一台DNS应用服务器。
而后在网关上设置相应的DNS服务器,新的主机接入到此网关(物理表现为路由器)以后,由DHCP分配IP地址和DNS服务器地址。过程以下图所示:
对于智能路由器来讲,自己就至关于一台linux主机,因此能够直接在本机上安装DNS服务器,并设置DHCP。 通常状况下,openwrt里面自然集成了dnsmasq。
对 /etc/config/network 文件进行编辑,就能够设置DHCP,修改相应的代码段:
config interface 'lan' …… option dns '127.0.0.1 223.5.5.5 223.6.6.6'
固然对于不熟悉linux的同窗来讲,也能够经过openwrt提供的web管理界面进行设置,在此略去不表。
通过上述配置,后续全部链接到此路由下面的设备,都由路由统一分配DNS服务器了。
全部链接在此路由器上的设备,不论是移动设备,仍是服务器仍是PC都有统一的网络配置。
若是要对整个局域网进行网络修改,只需登陆DNS服务器(此处就是智能路由器)。
修改 /etc/hosts 加上域名IP映射记录,而后执行下述命令重启dnsmasq服务便可:
/etc/init.d/dnsmqsq restart
在客户机上执行 ping命令检查一下相应的域名,通过特殊指向的域名返回的都是路由器配置的IP地址了(非特殊设定的,由备用DNS服务器来进行解析,因此其它公网服务仍然正常)。
基本上,只要如上图链接到了你的智能路由器的全部上网设备,都已经在你的掌控之下了,你想劫持就能劫持了。
具体的操做手段以下:
例如,修改路由器的hosts映射:
127.0.0.1 www.baidu.com
而后在浏览器输入 百度 的域名,出来的就是下图(本机已经事先安装了nginx的web服务器了):
使用浏览器的前端调试工具能够看出此域名的实际解析主机已经再也不是 百度 的真实服务器,而是nginx的默认主页:
若是hack作一个高仿的 百度 主页,再作一些简单的搜索引擎,那么基于目前都依靠百度来做为互联网导航的广大小白网民来讲,杀伤力仍是蛮巨大的。
说明
其实对于喜欢hack技术的人来讲,上面的技术其实就是 ”DNS劫持技术“ 了。稍微再加一点东西,就能够作成假装度很高的钓鱼网站,再加一点社会工程学和人类心理学的知识(将上网设备引诱到你的网络领域来),就能产生比较强的破坏力了。因此懂技术的同窗请不要作违法的事;不懂技术的同窗请注意防范此类的hack技术,不要轻易将设备接入陌生人的网络领地。
技术加一点社会工程学,hack作以下事情:
盗取支付信息
例如:将提交密码的服务器修改为hack服务器
免费WIFI,无密码
即便用户不是小白,是IT从业人员,记得支付宝的域名,而后输入了域名,确认进入了如出一辙的支付页面,进行登陆
用户发现进入支付宝页面后,即便输入正确的密码也没法登陆进去,因而放弃
而后hacker已经获取了用户的相应的用户名及密码了,进行后续工做
DNS劫持和页面复制,可让用户在浏览器输入了正确的域名,并且浏览器显示了如出一辙的 真实 页面,只是你输入帐号密码后,不能登陆而已。
QQ诈骗
可能你们以为手段比较低端,可是做为一个还算资深的IT从业人员,我的仍是有过相应的经历。
事件1
有人在QQ上发消息,说QQ空间有难以想象的照片,习惯性点击过去,是QQ空间相册界面,和登陆弹出框。相册封面内容很吸引人,可是我仍是出于职业习惯,看了一下浏览器的域名,发现不是QQ空间域名,因而笑了笑,关闭了窗口。
事件2
好久没有联系的一个朋友,在QQ忽然向我发消息:麻烦你给我爸爸打个电话说我手机掉厕所了,让他给我汇500块钱过来一下,急。首先这不是让我直接汇款,紧急间,我差点给打了电话,差点成为对方做为博取别人信任的筹码了。还好,我并不知道他的爸爸的电话,迟疑的一瞬间让我清醒了一下,让他说他爸爸的名字,结果他说不出来。。。。
因此,上述方法其实不必定低端,一旦加入高深的社会工程学和人类心理学的知识,产生的社会危害仍是蛮大的。还有,上面的那些信息的分析和收集过程,是能够经过编程自动化实现的,线下只须要不断的设局,就会有必定的转化率的。
其它的也再也不说,偏离本文主旨了,但愿可以引发你们的网络安全意识就行了吧。
后面再补充一点东西后,整理后续内容“Openwrt智能路由器的网络数据抓包和监控”,以增长你们的公共上网安全意识。
做者: | Harmo哈莫 |
---|---|
做者介绍: | https://zhengwh.github.io |
技术博客: | http://www.cnblogs.com/beer |
Email: | dreamzsm@gmail.com |
QQ: | 1295351490 |
时间: | 2015-10 |
版权声明: | 欢迎以学习交流为目的读者随意转载,可是请 【注明出处】 |
支持本文: | 若是文章对您有启发,能够点击博客右下角的按钮进行 【推荐】 |