【THM】Nmap Advanced Port Scans(高级端口扫描)-初级渗透测试

介绍

本房间是Nmap系列的第三个房间(网络安全简介模块的一部分)。在前两个房间中,我们了解了实时主机发现和基本端口扫描。

  1. Nmap实时主机发现
  2. Nmap基本端口扫描
  3. Nmap高级端口扫描
  4. Nmap后端口扫描

在Nmap基本端口扫描中,我们介绍了TCP标志并回顾了TCP 3 路握手。要启动连接,TCP要求第一个数据包设置 SYN 标志。因此,我们可以根据收到的响应判断TCP端口是否打开。

安全研究人员和黑客考虑了TCP标志(如下图所示并在之前的房间中进行了解释),并开始进行实验。他们想知道如果我们发送一个设置了一个或多个标志的TCP数据包(该数据包不属于任何正在进行的TCP连接的一部分)会发生什么。

例如,当您想要确认接收到的数据时,会设置 ACK 标志。 ACK 扫描就像尝试确认最初既没有发送也没有接收到的数据。考虑这个简单的类比,有人突然来找你,告诉你:“是的,我听到了,请继续。”当你什么都没说的时候。

该房间介绍高级扫描类型和扫描选项。其中一些扫描类型可用于特定系统,而其他扫描类型则可用于特定的网络设置。我们将介绍以下类型的端口扫描:

  • Null Scan
  • FIN Scan
  • Xmas Scan
  • Maimon Scan
  • ACK Scan
  • Window Scan
  • Custom Scan

此外,我们将涵盖以下内容:

  • 欺骗IP
  • 欺骗MAC
  • 诱饵扫描
  • 分片数据包
  • 空闲/僵尸扫描

我们将讨论规避防火墙和IDS系统的选项和技术。我们还介绍了从Nmap获取更多详细信息的选项。

TCP空扫描、FIN扫描、Xmas扫描

让我们从以下三种类型的扫描开始:

  • 空扫描
  • FIN 扫描
  • Xmas扫描
NULL扫描

空扫描不设置任何标志;所有六个标志位均设置为零。您可以使用该 -sN选项选择此扫描。没有设置标志的TCP数据包在到达开放端口时不会触发任何响应,如下图所示。因此,从Nmap的角度来看,空扫描中缺乏回复表明端口已打开或防火墙正在阻止数据包。

但是,如果端口关闭,我们希望目标服务器能够响应 RST 数据包。因此,我们可以利用缺少 RST 响应来找出未关闭的端口:打开或已过滤。

以下是针对Linux服务器的空扫描示例。我们进行的空扫描已成功识别出目标系统上的六个开放端口。因为空扫描依赖于没有响应来推断端口没有关闭,所以它不能确定地表明这些端口是开放的;由于防火墙规则,端口可能没有响应。

pentester@TryHackMe$ sudo nmap -sN 10.10.xxx.xxx

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 10:30 BST

Nmap scan report for 10.10.xxx.xxx

Host is up (0.00066s latency).

Not shown: 994 closed ports

PORT    STATE         SERVICE

22/tcp  open|filtered ssh

25/tcp  open|filtered smtp

80/tcp  open|filtered http

110/tcp open|filtered pop3

111/tcp open|filtered rpcbind

143/tcp open|filtered imap

