我们见过太多dns攻击、劫持基本都是一些恶意的软件导致篡改。
本地DNS攻击需要比较苛刻的条件,而远程DNS攻击除了知道用户使用的DNS服务器地址外还需要控制DNS服务器本身,所以我们需要找到一个巧妙的方式去完成攻击。
本文介绍了让废弃的iot漏洞变废为宝的方法,从DNS投毒到水坑攻击。
1.解析URL
2.DNS查询
查询本地浏览器DNS缓存
查询命令:chrome://net-internals/#dns
firefox: about:config
查询本地hosts文件
linux:/etc/hosts
windows: C:\Windows\System32\drivers\etc\hosts
查询本地DNS服务器
查询上级DNS服务器
具体DNS解析的原理我们就不多提了,我们直接往下。
我们可以选择bind9或者Dnsmasq搭建一个DNS中继服务器,这边笔者使用bind9+ubuntu20的环境。
1、切换到root用户,安装bind9
apt-get install bind9
2、配置/etc/bind/named.conf.local 文件(服务器域解析文件)
这边git.cn 是我们关注的域名,要将它添加解析到我们自己的服务器。
这边举个例子,在实战中
步骤3中的db.git.cn是域解析文件,默认在/var/cache/bind,它们的格式与bind9自带的模板db.local格式一致,我们把/etc/bind/db.local文件copy到/var/cache/bind下,并命名为 db.git.cn
.配置/etc/bind/named.conf.options 文件访问外网
默认dnssec-validation是auto,这边改成no可以避免部分dns请求为不信任链导致解析延迟或者解析失败(error显示为不信任),可以在var/log/messege 查看日志报错日志定位错误。
早期版本的bind9解决方法:
vi /etc/named.conf
dnssec-enable no;
dnssec-valication no;
更新完配置:service bind9 restart
git.cn 如期的解析到我的ip
但是如果使用国内一些云主机的话,有些云主机的风控会检测到你通过通过自己bind的dns访问,从而重定向你的浏览提醒你备案,不宜使用时间过久或者选择没有此类风控的idc,此处笔者就不推荐使用什么主机了。
那么如何劫持目标的dns服务器或者篡改其dns地址呢?
如果我们已经控制了用户的pc,那么再篡改dns也意义不大了,完全可以维持权限进行长期的apt和内网渗透了。
所以当我们做信息收集,发现目标资产存在路由器、上网设备、光猫等上网设备。在没办法rce的情况下,例如存在CSRF、未授权访问,弱口令、任意文件读取等漏洞时候,此处直接是可以降低攻击层面,避免正面怼一些应用系统。
笔者这边使用D_Link_DSL系列路由器 进行测试,使用了未授权篡改dns的漏洞,也有一些朋友使用了TP-link成功了。
这边列举一些存在相同的问题的路由器型号:D-link、tenda、华硕RT-N16、netgear、RT-N56U、TP-LINK TL-WR841N、Arcor EasyBox A 600、FiberHome等。
如果是未授权访问和通过弱口令进入后台,我们可以将其DNS地址改到我们搭建好的中继DNS服务器
payload:http://192.168.1.1/dnscfg.cgi?dnsPrimary=8.8.8.8&dnsSecondary=$3&dnsDynamic=0&dnsRefresh=1
如果是CSRF漏洞,要在做指纹识别的时候识别详细的版本号。
在电⼦邮件中插⼊特定的URL,指向路由器默认的IP地址(通常为192.168.1.1),如修改DNS服务器的配置,完整的payload如下:
http://admin:password@192.168.1.1/start\_apply.htm?dnsserver=123.123.123.123
劫持后的水坑攻击
也可以直接在页面嵌入引诱的链接让用户下载C2
具体详细看之前的无感水坑一文:
所以发起DNS重定向攻击域名选择优先级:
a、目标私有域名,常用的办公域名,已经收集到的,如:oa、crm等
b、日常的浏览器更新、办公软件更新、补丁更新域名
b、常用到的域名,如:github、baidu、taobao、bilibili等
d、其他域名
笔者使用的路由器型号在fofa上已经近万条记录
存在漏洞的iot设备在互联网上数不胜数,cnvd收录了近万条iot设备漏洞
exploit-db上的路由器漏洞也是非常多
当然还有一些带网络功能的安全产品一样的能进行dns投毒,iot安全往往被企业忽视,但在攻防中往往有一些黑魔法借助iot设备且极大降低攻击成本。
本文抛砖引玉。期待更多朋友一起研究IOT安全在攻防的魔法,以及怎么使用STAC(moresec)在此类设备的设计阶段缓解漏洞。
引用和RAY在星球的讨论:
IOT是一个莽荒生态,互联网的应用型公司的崛起,让硬件开发工程师越发的稀少。Web CGI类的常规Web漏洞更是惨不忍睹,网路协议类的标准很多也没有考虑安全设计, 硬件架构安全方面更加没有人才,储备几乎为零。
然后,另外一个方面,大多数单位只关注业务安全,忽略IOT设备的安全,实际上IOT安全漏洞价值很高,很多高超先进的后门和攻击技术都在里面,APT的很多隐秘的通道都在里面。
所以,IOT是安全行家的必争之地,目前只有少数人有相关的意识。