Nmap应用指南之五:更多的端口扫描技术
2008-09-10 10:27:10 来源:WEB开发网我们在上一期指南中介绍了扫描网络和服务的基本的Nmap命令。在这一期应用指南中,我要介绍一些利用某些具体平台或者协议的性质进行的扫描以便更好地区分打开的和关闭的端口。
Nmap的TCP Null (选项 -sN)、 FIN (选项 -sF)和Xmas (选项 -sX)等选项扫描RFC 793介绍的TCP协议技术规范中的细小的安全漏洞。当扫描符合这个RFC标准(如大多数基于Unix的系统)的系统时,如果这个端口是关闭的,任何不包含SYN、RST或者ACK等固定字节的数据包都会返回一个RST(重置)数据包。如果这个端口时打开的,那就什么都不会返回。如果收到一个RST数据包,这个端口就被认为是关闭的。如果没有反应,就意味着这个端口是打开的或者可能是过滤的。这些扫描的关键好处是它们能够穿过某些非监控状态的防火墙和过滤数据包的路由器。
能够在某些环境中穿过数据包过滤器的另一种扫描是IPID空闲扫描(选项 -sI)。通过使用网络上的另一种设备(一般称作“zombie”),Nmap的空闲扫描不用从自己的IP地址发送一个数据包就能够从一台远程设备上收集到端口信息。任何入侵检测系统都将把无辜的“zombie”报告为攻击者。但是,更重要的是这种扫描能够用来描绘出机器之间基于IP地址的可信赖的关系,因为空闲扫描结果是从“zombie”机器的角度显示打开的端口。例如,对一个数据库服务器的扫描可能显示没有打开的端口。但是,通过使用一台文件服务器的IP地址作为这个“zombie”机器,数据库服务器上与数据库相关的服务端口也许会显示端口已打开并且暴露可信赖的关系。如果通过使用Nmap探索你的网络,你将意识到这可能是与IPID有关的攻击,然后,你需要设置或者调整你的防火墙和路由器规则以拒绝假冒源地址发来的数据包。另外,你应该启用出口过滤功能阻止欺骗性的数据包离开你的网络。阻止你的内部用户发动这种类型的攻击。
Nmap还提供另一种扫描,也就是TCP ACK扫描(选项 -sA),来帮助描绘出防火墙的规则。这种扫描不能确定端口是打开还是关闭的。但是,这种扫描能够告诉你这个端口是不是过滤的,这个设备过滤的端口是否处于监控状态。
我们在下一期应用指南中将研究防火墙回避问题,同时,你可以通过发出带有各种不同的标识设置(flag settings)的探测类型来测试和分析你的防火墙。尽管Nmap包含几种不同类型的扫描,你还可以使用定制的TCP扫描(选项-- scanflags)来指定任意的TCP标识来设计你自己的扫描。例如,你可以使用如下命令运行一个SYN|FIN扫描:
nmap –sF –-scanflags SINFIN –p20-25 www.yourorg.com.
更多精彩
赞助商链接