🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 漏洞扫描原理及工具 ## 1.扫描原理 **ping检测:** 通过ping返回的TTL值大致的了解一些信息 128:xp、2000、2003 64:7、2008、Linux 255:交换机、路由器等 此方法式只能大致判断,并不准确。 **端口扫描** telnet IP 端口 由此可判断操作系统、软件服务类型、版本等 如:目标系统开放了137、139、445,端口可以判断目标系统为Windows系统 目标系统开放了22这样的端口很可能为Linux系统 **扫描分类:** 开放扫描:TCP全连接,反向ident扫描 半开放扫描:SYN扫描、IP头信息dumb扫描 隐蔽扫描:FIN扫描、ACK扫描、null扫描、XMAS扫描、TCP分段、SYN\\ACK扫描 扫射扫描:ping udp ack syn icmp 其他扫描:ftp udp\\icmp不可达 IP头信息dumb扫描等 ## **2.TCP扫描** ### A TCP普通扫描方式 对于TCP扫描普通常采用以下方法: TCP ACK扫描:这种扫描技术往往用来探测防火墙的类型,根据ACK位的设置情况确定该防火墙是简单的包过滤还是状态检侧机制的防火墙。 TCP窗口扫描:由于TCP.窗口大小报告方式不规则,所以这种扫描方法可以检测一些类似UNIX系统\[AIX, FreeBSD等\]打开的端口,以及是否过滤的端口. TCP RPC扫描:这种方式是UNIX\_系统特有的,用于检测和定位远程过程调用\[RPC\]端口一及其相关程序与版本标号。 ### B TCP扫描的高级扫描方式 修改TCP数据包中各标志位、就能得到TCP扫描的高级扫描方式,方法及原理如下: 1. TCP connect扫描 这种类型是最传统的扫描技术,程序调用connect()接口函数连接到目标端口,形成一次完整的TCP“三次握手”过程,显然能连接上的目标端口就是开放的瑞口. (注意:在UNIX系统下使用TCP connect扫描方式不需要任何权限。) 2. TCP SYN 扫描 这种类型也称为半开放式扫描。其原理是往目标端目发送一个SYN包,若得到来自目标瑞口返回的SYN/ACK响应包.则目标端口开放:若得到RST则未开放。(注意:在UNIX下执行TCP SYN扫描必须拥有ROOT权限.)由于此类型并未建立完整的TCP“三次握手”过程,很少会有操作系统记录到,因此比起TCP connect扫描隐蔽得多。虽然此类型扫描隐蔽,但是有些防火墙监视TCP SYN扫描,有些工具(如synlogger和.Courtney)也能够检测到它。原因是:这种秘密扫描方式违反通例,在网络流量中相当醒目. 3. TGP FIN扫描 TCP FIN扫描的原理是:RFC793文档程序向一个端口发送FIN,若端口开放则此包被忽略,否则返回RST。这个是某些操作系统TCP实现存在的BUG,并不是所有的操作系统都存在这个BUG,它的准确率不高,而且此方法往往只能在UNIX系统上成功工作,因此这种扫描方法不是特别流行。它的好处在于足够隐蔽,.如果判断在使用TCP SYN扫描时可能暴露自身则可以试一试这种方法。 4. TCP reverse ident扫描 ident协议允许通过TCP连接得到进程所有者的用户名,即使该进程不是连接发起方.此方法用于得到FTP所有者信息,以及其他需要的信息等。 5. TCP Xmas Tree扫描 该程序往目标端口发送一个FIN、URG和PUSH包。.若其关闭.应该返回一个RST包. 6. TCP NULL扫描 该程序发送一个没有任何标志位的TCP包,关闭的端口将返回一个RST数据包。 ## **3.UDP扫描方式和其他扫描方式** 对于UDP端口的扫描,通常采用以下方法: 1. UDP ICMP端口不可达扫描 此方法是利用UDP本身是无连接的协议,所以一个打开的UDP端口并不会返回任何响应包.如果端口关闭,某些系统将返回ICMP\_PORT UNREACH信息.由于UDP是不可靠的非面向连接协议,所以这种扫描方法容易出错,还比较慢。 2. UDP recvfrom() 和write()扫描 由于UNIX系统下非ROOT用户无法读到端口不可达信息,所以NMAP提供这个仅Linux下才有效的方式。在Linux下,若一个UDP端口关闭,则第二次write()操作会失败。当调用recvfrom() 时.若未收到ICMP的错误信息.一个非阻塞的UDP套接字一般返回EAGAIN(“Try Again” ,crror=13 );如果昨到ICMP的错误信息,套接字返回ECONNREFUSED(“Conncctionrefused”,error=111).通过这种方式,NMAP将得知目标端口是否打开。 3. 其他扫描方式 除典型的TCP和UDP扫描方式外,还有一些另类的扫描方式: 分片扫描; FTP跳转扫描。 **扫描前的注意事项** 1. 了解网络部署情况 2. 确定是否可以扫描,是否需要扫描,对扫描器部署 3. 扫描时间和方式 挑用户少的时候 4. 定制好扫描策略 对扫描器配置 防火墙是否开启 5. 企业服务是否配置了相关的安全策略,防止锁死 例如一个数据库设置密码错误三次就不再允许访问,弱口令暴力破解等注意使用