感谢支持
我们一直在努力

Nessus 4.4 在VMware Linux下不能正确扫描的问题和测试


一、
            
遇到的问题

Nessusvmware下安装的linux系统里不能扫描外部IP地址,只能对vmware内部IP段进行扫描,具体情况如下


环境:


1vmware下安装的BT4 linux vmware eth0 ip192.168.11.131nessus安装在这上面(便于认识以后统称BT4


2vmware主机,windows系统,vmware eth0 ip192.168.11.1(网关)和192.168.11.2dns),8139网卡eth0 192.168.18.2(真实物理ip)。(便于认识该主机统称WIN


问题:


    Nessus默认规则扫描192.168.11.xvmware网段)正常,扫描结果也都正常。扫描192.168.18.2异常,查看nessus log日志显示18.2主机不在线(实际都是同一台机器)。Log如下






[Fri Jan 21 03:33:02 2011][10704.5530] User hey starts a new scan (31c72297-8f06-8745-e775-90f7be11f20673bb9d1353fa91ee)


[Fri Jan 21 03:33:02 2011][10704.5530] Reducing max_hosts to 16 (HomeFeed)


[Fri Jan 21 03:33:03 2011][10704.5530] user hey starts a new scan. Target(s) : 192.168.11.1,192.168.18.2,211.94.163.99, with max_hosts = 16 and max_checks = 5


[Fri Jan 21 03:33:03 2011][10704.5530] user hey : testing 192.168.11.1 (192.168.11.1) [5536]


[Fri Jan 21 03:33:03 2011][10704.5530] user hey : testing 192.168.18.2 (192.168.18.2) [5537]


 [Fri Jan 21 03:33:04 2011][10704.5537] user hey : The remote host (192.168.18.2) is dead


[Fri Jan 21 03:33:04 2011][10704.5537] Finished testing 192.168.18.2. Time : 1.04 secs


 [Fri Jan 21 03:33:47 2011][10704.5536] Finished testing 192.168.11.1. Time : 43.80 secs


[Fri Jan 21 03:33:48 2011][10704.5530] user hey : test complete


[Fri Jan 21 03:33:48 2011][10704.5530] Scan done: 1 hosts up


[Fri Jan 21 03:33:48 2011][10704.5530] Total time to scan all hosts : 46 seconds


[Fri Jan 21 03:33:51 2011][10704.2] Task 31c72297-8f06-8745-e775-90f7be11f20673bb9d1353fa91ee is finished


分析:


    起初怀疑和端口扫描选项有关,于是分别测试一下几种端口扫描方法,1syn+ping host2tcp connect + ping host3syn4tcp connect这几种方法。结果如下


1syn+ping host,主机不在线


2tcp connect + ping host,主机不在线


3syn,在线,返回大量开放端口信息,全误报,并且无主机cve这类漏洞扫描信息


4tcp connect,主机不在线


    然后通过抓包分析,主要分析2种情况,一种主机不在线,一种返回大量误报信息。


第一种不在线情况过程(端口扫描选项 ping hostSYN scan


1BT4 arp请求查找dns服务器192.168.11.2WIN主机),然后做反向arp请求,dns查询失败


2BT4 icmp request ID字段为0WIN icmp replay ID字段为0


3BT4 WIN 发送smtp60000-60009 SYN请求,下面以其中的SMTP来截图


Nessus 4.4 在VMware Linux下不能正确扫描的问题和测试


 


4:可以看到BT4 先同WIN进行了3次握手建立连接。然后WIN主动发起了FIN关闭,BT4确认后使用reset进行了终止


5:BT463000端口向WIN 60000端口发起SYN请求,过程如smtp一样,不同是源端口和目的端口每次+1,到6300960009 reset后停止发送,同时reset smtp,总共42个包,多次测试后发现结束总是60009 resetsmtp reset收尾。


第二种大量误报信息过程(端口扫描选项SYN scan


1:全程发送大量数据包约有29000个,过程如下


2DNS请求同第一种情况一样,反向查询


3:查询失败后接着发送了srt UDP 32831 à det DUP 9101 请求,返回端口不可达信息


4:然后对大量已知TCP端口发送SYN请求,httpfingersmtpftp等等,用http来列举过程如下



Nessus 4.4 在VMware Linux下不能正确扫描的问题和测试

 


5:如图,3次握手建立连接后,WIN同上一样,发送FIN关闭连接,但BT4这时做了个http1.1 GET请求,然后WIN给予ACK确认,接着BT4 reset关闭该连接。


6:其他端口过程基本类似,fingerhttp此类的会做个get或是help请求,我想是用来识别服务用?,然后就关闭。telnet这种是如同1一样,不做请求而reset关闭。


7:最终结果是所有端口关闭后,扫描结束,report主机在线,开放了3188个端口,无风险。


8:问题在于12的情况下,WIN主机并未开放这些端口,但依然给予了ack握手确认。

二、其他方面测试


为了弄明白原因,后来又做了其他测试,大体是用nmap、nc、fping此类工具做了测试和排查。基本确定了一些问题又带来更多问题


1:上述2个例子测试,分别用的TCP连接扫描和SYN扫描,TCP连接扫描会三次握手建立连接,而SYN会在第二次握手后,第三次不给予ACK而是reset掉。但我反复对比测试nessus的数据包,无论是连接扫描还是syn扫描,方式结果都一样,都会3次握手完毕后在reset(用0策略,只开启单个扫描选项测试)


2:如果在选项中不开启扫描,而是勾选一些风险漏洞进行测试,依然会进行第一种情况的扫描,但接着会进行风险漏洞扫描。所以可以关闭扫描选项,而是漏洞测试结果正常。


3:与工具无关,我做了nmap、nc的tcp扫描都会导致大量误报。如果用UDP扫描就不会发生上述问题。


4:没想明白,为什么对端windows主机tcp端口未开放的情况下,依然会给予tcp连接建立确认,而不是立刻reset掉。(如果是UDP扫描端口关闭会返回icmp端口不可达消息)


5:在家里nessus环境是使用路由器NAT上网,本机安装的nessus,除了没vmware环境外照理说应该同上述环境类似,同样NAT出去,但家里扫描工作正常。回去后再做做对比抓包测试。


三、解决方法


Nessus目前这种状况,我暂时关闭了tcp的扫描,使用ping和udp扫描模式后扫描正常。有很多问题没想明白,还是自己会的太少,对nessus了解不够,还要更多的学习测试实验。


By jason he


2011-1-21


==========


在家测试结果


nessus系统为windows系统,经本网段测试或是nat到其他外部IP,各类扫描都正常。如对端端口关闭,会发送reset过来,符合正常的协议规范。


只是现在更迷糊了,为什么在单位的vmware下会出现这么奇怪的现象,nessus不按正常情况扫描,还有那些外部IP端口明明都是关闭的,为何会发送ack来建立连接。


难道这些都是VMware导致的问题?在单位环境中除了BT4外,Ubuntu也是同样的情况,可以考虑在单位建立这样的环境


A                                    B                           C


WIN                            BT4                        test


然后B扫C,在A的NAT口和C的网卡同时抓包,看是否包受到vmware篡改导致与实际情况不符

赞(0) 打赏
转载请注明出处:服务器评测 » Nessus 4.4 在VMware Linux下不能正确扫描的问题和测试
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