zoukankan      html  css  js  c++  java
  • 安全测试12使用nmap工具识别系统指纹信息

    首先先发现活跃主机(在之前的文章中写过) nmap -sP 192.168.2.1/24

    进行系统指纹识别

     这里虽然没有识别出来系统类型,但是看到端口62078的监听服务是iphon-sync,所以可以推出这个系统应该是ios。这个端口是iphon中默认的wifi同步服务端口,但可能从未使用过此端口,所以可以将它关闭。

     可以看出,工具推测此台电脑最有可能是windows 10操作系统。

    指纹识别工具p0f

    p0f是一款被动指纹识别工具,通过分析目标主机的数据包对主机上的操作系统进行识别,即便装有性能良好的防火墙也没有用。

    官方提供的功能描述:

    • 高度可扩展且极快地识别vanilla TCP连接的两个端点上的操作系统和软件 - 特别是在Nmap探测器被阻塞,速度太慢,不可靠或简单地引发警报的设置中。
    • 测量系统正常运行时间和网络连接,距离(包括NAT或数据包过滤器后面的拓扑),用户语言首选项等。
    • 自动检测连接共享/ NAT,负载平衡和应用程序级代理设置。
    • 检测伪造声明性语句的客户端和服务器,例如X-MailerUser-Agent

    选项列表:p0f [options] ['filter rule']

    -i interface 在指定的网络接口上侦听
    -r 文件 从给定文件读取离线pcap数据
    -p 侦听界面置于混杂模式
    -L 列出所有可用的接口

    -f 文件

    列出所有可用的接口
    -o 文件 将信息写入指定的日志文件
    -s 名称 在命名的unix套接字上回答API查询
    -u 用户

    切换到指定的无特权帐户和chroot

    -d-fork

    切换到指定的无特权帐户和chroot

    -S 限制 并行API连接数限制(20)

    实例:首先使用wireshark抓包生成test.pcap

    然后 p0f -r 下载/test.pcap -o p0f-result.log 进行分析

    ###截取的部分内容
     
    .-[ 192.168.2.122/59278 -> 106.120.159.126/443 (syn) ]-
    |
    | client   = 192.168.2.122/59278        //客户端地址
    | os       = Linux 3.11 and newer      //系统
    | dist     = 0                         //矢量距离
    | params   = none
    | raw_sig  = 4:64+0:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id+:0
    |
    `----
     
    .-[ 192.168.2.122/59278 -> 106.120.159.126/443 (mtu) ]-
    |
    | client   = 192.168.2.122/59278
    | link     = Ethernet or modem     //接口类型
    | raw_mtu  = 1500                  //最大包长度
    |
    `----
     
    ### 其中并不全
    ### 有时还有 app= 表示应用 lang= 表示语言类型

    服务指纹识别

    这里识别的服务指纹信息包括服务的端口、服务名和版本

    nmap中的nmap-services记录了大约2200个知名服务端口的数据库,nmap将尽力去发现这些。但是并不能保证发现全部的服务,比如更改了服务端口就可能发现不了服务的正确端口了。

    选项列表:

    -sV 版本检测
    --allports 扫描全部端口
    --version-intensity 设置版本扫描强度,0到9之间,越大强度和可能性越高,但是速率也会越小,因此默认为7,当然也可以使用这个来更改
    --version-light 轻量版的扫描,也就相当于把扫描强度设为2
    --version-all 尝试所有探针,也就相当于吧扫描强度设为9
    --version-trace 跟踪扫描过程,不光显示最终结果,也显示调试过程的信息

    实例: nmap -sV 192.168.2.100

     

     可以看到打开的端口,服务类型和服务版本

    服务枚举工具Amap

     被形容为下一代扫描工具,主要用于识别运行在某一些指定端口上的应用程序。

    通常的使用方法 amap -bq ip port 例:amap -bq 192.168.2.100 1-1080

    语法:amap [-A | -B | -P | -W] [-1buSRHUdqv] [[ - m] -o <file>] [-D <file>] [-t / -T sec] [-c cons] [-C retries] [-p proto] [-i <file>] [目标端口[端口] ] ...] 
    模式:
    -A地图应用程序:发送触发器并分析响应(默认)
    -B只需抓取横幅,不发送触发器
    -P无横幅或应用程序内容 - 是(完全连接)端口扫描程序
    选项:
    -1仅发送触发到端口,直到第一次识别。Speeeeed!
    -6使用IPv6而不是IPv4 
    -b打印响应的ascii标志
    -i FILE Nmap机器可读输出文件从-u 读取端口
    命令行上指定的端口是UDP(默认为TCP)
    -R不要识别RPC服务
    -H不要发送标记为可能有害的应用程序触发器
    -U不要转储无法识别的响应(更好地用于脚本)
    -d转储所有响应
    -v详细模式,使用两次(或更多!)进行调试(不推荐- 
    q不报告关闭的端口,也不要将它们打印为unidentified 
    -o FILE [-m]将输出写入文件FILE,-m创建机器可读输出
    -c CONS要进行的并行连接数量(默认为32,最大256)
    -C RETRIES连接超时时重新连接的次数(请参阅-T)(默认值为3)
    -T SEC连接尝试时连接超时(以秒为单位)(默认值为5)
    -t SEC响应等待超时(以秒为单位)(默认值为5)
    -p PROTO仅发送此协议的触发器(例如ftp)
    目标端口要扫描的目标地址和端口(除-i之外)
    amap是用于识别目标端口上的应用程序协议的工具。
    注意:此版本未使用SSL支持进行编译!
    用法提示:建议使用选项“-bqv”,为快速/紧急检查添加“-1”。

    实例:amap -bq 192.168.2.100 1-1080

    有点多,所以截取了有特征的一部分

     可以看到,有些端口可以链接,有些不可以,有些可以分析出什么服务在监听端口,比如图中的http, apache , IIS

    更多技术请关注微信公众号:程序员技术前沿
  • 相关阅读:
    认识v$fixed_view_definition
    V$、GV$、X$、V_$、GV_$之间的关系
    ORACLE OEM
    ORACLE表空间
    linux
    系统数据库备份恢复
    linux -- #!/bin/bash
    linux -- ubuntu 脚本开机自启动
    linux -- chown修改文件拥有者和所在组
    php -- php控制linux关机、重启、注销
  • 原文地址:https://www.cnblogs.com/tiechui2015/p/15661709.html
Copyright © 2011-2022 走看看