如何判别目标主机使用的是什么操作系统呢? 当我们使用端口扫描工具及漏洞扫描工具对目标主机进行扫描的时候,会得到对方开的端口,通常有:21、22、23、25、79、80、110、111、135、139、443、513、514、1433、3389、5631、6000。 在这些端口 中,21(ftp)、22(SSH)、23(telnet)、25(smtp)、79(finger)、80(http)、110(pop3)是无法直接判断的,因为它们既可能在NT/2000中存在,也可能在Unix/Linux系统中开放。 135、139、443这三个端口是NT/2000系统开放的;而开放3389端口的是Win2000;开放1433端口(SQL服务)通常也是NT/2000;5631端口通常只在采用pcanywhere管理的NT系统中开放。 110(sunrpc)、513(rlogin)、514(rsh)这三个端口通常在Unix/Linux系统中开放,而6000端口通常是Xwindows,当然也是Unix/Linux系统。 除了以上的方法外,利用扫描到的CGI及IIS漏洞也可以判断对方使用的系统,比如/scripts/..%c1%1c../winnt/system32/cmd.exe,典型的unicode漏洞,一定是NT/2000。 /cgi-bin/whois_raw.cgi?fqdn=%oAcat%20/etc/passwd,这样的一定是Unix/Linux系统。 呵呵,不足之处请大家指正!;)
|