【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))

HDFSRPC通信框架参数详解

写在前面 请先阅读HDFSRPC通信框架详解&#xff0c;对整体框架先有一定的了解。 参数列表 参数默认值描述ipc.server.read.connection-queue.size100readeripc.server.read.threadpool.size1readeripc.server.listen.queue.size128Listener:backlogipc.server.tcpnodelaytru…

Generative AI for Beginners

Generative AI for Beginners 微软推出的面向初学者的免费生成式人工智能课程。 课程章节相关教学内容学习目标课程介绍和学习环境设置学习环境配置和课程结构在学习本课程的同时帮助您取得成功生成式人工智能和 LLMs 介绍知识点: 生成式人工智能以及我们如何适应当前的技术格…

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

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

使用Pointpillar神经网络识别rosbag中的障碍物

PointPillar-ROS-Node https://github.com/MengWoods/pointpillar-ros-node 这个仓库包含一个ROS节点&#xff0c;用于处理点云数据。它使用了PointPillar神经网络模型&#xff0c;允许用户在ROS环境中处理ROSbags中的点云数据。通过简单的命令&#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个数相等&…

Qt控件样式设置其一(常见方法及优缺点)

如果你对Qt有基本的了解&#xff0c;应该知道它的一大优点是跨平台&#xff0c;可以在不同的系统中编译运行。但在我看来&#xff0c;Qt还有另外一个优点&#xff0c;就是制作界面比较方便和灵活&#xff0c;能够实现主流静态效果的桌面应用。&#xff08;如果需要实现比较灵动…

4款免费可用的数据集成平台亮点

在众多免费的数据集成工具中&#xff0c;我们选出了四个平台&#xff0c;它们分别是Apache Nifi、FineDataLink、kettle、ETLCLoud。现在&#xff0c;让我们快速浏览一下这四个平台的亮点。 Apache Nifi&#xff1a; Apache NiFi 是一款强大的数据集成和处理平台&#xff0c;它…

DockerFile启动jar程序

1.创建Dockerfile 在项目的根目录下创建一个名为Dockerfile的文件&#xff0c;并使用文本编辑器打开它。Dockerfile的内容如下&#xff1a; # 基础镜像 FROM openjdk:8-jre # 创建目录 RUN mkdir -p /usr/app/ # 设置工作目录 WORKDIR /usr/app # 将JAR文件复制到容器中,注:…

算法整理:排序

快速排序 首先不妨以第一个数为基准数&#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…

Linux初学(十三)中间件

一、Nginx 简介 Nginx是一个高性能的HTTP和反向代理web服务器 轻量级、高性能 1.1 Nginx安装 方法一&#xff1a;编译安装 依赖&#xff1a;openssl-devel、zlib-devel、ncurses-devel、pcre-devel、gcc、gcc-c 方法二&#xff1a;yum安装 Nginx的rpm包在epel源中 编译安…

2024.3.10力扣每日一题——猜数字游戏

2024.3.10 题目来源我的题解方法一 哈希表方法二 使用数组优化 题目来源 力扣每日一题&#xff1b;题序&#xff1a;299 我的题解 方法一 哈希表 使用哈希表记录secret中每个数字出现的次数&#xff0c;然后遍历guess的每一位&#xff0c;再判断与secret对应位置是否相同&am…

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

目录 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旁边包含一个图标提示。 编写代码 …