|
原文链接:网络扫描:服务识别
这里的服务是指系统中用来提供服务的一些程序,如文件传输服务(FTP)、远程登录服务(SSH)等,在这些服务中包括一些指纹信息,如端口、服务名、提供商及版本等。本文介绍对服务信息进行识别的方法。
1. Nmap服务识别
在Nmap工具中提供了一些选项,可以用来进行服务识别。下面分别介绍使用这些选项对服务进行识别的方法。
(1)服务版本识别
每个服务都有对应的版本。通常情况下,在一些旧版本中可能存在漏洞,如果存在漏洞的话,入侵者可以对该主机实施渗透,进而获取重要信息。因此,为了提高系统的安全性,应及时修复漏洞,避免黑客入侵。使用Nmap识别服务版本的语法格式如下:
nmap -sV [host]
其中,-sV表示实施服务版本探测。
识别目标主机192.168.33.152上的所有开放服务版本。执行命令如下:
root@daxueba:~# nmap -sV 192.168.33.152Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 15:11 CSTNmap scan report for 192.168.33.152 (192.168.33.152)Host is up (0.00016s latency).Not shown: 997 closed portsPORT STATE SERVICE VERSION21/tcp open ftp vsftpd 3.0.322/tcp open ssh OpenSSH 7.8p1 Debian 1 (protocol 2.0)80/tcp open http Apache httpd 2.4.34 ((Debian))MAC Address: 00:0C:29:FD:58:4B (VMware)Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernelService detection performed. Please report any incorrect results athttps://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 6.68 seconds
从以上输出信息中可以看到识别出的服务相关信息。在输出的信息中包括4列,分别是PORT(端口)、STATE(状态)、SERVICE(服务)和VERSION(版本)。通过分析每列信息,可以获取到对应服务的相关信息。例如,TCP端口21对应的服务为FTP,版本为vsftpd 3.0.3。从倒数第2行中还可以看到目标主机的服务操作信息为UNIX或Linux。
(2)扫描所有端口
在Nmap中提供了一个选项,可以用来扫描所有端口。用于扫描所有端口的语法格式如下:
nmap --allports [host]
其中,--allports表示扫描所有端口。默认情况下,Nmap仅扫描1000个端口,而且会跳过TCP端口9100。扫描目标主机192.168.33.147上开放的所有端口。执行命令如下:
root@daxueba:~# nmap --allports 192.168.33.147Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 17:23 CSTNmap scan report for 192.168.33.147 (192.168.33.147)Host is up (0.0024s latency).Not shown: 977 closed ports #关闭端口PORT STATE SERVICE #开放端口信息21/tcp open ftp22/tcp open ssh23/tcp open telnet25/tcp open smtp53/tcp open domain80/tcp open http111/tcp open rpcbind139/tcp open netbios-ssn445/tcp open microsoft-ds512/tcp open exec513/tcp open login514/tcp open shell1099/tcp open rmiregistry1524/tcp open ingreslock2049/tcp open nfs2121/tcp open ccproxy-ftp3306/tcp open mysql5432/tcp open postgresql5900/tcp open vnc6000/tcp open X116667/tcp open irc8009/tcp open ajp138180/tcp open unknownMAC Address: 00:0C:29:3E:84:91 (VMware)Nmap done: 1 IP address (1 host up) scanned in 0.29 seconds
从以上输出信息中可以看到目标主机上开放的所有端口,而且还可以看到共有977个端口是关闭的。例如,目标主机中开放的端口有21、22、23、25和53等。
(3)指定服务版本扫描强度
当使用-sV选项实施版本扫描时,Nmap会发送一系列探测报文,每个报文都被赋予一个1~9之间的值。被赋予较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文一般没什么用。强度水平说明了应该使用哪些探测报文,数值越高,服务越有可能被正确识别。但是,高强度扫描更耗费时间,强度值必须在0~9之间,默认是7。用于指定服务版本扫描强度的语法格式如下:
nmap --version-intensity <level>
其中,--version-intensity<level>表示设置服务版本的扫描强度。其扫描强度的级别范围为0~9,0表示轻量级,9表示尝试每个探测。
指定服务版本扫描强度为9,将对目标主机实施服务识别。执行命令如下:
root@daxueba:~# nmap --version-intensity 9 192.168.33.152Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 15:14 CSTNmap scan report for 192.168.33.152 (192.168.33.152)Host is up (0.000096s latency).Not shown: 997 closed portsPORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open httpMAC Address: 00:0C:29:FD:58:4B (VMware)Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds
从输出信息中可以看到,识别出的目标主机上运行的服务,分别有FTP、SSH和HTTP。
(4)轻量级扫描
我们还可以使用--version-light选项实施轻量级模式扫描。使用这种模式扫描的速度非常快,但是它识别服务的可能性也略微小一点。实施轻量级扫描的语法格式如下:
nmap --version-light [host]
其中,--version-light表示实施轻量级扫描,该选项相当于--version-intensity 2的别名。
对目标主机实施轻量级扫描。执行命令如下:
root@daxueba:~# nmap --version-light 192.168.33.152Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 15:19 CSTNmap scan report for 192.168.33.152 (192.168.33.152)Host is up (0.000085s latency).Not shown: 997 closed portsPORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open httpMAC Address: 00:0C:29:FD:58:4B (VMware)Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds
(5)探测所有端口
使用--version-all选项可以对每个端口尝试发送探测报文。其中,使用该选项探测所有端口的语法格式如下:
nmap --version-all [host]
其中,--version-all选项表示保证对每个端口尝试发送探测报文,该选项相当于--version-intensity 9的别名。(6)跟踪版本扫描
在Nmap工具中提供了一个--version-trace选项,可以用来跟踪版本扫描,以获取更详细的信息。用于跟踪版本扫描的语法格式如下:
nmap --version-trace [host]
其中,--version-trace选项表示实施跟踪版本扫描。
对目标主机的服务实施跟踪版本扫描。执行命令如下:
root@daxueba:~# nmap --version-trace 192.168.33.152Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 18:03 CSTPORTS: Using top 1000 ports found open (TCP:1000, UDP:0, SCTP:0)--------------- Timing report --------------- #时间报告hostgroups: min 1, max 100000rtt-timeouts: init 1000, min 100, max 10000max-scan-delay: TCP 1000, UDP 1000, SCTP 1000parallelism: min 0, max 0max-retries: 10, host-timeout: 0min-rate: 0, max-rate: 0---------------------------------------------Packet capture filter (device eth0): arp and arp[18:4] = 0x000C2917 and arp[22:2] = 0x5F2BOverall sending rates: 30.57 packets / s, 1283.89 bytes / s.mass_rdns: Using DNS server 192.168.33.2 #DNS服务器mass_rdns: 0.00s 0/1 [#: 1, OK: 0, NX: 0, DR: 0, SF: 0, TR: 1]DNS resolution of 1 IPs took 0.00s. Mode: Async [#: 1, OK: 1, NX: 0, DR:0, SF: 0, TR: 1, CN: 0]Packet capture filter (device eth0): dst host 192.168.33.154 and (icmp or icmp6 or ((tcp or udp or sctp) and (src host 192.168.33.152))) #包捕获过滤器Overall sending rates: 12429.46 packets / s, 546896.36 bytes / s. #综合发送速率Nmap scan report for 192.168.33.152 (192.168.33.152) #Nmap扫描报告Host is up (0.000088s latency).Scanned at 2021-07-31 18:03:28 CST for 0sNot shown: 997 closed portsPORT STATE SERVICE21/tcp open ftp22/tcp open ssh80/tcp open httpMAC Address: 00:0C:29:FD:58:4B (VMware)Final times for host: srtt: 88 rttvar: 11 to: 100000Read from /usr/bin/../share/nmap: nmap-mac-prefixes nmap-payloads nmap-services.Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds
从以上输出信息中可以看到获取到的详细信息。例如,时间报告、使用的DNS服务器、数据包过滤器和发送速率等。
(7)实施RPC扫描
RPC扫描通常和Nmap的许多端口扫描方法结合使用。这种扫描方式通过向所有处于打开状态的TCP/UDP端口,发送SunRPC程序NULL命令,以确定它们是否是RPC端口。如果是,就判断是哪种程序及其版本。因此,我们也可以使用RCP扫描方式来识别服务的版本信息。RPC扫描的语法格式如下:
nmap -sR [host]
其中,-sR选项表示实施RPC扫描。
对目标主机192.168.33.152实施RPC扫描。执行命令如下:
root@daxueba:~# nmap -sR 192.168.33.152WARNING: -sR is now an alias for -sV and activates version detection as well as RPC scan.Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-31 15:20 CSTNmap scan report for 192.168.33.152 (192.168.33.152)Host is up (0.000094s latency).Not shown: 997 closed portsPORT STATE SERVICE VERSION21/tcp open ftp vsftpd 3.0.322/tcp open ssh OpenSSH 7.8p1 Debian 1 (protocol 2.0)80/tcp open http Apache httpd 2.4.34 ((Debian))MAC Address: 00:0C:29:FD:58:4B (VMware)Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernelService detection performed. Please report any incorrect results athttps://nmap.org/submit/ .Nmap done: 1 IP address (1 host up) scanned in 6.69 seconds
从以上输出信息中可以看到目标主机上开放的服务指纹信息。
2. Amap服务识别
Amap工具被设计的目的就是用来识别网络服务的。用于识别服务的语法格式如下:
amap [host] [port]
使用Amap工具对目标主机192.168.33.152上的22号端口服务实施扫描。执行命令如下:
root@daxueba:~# amap 192.168.33.152 22amap v5.4 (www.thc.org/thc-amap) started at 2021-07-31 18:14:06 - APPLICATIONMAPPING modeProtocol on 192.168.33.152:22/tcp matches sshProtocol on 192.168.33.152:22/tcp matches ssh-opensshUnidentified ports: none.amap v5.4 finished at 2021-07-31 18:14:12
从输出的信息中可以看到,22号端口匹配的服务为SSH。
|
|