前言
年初获得机会参与了一次hvv,我承担了内网渗透的任务,具体工作有代理部署,网络扩展等。那时,我刚开始接触内网技术还不到两月,勉强学习了相关知识就投入了实战。幸运的是,运气很好,借助反序列化RCE获取了系统权限,接着发现一个令人尴尬的状况,目标机器无法联网,通过搜索引擎,发现许多高手都在使用某两款工具,这两者都基于socks代理来实现,从而可以绕过内网限制,确实也成功实现了目的,顺利进入了内网,进行了一番探索。在学校进行回顾时,意识到还有一种更高级的方法,那就是构建DNS隧道。
DNS隧道介绍
DNS隧道属于隧道技术的一种类型。当HTTP、HTTPS等上层协议以及正反向端口转发均无法使用时,可以考虑采用DNS隧道。DNS隧道之所以难以防御,是因为日常的业务活动与使用过程中,DNS协议总会被应用到解析环节,因此防火墙通常对DNS流量采取放行态度。当前,若于未联网设备设定一个恶意的网址(***.),当本地DNS系统无法提供回应时,便会采用递归查询路径,经由公共网络寻获目标域名的权威DNS系统。最终,该DNS询问会被导向先前设置好的不良DNS设施,由此,未联网设备便与该恶意DNS设施建立了联系。
这里是最全面的网络安全学习资源,献给所有渴望进步的人,请关注我,在私信中输入“领取”二字即可得到。
1.网络安全多个方向学习路线
2.全网最全的CTF入门学习资料
3.一线大佬实战经验分享笔记
4.网安大厂面试题合集
5.红蓝对抗实战技术秘籍
网络安全的入门知识、Linux操作系统、网页安全、渗透测试的相关视频
DNS隧道搭建工具推荐
DNS通道构建的软件种类繁多,涵盖,等等,经过全面尝试,还是建议大家选用,它操作起来十分便捷,使用起来非常省事。
前置准备
由于要在个人服务器上部署DNS功能,因此必须先设置域名,以腾讯云作为参考说明:
第一条A类记录,向域名系统表明,空字符串对应的网络地址为175.xxx.xxx.xxx
第二条NS记录,告诉域名系统,""的域名由""进行解析。
最终那个""的DNS解析请求,将会由"175.xxx.xxx.xxx"的机器(即我们的VPS),来处理完成。
配置完之后,可以ping一下,观察是否能ping通。
进行隧道搭建
安装时以Linux系统为参照,若需安装操作系统,则应获取适配该系统的版本进行部署。
apt-get install iodine
在虚拟专用服务器上执行的应用程序,执行后会增添一个虚拟网络接口的标识,
执行碘指令,采用特定模式,设置目标为d1m0n,指定IP地址192.168.0.1,连接域名dns2tcp.xxx.com,并保持持续连接状态
#-f:在前台运行
#-c:禁止检查所有传入请求的客户端IP地址。
#-P:客户端和服务端之间用于验证身份的密码。
调试级别通过-D参数设定,其中-D代表第一级,-DD象征第二级,参数中"D"的数目与等级成正比。
这个192.168.0.1是特意设定的内部网络假地址,最好不和已有范围相撞
#注意!填写的地址为NS记录
3.运行客户端,这里使用kali,kali默认是安装好的:
碘,采用无,指定,恶魔,域名,两个点三横,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点,点
碘有时候会自行把DNS通道转为UDP通道,这个设置强制不论何种情形都要使用DNS通道
#-M:指定上行主机的大小。
#-m:调节最大下行分片的大小。
#-f:在前台运行
设置DNS查询的目标,能够选择不同的查询种类,包括无类型、私有类型、文本记录类型、服务记录类型、别名记录类型、邮件交换记录类型以及地址记录类型。
#-O:指定数据编码规范。
#-P:客户端和服务端之间用于验证身份的密码。
#-L:指定是否开启懒惰模式,默认开启。
#-I:指定两个请求之间的时间间隔。
两个指令,DNS中继就已经架设完成,能够测试一下我们的虚拟专用服务器(ip:192.168.0.1)是否连通:
目前,我们的工作仅告一段落,针对内部网络渗透,我们必定需要进行横向移动。DNS隧道能够协助我们突破网络边界,此外,还需部署一个socks代理以便实现横向移动。市面上存在多种socks代理工具,此处推荐一款操作简便且资源消耗低的工具——ssh。ssh通常用于远程主机登录,其传输数据全程采用加密方式,并且它本身也支持作为代理服务器运行。这里设想,我们以恶意DNS服务器充当跳板,kali作为攻击平台,在kali上需要进行设置:
使用安全外壳协议进行无操作连接,并指定本地端口转发到8080,连接目标主机为192.168.0.1上的用户账号
#-N 代表要求SSH不要开启命令行界面,因为我们的目的是建立隧道而非执行命令
#-D 设置动态端口转发,SOCKS代理端口为8080
#user 我们服务器上的用户
#192.168.0.1 tun接口上的iodine服务器
输入完VPS的ssh密码之后,就开始进行转发,这里配置一下
vim /etc/proxychains4.conf
最后验证一下我们的代理有没有搭好:
使用代理链工具发送请求到百度网站地址
大功告成,后面就是内网漫游时间~
实操推荐:DNS服务器配置(通过本课程详细学习了解DNS)
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1