利用GKrellM获取系统信息

GKrellM是一个单处理器的系统监视器。它支持场景模式,以匹配各种窗口管理器。该服务监听TCP 19150端口。Nmap的gkrellm-info脚本可以向该端口发起请求,获取系统信息,如主机名、系统版本、运行时间、处理器类型、内存、网络、磁盘挂载等信息。

获取CORBA对象列表

CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。该结构中包括了命名服务(Naming Service)。通过该服务,客户端可以通过指定服务器对象,利用绑定的方式,快速定位到服务对象,并调用对应的方法。该方法默认使用TCP 2809、1050或者1049。Nmap的giop-info脚本通过访问上述端口,获取对象列表信息。

检查ProFTPD的堆缓存溢出漏洞

在ProFTPD的1.3.2rc3和1.3.3b版本中,存在一个堆缓存溢出漏洞。漏洞编号为CVE-2010-4221。当ProFTPD接受到大量的TELNET_IAC转义序列,会导致缓存长度计算错误。此时,远程攻击者就可以基于ProFTPD的环境,执行任意命令。Nmap的ftp-vuln-cve2010-4221脚本可以构造对应的转义序列,检测服务器是否存在该漏洞。

通过FTP的SYST和STAT命令获取信息

FTP提供SYST和STAT命令。其中,SYST命令用来获取服务器的操作系统,STAT用于获取当前程序和目录信息。这两个命令的信息默认不显示。NMAP的ftp-syst脚本通过向FTP服务器发送这两个命令,并解析返回信息,而获取相关信息,如操作系统类型、FTP配置信息等。

检测FTP服务器是否允许匿名登录

很多FTP服务器为了方便用户使用,往往支持匿名登录。通过匿名登录,一般可以查看目录信息。如果配置不当,甚至具备对某些文件的可写权限。Nmap的ftp-anon脚本可以对FTP服务器的匿名性进行判断。如果可以匿名访问,会列出根目录信息,并给出每个文件和文件夹的权限,高亮显示可写的项目。

利用TTL过期机制探测防火墙规则

TTL(Time To Live)是IP协议的一个字段,用来表示被路由器丢弃之前能通过的最大网段数量。当数据包通过一个路由器,该值就会被减一。路由跟踪可以利用该字段,探测数据包都经过哪些路由器。如果被防火墙拦截,就会提示无响应。Nmap的firewalk脚本利用该机制,通过跟踪访问同一目标的不同端口,判断中间防火墙的对端口的过滤情况。