MAC Address: 02:45:BF:8A:2D:6B (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 96.50 seconds

请注意,许多Nmap选项需要 root 权限。除非您以 root 身份运行Nmap,否则您需要 sudo像上面的示例一样使用该-sN选项。

FIN扫描

FIN 扫描发送设置了 FIN 标志的TCP数据包。您可以使用 选项选择此扫描类型-sF 。同样,如果TCP端口打开,则不会发送任何响应。同样,Nmap 无法确定端口是否打开或防火墙是否阻止与此TCP端口相关的流量。

但是,如果端口关闭,目标系统应使用 RST 进行响应。因此,我们将能够知道哪些端口是关闭的,并使用这些知识来推断打开或过滤的端口。值得注意的是,一些防火墙会“默默地”丢弃流量而不发送 RST。

下面是针对Linux服务器的 FIN 扫描示例。结果与我们之前使用空扫描获得的结果非常相似。

pentester@TryHackMe$ sudo nmap -sF 10.10.191.191

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 10:32 BST

Nmap scan report for 10.10.191.191

Host is up (0.0018s latency).

Not shown: 994 closed ports

PORT    STATE         SERVICE

22/tcp  open|filtered ssh

25/tcp  open|filtered smtp

80/tcp  open|filtered http

110/tcp open|filtered pop3

111/tcp open|filtered rpcbind

143/tcp open|filtered imap

MAC Address: 02:45:BF:8A:2D:6B (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 96.52 seconds

Xmas扫描

圣诞节扫描因圣诞树灯而得名。 Xmas 扫描同时设置 FIN、PSH 和 URG 标志。您可以使用选项选择圣诞扫描-sX

与Null scan和FIN scan一样,如果收到RST数据包,则表明端口已关闭。否则,它将被报告为 open|filtered。

下面两张图分别展示了TCP端口打开时的情况和TCP端口关闭时的情况。

下面的控制台输出显示了针对Linux服务器进行 Xmas 扫描的示例。获得的结果与空扫描和FIN 扫描非常相似。

pentester@TryHackMe$ sudo nmap -sX 10.10.191.191

Starting Nmap 7.60 ( https://nmap.org ) at 2021-08-30 10:34 BST

Nmap scan report for 10.10.191.191

Host is up (0.00087s latency).

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

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

相关文章

AcWing刷题-约数个数

约数的个数 代码 # 计数 def f(x)->int:cnt 0i 1while i * i < x:if x % i 0:cnt 1if i * i < x:cnt 1i 1return cntn int(input()) a list(map(int,input().split())) for i in a:print(f(i))

蓝桥杯练习——拼出一个未来

选中 index.html 右键启动 Web Server 服务&#xff08;Open with Live Server&#xff09;&#xff0c;让项目运行起来。接着&#xff0c;打开环境右侧的【Web 服务】&#xff0c;就可以在浏览器中看到如下效果&#xff1a; 目标 完善 js/index.js 的 TODO 部分&#xff0c;实…

【leetcode】 c++ 数字全排列, test ok

1. 问题 2. 思路 3. 代码实现 #if 0 class Solution { private:vector<int> path; // 满足条件的一个结果 vector<vector<int>> res; // 结果集 void backtracking(vector<int> nums, vector<bool> used){// 若path的个数和nums个数相等&…

算法整理:排序

快速排序 首先不妨以第一个数为基准数&#xff0c;在一轮遍历后&#xff0c;使基准数左边的数都小于基准数&#xff0c;基准数右边的数都大于基准数。 当然也可以取中间的数为基准数。 void quick_sort(vector<int>&nums,int l,int r){if(l>r)return;int idxl;//…

硬件工程师职责与核心技能有哪些?

作为一个优秀的硬件工程师&#xff0c;必须要具备优秀的职业技能。那么&#xff0c;有些刚入行的工程师及在校的学生经常会问到&#xff1a;硬件工程师需要哪些核心技能&#xff1f;要回答这个问题&#xff0c;首先要明白硬件工程师的职责&#xff0c;然后才能知道核心技能要求…

神经网络学习笔记10——RNN、ELMo、Transformer、GPT、BERT

系列文章目录 参考博客1 参考博客2 文章目录 系列文章目录前言一、RNN1、简介2、模型结构3、RNN公式分析4、RNN的优缺点及优化1&#xff09;LSTM是RNN的优化结构2&#xff09;GRU是LSTM的简化结构 二、ELMo1、简介2、模型结构1&#xff09;输入2&#xff09;左右双向上下文信…

Gemini即将收费,GPT无需注册?GPT3.5白嫖和升级教程

&#x1f310;Gemini 即将开始收费 开发者“白嫖”的好日子到头了 - Gemini将开始收费&#xff0c;影响使用Google AI for Developers提供的Gemini API的用户。 - Gemini API将引入按量付费定价&#xff0c;需要注意新的服务条款。 - 用户需在5月2日之前停止使用Gemini API和Go…

使用Java拓展本地开源大模型的网络搜索问答能力

背景 开源大模型通常不具备最新语料的问答能力。因此需要外部插件的拓展&#xff0c;目前主流的langChain框架已经集成了网络搜索的能力。但是作为一个倔强的Java程序员&#xff0c;还是想要用Java去实现。 注册SerpAPI Serpapi 提供了多种搜索引擎的搜索API接口。 访问 Ser…

数据结构(二)----线性表(顺序表,链表)

目录 1.线性表的概念 2.线性表的基本操作 3.存储线性表的方式 &#xff08;1&#xff09;顺序表 •顺序表的概念 •顺序表的实现 静态分配&#xff1a; 动态分配&#xff1a; 顺序表的插入&#xff1a; 顺序表的删除&#xff1a; 顺序表的按位查找&#xff1a; 顺序…

自我认识的方法模型图

在漫长的人生旅途中&#xff0c;我们都在不断地探索、追寻&#xff0c;努力寻找那个最真实、最完整的自我。因为只有真正了解自己&#xff0c;才能战胜内心的种种困惑与恐惧&#xff0c;进而战胜外在的一切挑战与困难。自我认识&#xff0c;是每个人成长的必经之路&#xff0c;…

探索未来外贸电商系统的创新架构

在全球化、数字化的时代背景下&#xff0c;外贸电商行业呈现出蓬勃发展的态势。为了适应市场竞争的激烈和用户需求的多样化&#xff0c;外贸电商系统的架构设计显得尤为重要。本文将深入探讨未来外贸电商系统的创新架构&#xff0c;以期为行业发展提供新的思路和方向。 随着全…

使用Flutter创建带有图标提示的TextField

在移动应用开发中&#xff0c;TextField是一种常用的用户输入小部件。然而&#xff0c;有时向用户提供有关他们应该输入什么的提示或说明是很有帮助的。在本教程中&#xff0c;我们将创建一个Flutter应用程序&#xff0c;演示如何在TextField旁边包含一个图标提示。 编写代码 …

初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码

初次在 GitHub 建立仓库以及公开代码的流程 - 公开代码 References 在已有仓库中添加代码并公开。 git clone 已有仓库 将已有仓库 clone 到本地的开发环境中。 strongforeverstrong:~$ mkdir github_work strongforeverstrong:~$ cd github_work/ strongforeverstrong:~/git…

【.NET全栈】.NET全栈学习路线

一、微软官方C#学习 https://learn.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/ C#中的数据类型 二、2021 ASP.NET Core 开发者路线图 GitHub地址&#xff1a;https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md 三、路线…

把标注数据导入到知识图谱

文章目录 简介数据导入Doccano标注数据&#xff0c;导入到Neo4j寻求帮助 简介 团队成员使用 Doccano 标注了一些数据&#xff0c;包括 命名实体识别、关系和文本分类 的标注的数据&#xff1b; 工作步骤如下&#xff1a; 首先将标注数据导入到Doccano&#xff0c;查看一下标注…

Idea2023创建Servlet项目

① Java EE 只是一个抽象的规范&#xff0c;具体实现称为应用服务器。 ② Java EE 只需要两个包 jsp-api.jar 和 servlet-api.jar&#xff0c;而这两个包是没有官方版本的。也就是说&#xff0c;Java 没有提供这两个包&#xff0c;只提供了一个规范。那么这两个包是谁提供的…

逻辑回归(Logistic Regression)详解

逻辑回归&#xff08;Logistic Regression&#xff09;是一种常用的统计学习方法&#xff0c;用于解决二分类问题。虽然名字中包含“回归”&#xff0c;但逻辑回归实际上是一种分类算法&#xff0c;而不是回归算法。它的基本原理是使用逻辑函数&#xff08;也称为Sigmoid函数&a…

【TI毫米波雷达】IWR6843AOP的官方文件资源名称BUG,选择xwr68xx还是xwr64xx,及需要注意的问题

【TI毫米波雷达】IWR6843AOP的官方文件资源名称BUG&#xff0c;选择xwr68xx还是xwr64xx&#xff0c;及需要注意的问题 文章目录 demo工程out_of_box文件调试bin文件名称需要注意的问题附录&#xff1a;结构框架雷达基本原理叙述雷达天线排列位置芯片框架Demo工程功能CCS工程导…

大模型学习笔记八:手撕AutoGPT

文章目录 一、功能需求二、演示用例三、核心模块流程图四、代码分析1&#xff09;Agent类目录创建智能体对象2&#xff09;开始主流程3&#xff09;在prompt的main目录输入主prompt和最后prompt4&#xff09;增加实际的工具集tools&#xff08;也就是函数&#xff09;5&#xf…

【协议篇:Http与Https】

1. Http 1.1 Http的定义 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最广泛应用的数据通信协议之一&#xff0c;尤其对于万维网&#xff08;WWW&#xff09;服务而言…