《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网

news2024/12/25 8:54:49

 

目录

一.TCP/UDP协议探测出网

1.NC工具探测TCP协议出网

2.Telnet命令探测TCP协议出网

3.UDP协议探测出网

当红队人员在进行内网渗透时,经常会遇到目标主机不出网的场景,而主机不出网的原因有很多,常见的原因例如目标主机未设置网关,被防火墙或者其他防护设备拦截设置了出入站策略,只允许特定协议或端口出网等。当我们遇到这种情况时,可以通过本章节中所讲到的方法,利用各种包含该协议的方式探测目标主机允许哪些协议出网,根据探测到的协议信息进行隧道穿透。在已经获取到目标系统的权限前提下,可以通过下述所讲到的各种协议探测手段来进行探测是否出网。

一.TCP/UDP协议探测出网

在对目标服务器进行TCP/UDP协议探测出网前,需要满足前文中所提到的已经获取目标管理权限的前提下进行本次实验。本次实验环境拓扑如图所示

      图1-1 TCP/UDP协议探测出网实验拓扑

1.NC工具探测TCP协议出网

1)根据图1-1 所描述的实验拓扑环境中,使用nc工具和Telnet命令来探测TCP协议是否出网,首先介绍一下Netcat(NC)这款工具,它是一款比较简单并且非常有用的工具,既支持通过TCP和UDP在网络连接中读写数据,也是一个稳定的后门工具,支持其它程序和脚本驱动,同时它还是一个功能强大的网络调试和探测工具,可以建立使用中所需要的几乎所有类型的网络连接,若要利用NC工具来探测TCP协议是否出网,首先我们先使用NC工具在目标服务器中执行nc.exe -lvp 8888"命令来监听目标服务器的8888端口,如图1-2所示。在使用nc开启监听执行连接的过程中,会发起TCP请求和响应时,同时也会产生数据包,通过在本地主机中使用Wireshark流量分析软件来抓取发起连接过程的数据包,后续通过抓取到的数据包来查看TCP三次握手连接过程。

图1-2 使用NC工具开启服务端监听

2)在Windows 10主机中使用nc工具连接目标服务器8888端口,检测其是否出网。执行nc.exe -nv 8.130.xxx.xxx 8888"命令,发现成功连接,显示open开启端口状态,可证明目标服务器TCP协议出网,如图1-3所示。

图1-3 客户端连接成功

3)在使用nc工具连接探测到出网成功的同时,在本地主机中可以看到从wireshark软件中抓取的数据包,分析本地主机和目标服务器TCP协议建立连接的过程,在过滤栏使用"tcp.port == 8888",过滤TCP端口,即可看到TCP三次握手成功的情况,如图1-4所示。

图1-4  TCP三次握手过程

2.Telnet命令探测TCP协议出网

1)使用Telnet命令来探测目标服务器是否出网,首先需要在目标服务器使用nc工具开启监听8888端口,执行命令nc.exe -lvp 8888,成功开启目标服务器监听,如图1-5所示。

图1-5  nc开启服务端监听

2)当开启监听后,在本地主机中使用Telnet命令连接到目标服务器。执行telnet 8.130.xx.xx 8888命令,如图1-6所示则证明连接成功,即代表允许TCP出网。

图1-6 Telnet客户端连接成功

3.UDP协议探测出网

1)探测目标服务器UDP协议是否出网前,需要上传nc到目标服务器,在目标服务器上执行nc.exe -ulvp 8888"命令来开启目标服务器监听, 如图1-7所示,其中-u参数是指nc使用udp协议进行数据传输(nc默认使用tcp)。

图1-7 nc使用Udp协议开启服务端监听

2)由于UDP是无连接传输协议,发送端和接收端之间没有握手,每个UDP报文段都会被单独处理,在Windows 10主机中启动wireshark流量分析软件,抓取本地流量包,开启监听后在Windows 10主机利用nc工具发起连接。执行nc.exe -uv 8.130.xx.xx 8888"命令,测试返回响应后,发现显示open,连接成功,如图1-8所示。

图1-8 nc客户端使用udp协议连接成功

3)通过在本地Wireshark流量分析软件抓取到的UDP数据包,可以看出本机和目标服务器通过UDP协议进行通讯,证实UDP协议出网,如图1-9所示。

图1-9 wireshark捕获Udp数据包

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

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

相关文章

Linux环境部署应用必知必会

修改环境变量 Linux环境变量配置的6种方法,建议收藏! - 知乎 修改java环境变量 软件安装 安装redis redis是一个非关系型数据库,是一个存储键值对的数据库,通常被称为数据结构服务器。 值(value)可以是…

00TD时尚女童睡衣,蕾丝边+蝴蝶结太好看了

甜美又可爱的蕾丝花边加蝴蝶结 真的一下子戳中了我的心巴, 满满的少女风真的很好看, 妥妥的可爱小公主一枚 柔软又亲肤,厚厚的很保暖 睡觉真的很舒服 还有袖口和裤脚都做了松紧设计哟!

【iOS】UITableView总结(Cell的复用原理、自定义Cell、UITableViewCell协议方法)

UITableView 列表的特点: 数据量大样式较为统一通常需要分组垂直滚动通常可视区只有一个 -> 视图的复用 UITableViewDataSource UITableView作为视图,只负责展示,协助管理,不管理数据 需要开发者为UITableView提供展示所需…

“一键合并剪辑,轻松添加片头——全新的视频编辑工具让你成为视频制作达人“

在日常生活中,我们时常会遇到需要制作视频的情况。但面对繁琐的视频剪辑和合并,你是否感到无从下手?今天,我们为你带来一款全新的视频编辑工具,让你轻松成为视频制作达人! 首先我们要进入好简单批量智剪主页…

