网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

alittlemc,个人原创,个人理解和观点。若有错误、不理解请与我联系,谢谢!

  • 介绍了DNS的解析过程。
  • DNS劫持的思路和实践。

DNS

域名

以为live.bilibili.com为例子,从后到前依次为顶级(一级)域名com、二级域名bilibili,三级域名live。www是特殊的标示代表主机,有一些域名再长点,就继续四级域名、五级域名加下去。

  • 其实在顶级域名后还有一个根域写作 .(英文句号)www.bilibili.com.
  • 顶级域名一般代表具有一定性质的网站,com商业、cn中国、gov政府机构等等
  • 二级域名代表具体的网页名称所以主体
  • 三级域名就是更细的划分,比如 teiba.baidu.com
  • www是个特殊代表主机

DNS概述

DNS(Domain Name System,域名系统),DNS简单来说就是 已知域名求IP的服务。在TCP/IP协议下的网络中,设备之间通信都是用网络层的IP作目标标识的,但是访问网页我们往往通过域名来访问,比如bilibili对应的IP解析为119.3.70.188,https://bilibili.com比如https://119.3.70.188都可以打开bilibili站点,但是IP地址不是每个人都能很好的记忆的,更何况将来如果IPv6广泛应用了(如图1所示),所以是DNS一项很重要的技术。

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图1.www.bilibili.com解析出的IPv6地址

DNS服务在提供域名解析额同时,还为服务器提供负载均衡,IP优化域名优化的效果。

  • DNS一条域名可以解析出多条IP结果,这些IP对应提供相同的服务但是位置不同的服务器,将不同的IP返回给用户,不至于让某台服务器压力太大。
  • 有一些高级的DNS服务器会客户的运营商提供较优的IP,比如在广西访问广东的IP往往比访问北京的来得更快些。

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图2.bilibili.com全部解析结果

DNS解析过程

DNS一开始本机会” 先求人不如求己“,先查询本机DNS存放在内存中缓存(这缓存几个小时后清除),本机hosts文件。实在是没有才会向本机设置的DNS Server发起请求,本机的DNS Server为阿里的223.5.5.5。

DNS使用UDP:53端口(当然也可以使用TCP:53,在较大请求和返回数据的情况下使用,因为UDP报文最大576字节且后续报文不分片直接丢弃。所以减去UDP报头,DNS报文数据限制在512字节内)。UDP的报文很干净,一来一回也不需要握手。

  • 在终端输入NSLOOKUP查询一下www.bilibili.com,并且抓包:

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图3.本机192.168.4.1与DNS Server 223.5.5.5的请求过程

DNS Server接受到任务后会查询DNS数据库的,当然”人非圣贤孰能无过”,DNS Server也会查询不到IP,会再向上游DNS Server发起请求:

  • 递归查询:不知道就问上一级(PC请求Server1时候也属于递归查询)
  • 迭代查询:不知道认识的都问一遍

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图4.本机192.168.4.1与DNS Server 223.5.5.5的请求过程

DNS查询记录

DNS有不同的记录:

  • A 记录
  • 域名解析IPv4地址
  • AAAA 记录
  • 和A 记录类似,域名解析IPv6 地址
  • PTR记录
  • IP解析域名,即反向解析,比如nslookup输入server 223.5.5.5反向解析出了public1.alidns.com

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图5.反向解析

  • CNAME 记录
  • CNAME 记录另一个别名域,

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

图6.a.w.bilibili.com和www.bilibili.com相同

  • 其他的记录还有:SOA 记录还有、MX记录、NS记录、TXT记录、SRV记录、APL记录、CAA记录、DNAME记录 等等。太多啦,不在本次的讨论范围啦。

基于ettercap实现DNS劫持

完成思路

温馨提示:DNS劫持是违法的,请不要以身试法(一般情况我们称黑客 为小黑子香精捞饭)

  1. 搭建假的DNS Server提供可以自定义DNS解析条件,基于ettrcap使用自带的 /etc /ettercap /etter .dns
  2. 搭建假的钓鱼网站,其IP由假的DNS服务器提供,当然也可以搭建某些中转的网站,比如某个编写了恶意脚本的站点,用户打开后GET 其URL,再执行脚本后跳转。(相比于近似发,taobao.com和ta0ba0.com,DNS可以让正确的域名对于错误的站点,更隐蔽)
  3. 部署站点:
  4. ettercap的基于可arp来实现的,所以只在局域网中使用,用于。
  5. 钓鱼网站站点可以搭建在局域网内也可以搭建在公网中,具体内容和作用嘛,其实应该有看见过,用于盗取一些个人信息;配置使用nginx、apache作为中间价,PHP之类作为解析(或者静态的html,post到动态PHP界面)
  6. 使用ettercap发起攻击

ettercap的使用

