安全测试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

posted @ 2021-12-08 15:19  杭州铁锤  阅读(1327)  评论(0编辑  收藏  举报