【扩散模型】【文本到音频论文系列翻译二】使用指令微调LLM和潜在扩散模型的文本到音频生成

🔥 🔥🔥 github: https://github.com/declare-lab/tango 效果:https://tango-web.github.io/ 论文地址:https://arxiv.org/pdf/2304.13731.pdf 数据集audiocaps下载: https://blog.csdn.net/weixin_4350969…

进程(1)——什么是进程?【linux】

进程(1)——什么是进程?【linux】 一. 什么是进程?二. 管理进程:2.1 怎么管理:2.2 PCB2.3.1 task_struct2.3.2 组织task_struct: 三.查看进程3.1 ps ajx3.2 ls /proc 四. 父子进程4.1 什么是父子…

02-2、PyCharm中文乱码的三处解决方法

PyCharm中文乱码 修改处1: 修改处2:这个也没用 在Pycharm中可以创建一个模版,每次新建python文件时Pycharm会默认在前两行生成utf-8 #!/user/bin/env python3 # -- coding: utf-8 -- 还是乱码 再在这里设置以下 添加 : -Dfi…

【LeetCode 算法专题突破】滑动窗口(⭐)

文章目录 前言1. 长度最小的子数组题目描述代码 2. 无重复字符的最长子串题目描述代码 3. 最大连续1的个数 III题目描述代码 4. 将 x 减到 0 的最小操作数题目描述代码 5. 水果成篮题目描述代码 6. 找到字符串中所有字母异位词题目描述代码 7. 串联所有单词的子串题目描述代码 …

rust学习——引用与借用(references-and-borrowing)

引用与借用(references-and-borrowing) 先看一个返回参数的所有权的代码 fn main() {let s1 String::from("hello");let (s2, len) calculate_length(s1);println!("The length of {} is {}.", s2, len); }fn calculate_length(…

day01_matplotlib_demo

文章目录 折线图plot多个绘图区绘制数学函数图像散点图scatter柱状图bar直方图histogram饼图pie总结 折线图plot import matplotlib.pyplot as pltplt.figure(figsize(15, 6), dpi80) plt.plot([1, 0, 9], [4, 5, 6]) plt.show()### 展现一周天气温度情况 # 创建画布 plt.figu…

mysql高级查询

score student courses inner join 内连接:查询的结果为两个表匹配到的数据 1.条件:查询学生信息及课程对应的分数 解析:此时信息存储在三张表通过外键标识,可以先将学生和分数表根据条件连接在一起,然后在连接课…

升级你的照片编辑体验:Nik Collection by DxO,让你的照片更出色

如果你是一个摄影爱好者或者专业摄影师,你一定需要一款功能强大、易于使用的照片编辑插件套件来提升你的作品质量。今天,我们要向大家介绍一款备受赞誉的产品——Nik Collection by DxO。 Nik Collection by DxO是一款集合了多种照片编辑功能的插件套件…

Leetcode刷题笔记--Hot71--80

1--会议室II(253) 2--完全平方数(279) 主要思路: 完全背包问题,每一个平方数可以选取多次。 本题的物品组合与顺序无关,对应于组合问题,因此先遍历物品,再遍历背包。 定…

51单片机中断操作详解(03)

eg1:数码管如何显示出字符 51单片机40个引脚的功能需要记住** RXD:表示的是串行输入口INT0:外部中断0INT1:外部中断1TO : 外部中断0T1 :外部中断1WR: 外部输入存储器写RD: 外部输出存储器读XTK2/XTL1 单片机晶振的输…

分享5个解决msvcp140.dll丢失的方法,全面解析msvcp140.dll丢失的原因

一、MSVCP140.dll是什么? 首先,我们需要了解什么是MSVCP140.dll。MSVCP140.dll是一个动态链接库文件,它是Microsoft Visual C 2015 Redistributable的一部分。这个文件包含了运行使用C编写的应用程序所需的一些函数和类。因此,当…

从零开始,学好 Python 从大一新生自我介绍开始

从零开始,学好 Python 从大一新生自我介绍开始 大家好,我叫xxx,今年18岁,刚刚入学不久。我决定从零开始系统学习Python编程语言。 Python是一种解释型、交互式和脚本编程语言。它由荷兰人Guido van Rossum在1991年左右创立,语法简…

深入理解 C++ 右值引用和移动语义:全面解析

C11引入了右值引用,它也是C11最重要的新特性之一。原因在于它解决了C的一大历史遗留问题,即消除了很多场景下的不必要的额外开销。即使你的代码中并不直接使用右值引用,也可以通过标准库,间接地从这一特性中收益。为了更好地理解该…

023-第三代软件开发-自定义Button

第三代软件开发-自定义Button 文章目录 第三代软件开发-自定义Button项目介绍自定义Button第一类型-加声音第二类型-加样式 第三类型-减声音总结一下存在一点小问题 关键字: Qt、 Qml、 Button、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目&…

无需公网IP,如何远程访问内网SVN服务?

小王以往为客户服务器做维护时,需要先在本地服务器上调试后再copy到客户服务器上进行发布。现在在本地搭建SVN服务器并通过花生壳发布SVN到外网,在客户服务器现场时也能load公司内网服务器的SVN代码。无需再次copy又发布,省时省力。下面来看详…

【JavaWeb】后端(MySQL+Mybatis)

目录 一、MySQL1.什么是数据库?2.MySQL安装3.MySQL连接 二、DDL1.DDL(数据库操作)2.MySQL客户端工具3.表操作4.数据类型5.表操作 三、DML1.INSERT2.UODATE3.DELETE 四、DQL1.基本查询2.条件查询(where)3.分组查询(group by&#…