6.9 其他工具
Kali Linux提供了许多对基于Web的攻击有用的工具。这里会介绍Kali Linux中带有的其他一些本章中尚未做介绍的工具。这些工具可用于远程渗透测试。
6.9.1 DNSChef
DNSChef是一款为渗透测试人员和恶意软件分析人员准备的DNS代理。DNS代理也被称作“伪造DNS(Fake DNS)”,是一款用于应用网络流量分析及其他场景的工具。域名系统(DNS,Domain Name System) 是针对计算机、服务、或任何连接到因特网或私有网的资源的分布式命名系统。通过提供伪造DNS地址,我们可以将流量重定向到其他需要的位置。
举个例子,我们可以用伪造DNS来将发送到badguy.com的请求指向一台本地机器,终止请求或是进行劫持,而不是指向位于因特网上其他位置的真实主机。要让这种方法工作起来,你需要能直接访问和修改某台域名服务器上的DNS记录,或是对真实的DNS记录进行投毒,这样流量最终到达的是Kali Linux服务器。DNSChef工具用起来很方便。不过,在这种DNS攻击方法中,要将流量导向Kali Linux还是有难度的。
6.9.2 SniffJoke
SniffJoke会对你的TCP连接进行透明处理,并能在传送过程中制造延迟场景、对数据包进行修改,并注入伪造的数据包。这个过程使被动窃听技术如IDS/IPS或嗅探工具很难正确拦截这部分流量。它的工作原理是利用嗅探工具预定应该记录的内容跟客户端实际发送的内容之间的差异,不断变化重组数据包的算法来绕开窃听。下面的两个框图说明了窃听两个用户之间的流量时不用和使用SniffJoke的情况。
6.9.3 Siege
Siege是一款为Web开发人员设计的HTTP/HTTPS压力测试工具,用来测量高压情况下他们代码的性能。Siege提供了多线程HTTP负载测试和基准测试功能,它会根据可配置的并发和模仿用户的数目来对Web服务器进行测试。Siege有回归、因特网仿真和暴力等工作模式。
你可以在Stress Testing > Network Stress Testing > Siege 下面找到:
输入如下命令运行Siege:
siege [选项] 目标url>
目标url>
下面的截图显示的是针对www.thesecurityblogger.com 运行Siege的情况。默认的用户数是15,如截图中所示。在停止Siege测试时,该工具会提供一个压力测试结果报告,如下所示:
6.9.4 Inundator
Inundator是一款绕过入侵检测系统(IDS,Instrusion Detection System)和入侵防御系统(IPS,Instrusion Prevention System)的工具,它会对这些系统的日志文件发动洪水攻击。具体原理是你先对目标进行一些假阳性洪水攻击,这样你就能够从响应和取证的角度来隐藏真实攻击。Inundator还可用于测试安全报告工具如SIEM和IDS/IPS的警报系统的有效性。
6.9.5 TCPReplay
TCPReplay会用前面抓到的以libpcap 格式存储的数据流来测试各式各样的网络设备。TCPReplay可以对流量进行归类,确定是客户端的还是服务器端的,重写2层、3层、4层的首部,并将数据流在网络中重放或是传输到其他设备,如交换机、路由器、防火墙以及IDS/IPS。TCPReplay支持单网卡和双网卡模式来测试嗅探和内联设备。
简单地说,TCPReplay可以抓取客户端和服务器之间的数据流,然后在网络中的任何位置回放。