web安全工具–nmap

NMAP

1.简介

  • NMAP:network mapper是一款开源的网络发现的工具(network discovery)和安全审计(security auditing)的工具.这也是他的两大主要的功能.
  • 主要功能及流程:

2.命令详解

2.1主机发现

  • 原理及方式:主要向主机发起ICMP请求,TCP连接,然后根据主机返回的报文来确认主机的存活
  • 命令:
    1. HOST DISCOVERY( PING ):

      -iL:从文件中导入目标主机和网段

      --exclude:排除不要的主机

      -sL: List Scan – simply list targets to scan使用场景就是在导入主机列表文件时先列出去将要扫描的主机.(scan List)
      -sn: Ping Scan – disable port scan:只进行主机发现,不进行端口扫描
      -Pn: Treat all hosts as online — skip host discovery:已经知道主机存活了,不要去探测主机是否在线
      -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports:使用tcp三次握手中的连接来探测主机是否存活
      -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes使用ICMP的时间戳,子网掩码,请求来探测主机
      -PO[protocol list]: IP Protocol Ping使用ip包来探测是否存在
      -n/-R: Never do DNS resolution/Always resolve [default: sometimes]
      --dns-servers <serv1[,serv2],…>: Specify custom DNS servers:指定dns的解析服务器
      --system-dns: Use OS’s DNS resolver
      --traceroute: Trace hop path to each host

2.2端口扫描

  • 熟知端口

blob

  • 原理:远程主机想服务器某个端口建立起一个连接的请求是,如果有此项服务,就会应答,如果未安装则无应答.

  • 几种状态:

  • 扫描方式:
    • 时序扫描:
    T0非常慢的扫描,通常用于IDS逃避
    T1缓慢的扫描,同样可以避开一些IDS
    T2降低扫描速度,通常不用
    T3默认扫描
    T4快速扫描,可能会被防火墙发现
    T5快速扫描,牺牲准确度
  • SCAN TECHNIQUES (TCP连接):
    -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans

    -p:制定端口扫描

    -F:快速扫描

    --top-ports:扫描开放概率最高的端口

    -sU: UDP Scan
    -sN/sF/sX: TCP Null, FIN, and Xmas scans
    --scanflags : Customize TCP scan flags:自定义flags
    -sI : Idle scan:空闲扫描,通过冒充另一台僵尸网络并观察僵尸网络行为来实现的
    -sY/sZ: SCTP INIT/COOKIE-ECHO scans
    -sO: IP protocol scan
    -b: FTP bounce scan

  • FIREWALL/IDS EVASION AND SPOOFING:
    -f; –mtu : fragment packets (optionally w/given MTU)
    -D <decoy1,decoy2[,ME],…>: Cloak a scan with decoys
    -S : Spoof source address
    -e : Use specified interface
    -g/–source-port : Use given port number
    –proxies <url1,[url2],…>: Relay connections through HTTP/SOCKS4 proxies
    –data : Append a custom payload to sent packets
    –data-string : Append a custom ASCII string to sent packets
    –data-length : Append random data to sent packets
    –ip-options: Send packets with specified ip options
    –ttl : Set IP time-to-live field
    –spoof-mac : Spoof your MAC address
    –badsum: Send packets with a bogus TCP/UDP/SCTP checksum

2.3指纹识别

  • TCP指纹识别:根据每种操作系统对数据包的不同类型会做出不同类型的反应.

  • ICMP协议中错误信息可以进行指纹识别

    -sV 版本探测

    --allports:全端口 版本探测

    -sR:RPC扫描

    -O:操作系统探测

    2.4 脚本使用

    • nmap的脚本存在于*/nmap/scripts目录下

    • 目录主要分为几大类

    • 使用方式:

      --script=上述脚本类型:使用脚本

      --script-args=key1=value1:传递参数

      --script-tracce:追踪脚本中发送接收的数据

      --script-updatedb:更新脚本数据库

    • 实例

  1. 鉴权扫描
    nmap --script=auth 47.101.153.151
    blob
  2. namp --script=brupt 192.168.123.4
    blob
  3. nmap --script=external baidu.com:调用第三方库
    blob

发表评论

电子邮件地址不会被公开。