NMAP

10 篇文章 0 订阅
6 篇文章 0 订阅

Usage: nmap [Scan Type(s)] [Options] {target specification}

执行原理

在这里插入图片描述

目标说明

Usage:

Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254
  -iL <inputfilename>                    #扫描文件中的地址
  -iR <num hosts>                        #随机扫描多个地址
  --exclude <host1[,host2][,host3],...>  #排除给定地址
  --excludefile <exclude_file>           #排除文件中的地址

example

  1. 扫描主机
cr@kali:~$ nmap -T4 192.168.1.1        #扫描192.168.1.1主机
cr@kali:~$ nmap -T4 192.168.1.0/24     #扫描192.168.1.0网段
  1. 扫描列表
cr@kali:~$ cat ips.txt                #地址文件
192.168.1.0/24                        #1.0网段
192.168.2.0/24                        #2.0网段
192.168.3.0/24                        #3.0网段
cr@kali:~$ nmap -T4 -iL ips.txt       #扫描ips文件中地址
  1. 随机扫描
cr@kali:~$ nmap -sS -PS80 -iR 0 -p 80 #随机地找一些网站浏览
  1. 排除地址
#排除指定地址
cr@kali:~$ nmap -T4 192.168.1.0/24 --exclude 192.168.1.100,192.168.1.101
#排除文件中指定地址
cr@kali:~$ cat ips.txt 
192.168.1.100
192.168.1.101
cr@kali:~$ nmap -T4 192.168.1.0/24 --excludefile ips.txt

主机发现

Usage:

-sL  #不进行扫描,只列出被扫描的主机
-sP  #只进行ping扫描,不进行端口扫描和操作系统探测
-P0  #跳过主机发现,进行端口扫描,版本探测,操作系统探测
-PS/PA/PU [portlist]  #syn/ack/udp发现
-PE/PP/PM             #PE:ICMP Echo扫描方式
                      #PP:ICMP时间戳Ping扫描
                      #PM:ICMP地址掩码Ping扫描
-n/-R                 #永不dns/永远dns
--system-dns          #使用系统配置的dns

example:

  1. 列出扫描主机
cr@kali:~$ nmap -sL 192.168.3.0/24 -n  #列出被扫描的所有主机
  1. 三层扫描
cr@kali:~$ nmap -sL 192.168.3.0/24     #无法扫描出ping被禁主机
  1. 跳过主机发现
cr@kali:~$ nmap -P0 192.168.3.1 -sV    #直接进行端口扫描
  1. 四层发现
cr@kali:~$ nmap -PS 192.168.3.1 -n         #tcp syn包扫描

cr@kali:~$ nmap -PA 192.168.3.1 -n         #tcp ack包扫描

cr@kali:~$ nmap -PU1-65535 192.168.3.1 -n  #udp扫描

端口扫描

端口状态

  • Opend:端口开启
  • Closed: 端口关闭
  • Filtered:端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙过滤
  • Unfiltered:未被过滤,数据有到达主机,但是不能识别端口的当前状态
  • Open|filtered:开放或者被过滤,端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
  • Closed|filtered:关闭或者被过滤,只发生在IP ID idle扫描

Usage:

-sS/sT/sA/sW/sM       #TCP SYN/Connect()/ACK/Window/Maimon scans
-sU                   #UDP
-sN/sF/sX             #TCP Null, FIN, and Xmas scans(FIN URG PUSH位置一)
--scanflags <flags>   #Customize TCP scan flags

example:

  1. tcp半连接扫描
cr@kali:~$ nmap -sS 192.168.3.1
  • 端口关闭

在这里插入图片描述

  • 端口开放

在这里插入图片描述

  1. tcp全连接扫描
cr@kali:~$ nmap -sT 192.168.3.1
  • 端口关闭

在这里插入图片描述

  • 端口开放

在这里插入图片描述

  1. udp扫描
cr@kali:~$ nmap -sU 192.168.3.1
  • 端口关闭
    在这里插入图片描述
  • 端口开放
    在这里插入图片描述
  1. ACK扫描
cr@kali:~$ nmap -sA 192.168.3.1
  • 端口被屏蔽

在这里插入图片描述

  • 端口未屏蔽

在这里插入图片描述

  1. FIN/Xmas/NULL扫描
cr@kali:~$ nmap -sN 192.168.3.1
cr@kali:~$ nmap -sF 192.168.3.1
cr@kali:~$ nmap -sX 192.168.3.1

这三种扫描方式被称为秘密扫描(Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包,如果收到对方RST回复包,那么说明该端口是关闭的;没有收到RST包说明端口可能是开放的或被屏蔽的(open|filtered)。

其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。

  • 端口关闭

在这里插入图片描述

  • 端口开放或屏蔽

在这里插入图片描述

端口说明和扫描顺序

Usage:

-p <port ranges>  #扫描制定端口
   Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F                #快速扫描,扫描/usr/share/nmap/nmap-services文件中给定端口
-r                #顺序扫描,默认随机

Example:

  1. 扫描给定端口
cr@kali:~$ nmap -p1-126 -sS 192.168.3.1
  1. 快速扫描
cr@kali:~$ nmap -sS -F 192.168.3.1
  1. 顺序扫描
cr@kali:~$ nmap -p1-126 -r -sS 192.168.3.1

服务和版本探测

Usage:

-sV: Probe open ports to determine service/version info

Example:

cr@kali:~$ nmap -sV 192.168.3.1 -n

操作系统探测

Usage:

-O: Enable OS detection

Example:

cr@kali:~$ nmap -O 192.168.3.1 -n

时间和性能

Usage:

-T[0-6]: Set timing template (higher is faster)

    #paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)
    #paranoid、sneaky模式用于IDS躲避
    #Polite模式降低了扫描 速度以使用更少的带宽和目标主机资源。
    #Normal为默认模式因此-T3 实际上是未做任何优化。
    #Aggressive模式假设用户具有合适及可靠的网络从而加速 扫描.
    #nsane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。

Example:

cr@kali:~$ nmap -T4 192.168.3.1 -n

防火墙/IDS躲避和哄骗

Usage:


Example:


输出

Usage:

-oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use twice for more effect)
-d[level]: Set or increase debugging level (Up to 9 is meaningful)

