openwrt-智能路由器hack技术(1)---"DNS劫持"

openwrt-智能路由器hack技术(1)---"DNS劫持"

1   导读

PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起,

本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下。

本文提到的两个基于网络的hack技术:

  • DNS劫持
  • 数据抓包

基本本质上就是路由器设备的两个主要网络功能:

  • 网关配置功能
  • 网关数据中转功能

但是用于软件开发的正途,就变换成下面的说法:

  • 网络环境迁移
  • 数据监控

由于大家可能对 恶作剧 比较兴趣一些,所以就从hack的角度把内容抽取出来写吧。

2   概述

OpenWrt 可以被描述为一个嵌入式的 Linux 发行版,(主流路由器固件有 dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序 [1] 。

智能路由器也就是智能化管理的路由器,通常具有独立的操作系统,可以由用户自行安装各种应用,自行控制带宽、自行控制在线人数、自行控制浏览网页、自行控制在线时间、同时拥有强大的USB共享功能,真正做到网络和设备的智能化管理 [2]。

近几年,智能硬件设备蓬勃发展,智能路由器也开始从实验室走了出来,开始商业化,目前市场上已经出现了各种主流品牌厂商的智能路由器。例如国内的:极路由,小米路由器,华为智能路由系列……

用户只需以较低的价格就可以入手体验到硬件配置良好齐全的智能网络硬件设备了。

[1] Openwrt-百度百科
[2] 智能路由器-百度百科

备注

现在市场上的商用路由器,价格上远低于一台主机电脑,然后网络功能齐全,且带有大容量的硬盘,只要刷成openwrt之后,就可以拥有自己的私有的git服务器或者文件服务器了。

3   准备工作

在正式开始实验之前,要做一些准备工作:

  1. 一台支持openwrt的商用智能路由器硬件设备
  2. 将商用设备刷机成openwrt系统(替换原出厂订制系统)

具体的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>

4   DNS劫持

关于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技术,不要轻易将设备接入陌生人的网络领地。

5   常见钓鱼手段简介

技术加一点社会工程学,hack做如下事情:

盗取支付信息

  1. 将支付宝登录页面复制一份,做一些修改

    例如:将提交密码的服务器修改成hack服务器

  2. 引诱小白到自己的路由器网络下,进行DNS劫持

    免费WIFI,无密码

  3. 诱导用户进行支付登录

    即使用户不是小白,是IT从业人员,记得支付宝的域名,然后输入了域名,确认进入了一模一样的支付页面,进行登录

  4. 用户发现进入支付宝页面后,即使输入正确的密码也无法登录进去,于是放弃
  5. 然后hacker已经获取了用户的相应的用户名及密码了,进行后续工作

DNS劫持和页面复制,可以让用户在浏览器输入了正确的域名,而且浏览器显示了一模一样的 真实 页面,只是你输入账号密码后,不能登录而已。

QQ诈骗

  1. 前面的手段和上面的例子一样,伪照QQ空间登录页面,获取QQ账号密码
  2. 给好友发诈骗汇款信息
  3. 后续其它操作。。。。

可能大家觉得手段比较低端,但是作为一个还算资深的IT从业人员,个人还是有过相应的经历。

事件1

有人在QQ上发消息,说QQ空间有不可思议的照片,习惯性点击过去,是QQ空间相册界面,和登录弹出框。相册封面内容很吸引人,但是我还是出于职业习惯,看了一下浏览器的域名,发现不是QQ空间域名,于是笑了笑,关闭了窗口。

事件2

很久没有联系的一个朋友,在QQ突然向我发消息:麻烦你给我爸爸打个电话说我手机掉厕所了,让他给我汇500块钱过来一下,急。首先这不是让我直接汇款,紧急间,我差点给打了电话,差点成为对方作为博取别人信任的筹码了。还好,我并不知道他的爸爸的电话,迟疑的一瞬间让我清醒了一下,让他说他爸爸的名字,结果他说不出来。。。。

所以,上述方法其实不一定低端,一旦加入高深的社会工程学和人类心理学的知识,产生的社会危害还是蛮大的。还有,上面的那些信息的分析和收集过程,是可以通过编程自动化实现的,线下只需要不断的设局,就会有一定的转化率的。

其它的也不再说,偏离本文主旨了,希望能够引起大家的网络安全意识就好了吧。

6   后文提要

后面再补充一点东西后,整理后续内容“Openwrt智能路由器的网络数据抓包和监控”,以增加大家的公共上网安全意识。


作者: Harmo哈莫
作者介绍: https://zhengwh.github.io
技术博客: http://www.cnblogs.com/beer
Email: [email protected]
QQ: 1295351490
时间: 2015-10
版权声明: 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】
支持本文: 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】
时间: 2024-10-24 06:40:58

openwrt-智能路由器hack技术(1)---"DNS劫持"的相关文章

openwrt-智能路由器hack技术(2)---&quot;网路信息监控和窃取&quot;

openwrt-智能路由器hack技术(2)---"网路信息监控和窃取" 1   导读 PS:之前写的一个文章,现在发现结构内容排版不是太好,导致阅读体验太差,影响传播和SEO,所以现在整理拆分一下,从小处写起, 本系列介绍了两个关于智能路由器的hack技术,供大家赏玩一下. 本文主要介绍openwrt-智能路由器的数据监控功能.(为了维持本文一定的独立性,内容会有所重复). 前一文章: openwrt-智能路由器hack技术(1)---"DNS劫持" 2   概述

【智能路由器】C代码调用uci的API读openwrt配置文件指南

[智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 上篇博客讲解了命令行下uci的使用方法,本篇博客arvik将简单剖析uci部分源码,带领大家使用c语言调用uci的API来读取配置文件. 实战背景 倘若我们自己写了一个应用程序,也想用uci来集中化管理配置该应用的配置文件,怎么办呢? 看了arvik的上一篇博客后相信新手能很快的使用uci对某个配置文件进行配置,只是如何让我们的应用程序读取配置文件内容呢,

智能路由器-OpenWRT 系列六 (远程迅雷离线下载)

OpenWRT 系列教程 智能路由器-OpenWRT 系列一 (OpenWRT 刷机) 智能路由器-OpenWRT 系列二 (OpenWRT初始配置) 智能路由器-OpenWRT 系列三 (OpenWRT安装LuCI&网络配置) 智能路由器-OpenWRT 系列四 (挂载移动设备) 智能路由器-OpenWRT 系列五 (NAS-SMB家庭共享) 智能路由器-OpenWRT 系列六 (远程迅雷离线下载) 下载 Xware1.0.31,参考地址 http://luyou.xunlei.com/thr

智能路由器安全特性分析

智能路由器安全特性分析 腾讯安全中心 · 2015/07/21 14:09 博文作者:zhuliang 0x00 前言 随着互联网的发展,越来越多公司推出了智能路由器,这些智能路由器给用户带来了众多便利的功能,同时也采用了一些传统路由器不具备的安全特性,本文在简要分析下这些安全特性,供相关技术人员参考. 0x01 概述 传统路由器有意或无意地使用了种种不安全的特性,如预留后门,这些后门原本是为了现场调试方便,但是也开放了黑客进入的通道.又比如某些路由器WPS(Wi-Fi Protected Se

DNS污染和DNS劫持的解决办法

DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址. DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址. DNS污染解决方法 1.使用各种SSH加密代理,在加密代理里进行远程DNS解析,或者使用VPN上网. 2.修改hosts文件,操作系统中Hosts文件的权限优先级高于DNS服务器,操作系统在访问某个域名

智能路由器又多一个玩家——乐视TV

智能路由器又多一个玩家--乐视TV 2014年05月04日18:04 来源:搜狐IT 作者:雷科技 正文 我来说两句(1人参与) 报名试驾BMW赢莱卡相机 手机客户端 | 扫描到手机 就在小米路由器正式发布10天之后,智能路由器市场又增新变数. 乐视TV高级副总裁彭钢发了一条微博,"一个带1T硬盘的智能路由器到底卖多少钱最好?乐视要不要做路由器,需要什么样的配置与性能,就由乐迷你来定义吧!当然,如果乐视做智能路由器,一定会像超级电视那样"两倍性能,一半价格",成本定价回馈乐迷

小说dns劫持

小说dns劫持 我们都知道,dns服务器的作用在于解析域名,将人容易记忆的域名与机器理解的ip地址联系起来.我们用域名访问一个网站的时候,主机首先会访问dns服务器,得到所要访问网站的ip地址,然后主机再根据这个IP地址来访问网站. 什么是dns劫持: DNS劫持又称域名劫持,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址. DNS的查询过程: dns劫持的方法: dns劫持的方法

OpenSCAD制作的智能路由器盒子

基于OpenSCAD的一个盒子造型,可以用于了解OpenSCAD的造型语言. 这个盒子的尺寸是为WRTnode(http://wrtnode.com/)设计的,可以输出STL后通过3D打印机打印出来直接使用(注意:不同3D打印机的输出效果和间歇.材料收缩的公差不同,请自行根据情况调整,否则组装不上喔!).     WRTnode(http://wiki.wrtnode.com/index.php?title=Main_Page/zh-cn)是一个开源的智能路由器开发板,可以运行OpenWRT开源

一款Android设备上的智能路由器软件:手机服务站

现在智能电视和盒子的配置越来越高,体验越来越好,那么我们除了用它看看电视电影,打打游戏外,还能干什么呢?它占据着客厅的重要位置,是不是可以做点其他的事情? 例如: 1.用它代替无线路由器给我们的手持设备或笔记本共享网络可以吗? 2.能不能把它做成服务器,用来保存一些不方便或者不需要上传到网络云盘里的文件呢? 3.再或者我想建立一个私人的网站,记录家里的点点滴滴,这些,都可以吗? 4.就算以上都可以做,那我管理起来会不会不方便? 所以,在此向各位推荐一个Android软件来解决以上几个问题,而且还