端口扫描是网络中常见的行为之一。网络管理员利用端口扫描可以检测自己网络的健康状况,用以修补漏洞、制定完善的安全策略;黑客利用端口扫描可以发现目标网络/主机中存在的漏洞,为后续的进一步入侵做准备。本案例是一次典型的针对网络中Windows系统和MS SQL Server数据库服务器漏洞的端口扫描行为。
环境说明:本案例为某实验性网络,内部主机使用公有IP地址。核心交换机上部署了科来回溯式分析服务器,通过端口镜像将内部网络的流量导入回溯式分析服务器。
案例分析:
某日上午在分析系统控制台上将趋势图表设置为“TCP分析”状态时,偶然发现有两个时刻网络中TCP同步包数量明显增多。TCP同步包最多时达到了TCP同步确认包的两倍还多,而通常情况下TCP同步包数量只会略多于TCP同步确认包。于是选取了其中一个峰值约15秒的时间段,在“IP地址”浏览页面按照“发TCP同步包”进行排名,发现某IP地址15秒内发送了773个TCP同步包排名第一,而该IP总发包量才868个。这显然不是一个正常现象。
于是下载该IP的数据包进行深入分析。在IP会话列表中看到该IP地址与内网的每一个IP都有IP会话,这是对网段内所有主机进行扫描的典型特征。
从上图中可以看出攻击者对每台主机发送了至少3个TCP同步报文,目标端口是每台主机的RPC(135)、MSSQL(1433)和CIFS(445)。图中数据包总量为3的是主机不存在或未作响应;数据包为6的是主机对扫描着回应了TCP重置或ICMP目标不可达消息,表示攻击者访问的端口没有开放;而有几台主机与攻击者交换了几十个数据包,说明在这几台主机上的上述3个端口有一个或多个可以访问,攻击者对这几台主机进行了深入的漏洞扫描。
TCP 135和445是用于Windows远程过程调用和文件共享的端口。在Windows 2003 SP1之前的系统中这两个服务存在比较大的漏洞,常被一些蠕虫病毒利用,如早年的冲击波和震荡波,攻击者也会利用这两个端口对系统进行入侵。
TCP 1433是SQL Server的服务端口,黑客可以利用它进行弱口令尝试,如果成功就可能获得目标主机的系统权限。
为了看到攻击者对那几台开放端口的主机做了什么,把界面切换到“TCP会话”,深入分析攻击者进行漏洞扫描的行为。
此次针对SQL Server的扫描每次会话为11到12个报文不等,选取其中某个会话在数据流页面中能够明显看到攻击者在尝试sa口令,从上图中服务器的回应数据,可以判断从服务器在回应口令尝试后立刻终止了会话来推测此次尝试并未成功。
从针对CIFS的扫描会话的数据流视图中能够明显的看出IPC$连接请求,和命名管道的访问请求,可以看出这是针对Windows 2003 SP1以前版本”\pipe\browser”命名管道漏洞的攻击尝试。被扫描系统是Windows Server 2003 R2 SP2并不会受到影响。
建议:此次端口扫描过程时间不长,但类似的行为曾多次出现,并且在其他时段发现了数个不的同源IP地址在对内网进行扫描。虽然都没有造成实质的破坏,但还是建议在边缘设备上过滤不必要的TCP端口访问,尤其是135、445、1433等通常只对内网提供服务的端口。