Example:

cr@kali:~$ sudo nmap -sV 10.10.10.1 -oN n.txt
cr@kali:~$ cat n.txt 
# Nmap 7.80 scan initiated Mon Aug 17 13:51:47 2020 as: nmap -sV -oN n.txt 10.10.10.1
Nmap scan report for 10.10.10.1
Host is up (0.00018s latency).
Not shown: 996 filtered ports
PORT     STATE SERVICE         VERSION
443/tcp  open  ssl/https       VMware Workstation SOAP API 15.5.6
902/tcp  open  ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
912/tcp  open  vmware-auth     VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
5357/tcp open  http            Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
MAC Address: 00:50:56:C0:00:08 (VMware)
Service Info: OS: Windows; CPE: cpe:/o:vmware:Workstation:15.5.6, cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Aug 17 13:54:12 2020 -- 1 IP address (1 host up) scanned in 144.87 seconds

脚本

脚本分类

  • auth: 负责处理鉴权证书绕开鉴权的脚本
  • broadcast: 在局域网内探查更多服务开启状况如dhcp/dns/sqlserver等服务
  • brute: 提供暴力破解方式针对常见的应用如http/snmp等
  • default: 使用-sC或-A选项扫描时候默认的脚本提供基本脚本扫描能力
  • discovery: 对网络进行更多的信息如SMB枚举、SNMP查询等
  • dos: 用于进行拒绝服务攻击
  • exploit: 利用已知的漏洞入侵系统
  • external: 利用第三方的数据库或资源例如进行whois解析
  • fuzzer: 模糊测试的脚本发送异常的包到目标机探测出潜在漏洞
  • intrusive: 入侵性的脚本此类脚本可能引发对方的IDS/IPS的记录或屏蔽
  • malware: 探测目标机是否感染了病毒、开启了后门等信息
  • safe: 此类与intrusive相反属于安全性脚本
  • version: 负责增强服务与版本扫描Version Detection功能的脚本
  • vuln: 负责检查目标机是否有常见的漏洞Vulnerability如是否有MS08_067

所有的脚本说明在/usr/share/nmap/scripts/script.db文件中记录。

脚本示例

cr@kali:~$ ls /usr/share/nmap/scripts/ | grep smb
smb2-capabilities.nse
smb2-security-mode.nse
smb2-time.nse
smb2-vuln-uptime.nse
smb-brute.nse
smb-double-pulsar-backdoor.nse
smb-enum-domains.nse
smb-enum-groups.nse
smb-enum-processes.nse
smb-enum-services.nse
smb-enum-sessions.nse
smb-enum-shares.nse
smb-enum-users.nse
smb-flood.nse
smb-ls.nse
smb-mbenum.nse
smb-os-discovery.nse
smb-print-text.nse
smb-protocols.nse
smb-psexec.nse
smb-security-mode.nse
smb-server-stats.nse
smb-system-info.nse
smb-vuln-conficker.nse
smb-vuln-cve2009-3103.nse
smb-vuln-cve-2017-7494.nse
smb-vuln-ms06-025.nse
smb-vuln-ms07-029.nse
smb-vuln-ms08-067.nse
smb-vuln-ms10-054.nse
smb-vuln-ms10-061.nse
smb-vuln-ms17-010.nse
smb-vuln-regsvc-dos.nse
smb-vuln-webexec.nse
smb-webexec-exploit.nse

#检查smb漏洞
cr@kali:~$ nmap -P0 -p445 --script=vuln 192.168.3.71
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-17 15:04 CST
Nmap scan report for 192.168.3.71
Host is up (0.0060s latency).

PORT    STATE SERVICE
445/tcp open  microsoft-ds
|_clamav-exec: ERROR: Script execution failed (use -d to debug)

Host script results:
|_samba-vuln-cve-2012-1182: NT_STATUS_ACCESS_DENIED
|_smb-vuln-ms10-054: false
|_smb-vuln-ms10-061: NT_STATUS_ACCESS_DENIED

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

#检查系统信息
cr@kali:~$ nmap -P0 -p445 --script=smb-os-discovery.nse 192.168.3.71
Starting Nmap 7.80 ( https://nmap.org ) at 2020-08-17 15:09 CST
Nmap scan report for 192.168.3.71
Host is up (0.0098s latency).

PORT    STATE SERVICE
445/tcp open  microsoft-ds

Host script results:
| smb-os-discovery: 
|   OS: Windows 10 Pro 18363 (Windows 10 Pro 6.3)
|   OS CPE: cpe:/o:microsoft:windows_10::-
|   Computer name: DESKTOP-4MJS19T
|   NetBIOS computer name: DESKTOP-4MJS19T\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2020-08-17T15:08:40+08:00

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值