首页 > 其他分享 >深信服安全服务认证工程师(SCSA-S)系列课程——渗透测试环境搭建与工具使用-Nmap

深信服安全服务认证工程师(SCSA-S)系列课程——渗透测试环境搭建与工具使用-Nmap

时间:2024-08-26 12:53:58浏览次数:8  
标签:Nmap 端口 扫描 TCP 目标 nmap SCSA 测试环境

Nmap简介

Nmap是Linux下一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具,软件名字Nmap是Network Mapper的简称。

Nmap最初由Fyodor在1996年开始创建,随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行的安全必备工具之一。

Nmap使用原始IP报文来发现网络上有哪些主机,这些主机提供什么服务(应用程序名和版本),服务运行在什么操作系统,它们使用什么类型的报文过滤器/防火墙,以及一些其他功能。

Nmap基本功能

默认方式扫描

命令格式 :

nmap <目标地址>

在这里插入图片描述
全面扫描

命令格式 :

nmap -A -T 4 -v <目标地址>

在这里插入图片描述

主机发现

目标:确定目标主机是否在线(Alive,处于开启状态原理:与ping命令类似,发送探测包到目标主机,如果收到回复,则说明目标主机是开启的

原理:与ping命令类似,发送探测包到目标主机,如果收到回复,则说明目标主机是开启的

在这里插入图片描述

实例1:局域网内执行ping扫描

目标:扫描局域网192.168.40.1-192.168.40.254内哪些IP的主机在线。

命令:

nmap -sP  192.168.40.1-254,或 nmap -sP 192.168.40.0/24

说明:在局域网内,无论采用哪一种选项Nmap都是通过ARP包来询问IP地址上的主机是否活动的,如果收到ARP回复包,那么说明主机在线。

在这里插入图片描述

实例2:跨网段执行ping扫描

目标:扫描跨网段目标主机192.168.50.5是否在线。

命令 :

nmap -sP 192.168.50.5

说明:扫描跨网段目标主机时,使用-sP或-sn选项,默认情况下Nmap会依次发送4种不同类型的数据包(ICMP echo request、TCP SYNpacket to port 443、TCP ACKpacket to port 80、ICMPtimestamprequest)来探测目标主机是否在线,只要收到其中一个包的回复,就证明目标机在线。

在这里插入图片描述

实例3: --packet-trace 的使用

在这里插入图片描述

端口扫描

目标 : 确定目标主机的TCP/UDP端口的开放情况

原理 : 发送TCP、UDP等类型的探测包到目标端口,根据收到的回复包判定端
口是否开放

在这里插入图片描述
在这里插入图片描述

实例4 : -p选项的应用–指定扫描的端口号

在这里插入图片描述
关于-p选项的说明:默认情况下,Nmap仅对用-p指定的TCP端口进行扫描,扫描方式为-sS(TCP SYN扫描)。如果既要扫描TCP端口,又要扫描UDP端口,则可以用“T:”“U:”参数指定目标端口,并指定-sU(UDP扫描方式)和至少一种TCP扫描方式,如:

nmap -p T:139,U:53 -sS -sU 192.168.40.178

在这里插入图片描述

TCP SYN扫描(-sS)原理

Nmap向目标端口发送TCP SYN报文,如果目标机返回TCP SYN+ACK报文,则说明目标端口处于开放状态,同时Nmap会紧接着向目标机发送TCPRST报文以重置此连接;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态

在这里插入图片描述
实例5:-sS选项的应用–TCP SYN扫描

在这里插入图片描述

TCP connect扫描(-sT)原理

Nmap向目标端口发送TCP SYN报文,如果目标机返回TCP SYN+ACK报文,则说明目标端口处于开放状态,同时Nmap会紧接着向目标机依次发送TCP ACK、TCP RST+ACK完成三次握手和重置此连接;如果目标机返回TCP RST+ACK报文则说明目标端口处于关闭状态。

在这里插入图片描述
实例6:-sT选项的应用–TCPconnect扫描

在这里插入图片描述

TCP ACK扫描(-sA)原理

Nmap向目标端口发送TCP ACK报文,无论目标端口是否处于开放状态,目标机都会返回TCP RST报文。如果Nmap主机能收到此TCPRST报文,则说明目标端口未被防火墙屏蔽。

TCP ACK扫描只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

在这里插入图片描述
实例7: -sA 选项的应用 --TCP ACK扫描

在这里插入图片描述

隐蔽扫描(-sF/-sN/-sX)原理

Nmap向目标端口发送TCP FIN (-SF) / NULL (-SN) / FIN+PSH+URG (-sX) 报文,对于Linux系统的目标机,如果目标机未响应,则说明目标端口处于开放状态或被防火墙屏蔽;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。

对于Windows系统的目标机,无论目标端口处于开放还是关闭状态,目标机都会返回TCP RST+ACK报文。

因此,隐蔽扫描方式适合于Linux系统的目标机端口扫描。

实例8 : 隐蔽扫描选项(-sF/-SN/-sX)的应用

在这里插入图片描述

应用程序与版本信息侦测

识别目标主机开放的TCP/UDP端口上运行的服务及版本信息

nmap-services-probes(服务版本数据库文件)

默认路径:/usr/share/nmap/nmap-services-probes

在这里插入图片描述

在这里插入图片描述
实例9 : -sV选项的应用

在这里插入图片描述

实例10 : --version-trace选项的应用跟踪版本扫描活动

在这里插入图片描述

操作系统侦测

目标:识别目标主机操作系统的类型

侦测方法:网络协议栈指纹识别技术

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nmap-os-db (操作系统数据库文件)

  • 该数据库包含了超过2600种操作系统的指纹信息,Nmap把TCP和UDP报文发送到目标机器上,然后将检查结果和nmap-os-db数据库进行比对
  • 默认路径:/usr/share/nmap/nmap-os-db

在这里插入图片描述
在这里插入图片描述
实例11 : -O 选项的应用

在这里插入图片描述

实例12 : -A选项的应用

在这里插入图片描述

规避FW/IDS技术

在这里插入图片描述

实例1 : -T选项的应用–控制扫描速度

使用 -T(0~5)可以启用时序选项,一般来说数字越大,速度越快,精度越低.

在这里插入图片描述
在这里插入图片描述

实例2 : -D选项的应用–源IP地址欺骗

在这里插入图片描述

实例3 : 空闲扫描(-sI)的应用

在这里插入图片描述

实例4 : --spoof-mac 选项的应用 – 源MAC地址欺骗

所用命令:

nmap --spoof-mac 0 <目标IP>

其中参数0表示随机分配一个MAC地址,也可以手动指定MAC地址,如:

nmap --spoof-mac aa:bb:cc:dd:ee:ff <目标IP>

在这里插入图片描述

NSE脚本的简单应用

除了常规的网络扫描Nmap还可根据NSE(Nmap scripting Engine)的脚本进行大量渗透工作,这种脚本基于Lua语言编写。

脚本存放目录:/usr/share/nmap/scripts/

在这里插入图片描述

在这里插入图片描述

实例5:暴力破解脚本(–script brute)应用

提供暴力破解的方式,可对数据库、SMB、SNMP等进行简单密码的暴力猜解

在这里插入图片描述

实例6:漏洞扫描脚本(–script vuln)应用

在这里插入图片描述

扫描结果保存与输出

在这里插入图片描述

实例7:以普通模式(-ON)输出Nmap扫描结果

在这里插入图片描述

标签:Nmap,端口,扫描,TCP,目标,nmap,SCSA,测试环境
From: https://blog.csdn.net/qq_44373268/article/details/141555141

相关文章

  • 【ByPass系列】Nmap如何绕过防火墙
    原创小白摸坑学网安在最近的学习中,发现很多网络应用都被防火墙保护,在nmap进行扫描时往往一无所获,那么我们在面对这种情况时,如何绕过防火墙等防护设备进行扫描成为一个难题。以下是我从网上总结的几个方法:1.碎片扫描(发送8个字节的数据包绕过防火墙/IDS/IPS,在防火墙配置不当......
  • 一次Kubernetes Pod内存异常导致的测试环境耗时异常问题排查过程
    概述在使用公司内部后台系统测试环境时发现一个请求加载慢的问题,简简单单的列表,查询MongoDB数据库,测试环境不过几百上千条数据而已,请求耗时居然高达5~6秒:作为对比,生产环境的请求响应截图如下:经过持续跟进,该后台系统所有列表页面测试环境普遍比生产环境慢,不管是MongoDB还是MyS......
  • 测试环境治理之MYSQL索引优化篇
    1治理背景测试环境这个话题对于开发和测试同学一定不陌生,大家几乎每天都会接触。但是说到对测试环境的印象,却鲜有好评:•环境不稳定,测试五分钟,排查两小时•基础建设不全,导致验证不充分,遗漏缺陷•多人共用,节点堵塞这些问题在行业内其实屡见不鲜,针对测试环境的治理,不得不引起......
  • 一些免费好用的靶机渗透测试环境
    1、Vulhub:(各种漏洞环境集合,一键搭建漏洞测试靶场)https://vulhub.org/(在线版)https://github.com/vulhub/vulhub(离线版)2、Vulnhub:(国外实战靶场,适合入门提高)https://www.vulnhub.com/3、Vulnstack(红队实战靶场,域、横向渗透、多层网络,强烈推荐,目前共7个靶场,网上writeup......
  • nmap 基本操作
    网络扫描神器:Nmap保姆级教程(附链接)_虚拟机怎么安装nmap-CSDN博客NMAP参数_nmap--excludefile-CSDN博客kali就用微软的WSL2版本,在微软商店里安装,然后在终端/Terminal的下拉列表打开就可以了我一般使用,就是看一个网段那个ip被占用以及某个ip有哪些端口开启了#只扫描存活主机......
  • Nmap 7.95 - Zenmap 汉化版,端口扫描、网络嗅探工具
    Nmap7.95-Zenmap汉化版本来想找一个端口扫描工具,先找到了AngryIPScanner 用了一下,有时候扫不到,功能也比较单一。最后找到了Nmap,这个功能要强大很多。网上没有最新的汉化版本,老版本的汉化还存在BUG,于是自己动手汉化了一下。 功能介绍:  Nmap是一款功能强大的网络......
  • 【LuBase低代码框架】首次上线及后期迭代如何从测试环境升级到正式环境?
            LuBase低代码框架采用了基于Json的配置+前端渲染引擎的模式,所以对应用的升级说白了就是对配置信息的升级。以下对LuBase低代码框架中,一个应用包含的配置信息进行讲解,讲解完后,您就会明白如何在不同环境中升级一个应用。    LuBass框架中一个应用包含如......
  • 测试环境使用问题及其优化对策实践
    1背景及问题G.J.Myers在<软件测试技巧>中提出:测试是为了寻找错误而运行程序的过程,一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,一个成功的测试是揭示了迄今为止尚未发现的错误的测试。对于新手来说,日常测试用例设计时,很少用到系统的方法论,大多是根据产品需......
  • 快速部署 HBase 测试环境
    快速部署HBase测试环境第一步:下载软件,在HBase官网下载最新版,找到bin,点击下载,比如我这里下载的是hbase-2.5.6-bin.tar.gz第二步:解压软件$tar-zxvfhbase-2.5.6-bin.tar.gz$cdhbase-2.5.6第三步:启动软件$./bin/start-hbase.sh$./bin/hbase-daemon.shstartthrif......
  • 【笔记】Nmap工具原理探索
    【笔记】Nmap工具原理探索原文章:【THM】Nmap(Nmap工具使用简介)-学习-Hekeatsll-博客园(cnblogs.com)Nmap是一款跨平台的开源端口扫描软件,它用来扫描计算机的开放端口,以确定运行的网络服务,并推断出计算机运行的操作系统Nmap三种基本扫描类型TCP连接扫描(-sT)工作原理:通过......