ettercap是基于ARP 地址欺骗来实现中间人攻击的工具。

可恶我的kali截图丢了,后面我会补上。

一般情况下完整版的Kali是自带甚至有图形界面,

编辑(假DNS请求) /etc /ettercap /etter .dns

域名    A    钓鱼网站IP
比如
正向A

www.bilibili.com    A    10.100.10.4
www.baidu.com     A    10.100.10.4

反向PRT
www.bilibili.com    PRT    10.100.10.4
www.baidu.com    PRT    10.100.10.4

发起攻击过程

查看网关 网卡等
root @ localhost in ~ [21:54:10] C:1$ sudo route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.100.10.1 0.0.0.0 255.255.255.192 U 0 0 0 wlan0

Original: https://www.cnblogs.com/alittlemc/p/16770064.html
Author: alittlemc
Title: 网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644428/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 腾讯叶聪:朋友圈爆款背后的计算机视觉技术与应用

    分享嘉宾:叶聪 腾讯 技术专家 编辑整理:张智跃 内容来源:DataFun AI Talk「智能技术前沿实践分享」 出品社区:DataFun 导读: 本次分享系统介绍计算机视觉的基…

    技术杂谈 2023年7月25日
    060
  • 获取当前程序的路径

    以下是获取当前程序路的代码:1 //该函数用于获取执行文件的目录,bExit为TRUE时判断获取的目录是否存在,缺省为TRUE 2 BOOL GetModuleFilePath(C…

    技术杂谈 2023年7月23日
    084
  • Opencv环境配置及踩坑

    Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows…

    技术杂谈 2023年7月10日
    056
  • ArcGIS Pro创建要素后自动更新字段值

    { var mapProjItem = Project.Current.GetItems().FirstOrDefault(item => item.Name.Contain…

    技术杂谈 2023年5月30日
    083
  • nginx安装配置步骤

    ​ yum install gcc gcc-c++ pcre pcre-devel openssl openssl-devel zlib zlib-devel -y [root@n…

    技术杂谈 2023年7月11日
    066
  • nodejs队列

    nodejs队列 创建具有指定并发性的队列对象。添加到队列的任务以并行方式处理(直到并发性限制)。如果所有的worker都在进行中,任务就会排队,直到有一个worker可用。wor…

    技术杂谈 2023年5月31日
    078
  • FlinkSQL源码阅读-schema管理

    在Flink SQL中, 元数据的管理分为三层: catalog-> database-> table,我们知道Flink SQL是依托calcite框架来进行SQL执…

    技术杂谈 2023年6月21日
    069
  • 你没用过的mvn命令

    mvn -X -U 作者:习惯沉淀 如果文中有误或对本文有不同的见解,欢迎在评论区留言。 如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力! 扫码关注…

    技术杂谈 2023年6月1日
    080
  • jquery 跨域调用wcf 返回json 碰到的一些问题

    走到这里的时候,发现网络上能学习的资源或是比较适合自己项目的文章越来越少了,也在这里停留了比较长的时间 在做跨域的过程中,感觉http://localhost:9090/域与htt…

    技术杂谈 2023年7月11日
    093
  • 需求项目迭代思考-by k

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/shoshana-kong/p/16498659.htm…

    技术杂谈 2023年6月1日
    0103
  • P8141 [ICPC2020 WF] What’s Our Vector, Victor?

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年6月21日
    090
  • 观察者模式详解

    观察者模式 1.1观察者模式概述 观察者模式(Observer Pattern)又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式。…

    技术杂谈 2023年6月21日
    0120
  • shell find 根据时间获取文件列表

    shell find 以时间为条件查找获取文件列表 根据时间得到文件,可以使用 find进行查找,支持查找: find以时间为条件查找可用选项: -amin n:查找n分钟以前被访…

    技术杂谈 2023年7月25日
    058
  • 【大厂面试必备系列】滑动窗口协议

    引言 想象一下这个场景:主机 A 一直向主机 B 发送数据,不考虑主机 B 的接收能力,则可能导致主机 B 的接收缓冲区满了而无法再接收数据,从而导致大量的数据丢包,引发重传机制。…

    技术杂谈 2023年7月24日
    056
  • 什么是HBase?终于有人讲明白了

    一、初识HBase HBase 是一个面向列式存储的分布式数据库,其设计思想来源于 Google 的 BigTable 论文。HBase 底层存储基于 HDFS 实现,集群的管理基…

    技术杂谈 2023年7月25日
    061
  • 二、冯·诺依曼结构与快捷键的使用

    一、冯·诺依曼结构 二、快捷键的使用 Ctrl+A:全选Ctrl+C:复制Ctrl+V:粘贴Ctrl+X:剪切Ctrl+Z:撤销Ctrl+S:保存Alt+F4:关闭窗口Shift+…

    技术杂谈 2023年6月21日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球