『弱点分析』与『信息收集』类工具的定位非常不同,其中包含大量的模糊测试工具。正确使用这些工具,将有助于我们发现可能存在的零日漏洞。同时此类工具中还包含了大量VoIP相关的渗透测试工具,这可能是安全人员较少考虑的技术领域。总的来说,这是非常值得大家认证掌握的一类工具。
注:工具序号继承了『信息收集』类工具的编号顺序;同时,部分课时内包含有多个同类工具。
060:Cisco-Auditing-Tool
描述:这是『弱点分析』类中的第一个工具。作为网络中主要连接设备的交换机和路由器,承载着网络的全部流量转发,如果这些设备受到黑客控制,造成的破坏效果可能远远高于一个服务器被攻击的情况,而且这一切可能更加隐蔽且难于被发现。安全意识淡漠的网络管理员,可能非常喜欢使用过于简单的密码和SMNP团体名来管理设备,这正是Cisco-Auditing-Tool工具的用武之地,它支持使用内建和用户指定的密码字典进行保密破解,从而发现网络设备的不安全配置。
061:cisco-global-exploiter
描述:路由器和交换机作为网络中主要的连接设备,承载着全部的网络流量。但网络设备一旦上线运行,则很难再次停机进行维护和升级,因此其产品自身存在的漏洞可能长期得不到修复。加之大量网络工程师只以网络能通作为衡量自生工作的唯一标准,因此网络设备的安全性问题,长期都得不到及时的改善。思科作为世界上最大的网络设备供应商,历史上其产品曾被发现存在多个漏洞,cisco-global-exploiter就是一个针对思科设备的漏洞利用工具合集。其中包含了14个思科各类产品的漏洞利用功能,虽然洞领略高,但我们对其仍然不能忽视。
062:cisco-torch
描述:出于对已有工具功能的不满,作者开发了cisco-torch这个专门针对思科设备的扫描工具。与其他同类工具相比,cisco-torch具备多种应用层协议的指纹识别特性,借助与第三方指纹库的比对,它可以轻松识别目标设备及系统类型。同时由于采用了多线程的开发方式,所以在性能上torch也同样表现突出。另外在密码破解和漏洞利用方面,torch也具备相应的能力。如果torch破解了设备读写权限的SNMP Community,还会利用其获取设备的完整配置。
063:cisco-ocs
描述:路由器和交换机作为网络中主要的连接设备,承载着绝大部分的流量。由于企业缺乏安全配置的统一规范,以及网络工程师自身安全意识的淡漠,经常会有人使用“cisco”作为设备的远程管理密码。cisco-ocs的功能非常单一,它首先会使用“cisco”作为密码尝试连接目标设备的telnet端口,如果成功登录,则继续探测enable密码是否也是“cisco”。我曾见过很多思科认证的培训师,在给学员演示配置的过程中,几乎全部都在使用“cisco”作为密码。而是否有人在生产服务器上也会继续延用这个习惯,就不得而知了。
064:copy-router-config / merge-router-config
描述:SNMP是为了实现网络设备和服务器集中监控而发明的网络协议,community字段即相当于它的密码。攻击者一旦获得了这个密码,则可以利用SNMP协议读取和修改目标设备的配置文件和运行参数。copy-router-config / merge-router-config这两个工具专门针对思科设备而设计,它们的功能相对,分别利用SNMP协议下载和上传思科设备的配置文件。这两个工具的工作过程需要tftp服务的配合,但这完全不会给使用者造成任何困扰,因为要想在kali中启动tftp服务,只需要简单的一条命令即可。
065:dhcpig
描述:DHCP是一种工作于以太网的协议,它的作用是为网络中其他计算机动态的分配IP地址等网络参数,其中就包含网关和DNS服务器地址。很早以前就有攻击者在进入内网之后,会尝试通过安装恶意的DHCP服务器,来给其他客户端分配错误的网关和DNS服务器地址,并以此来截取客户端的流量或实施DNS欺骗。由于DHCP的工作机制,在完全比拼响应速度的情况下,攻击者可能并不占有任何优势,于是他们试图先耗尽合法DHCP服务器的地址池,再静等受害者自己上钩。dhcpig的作用就是快速耗尽合法DHCP服务器的地址池。
066:bed & doona
描述:当渗透测试者遇到没有任何已知漏洞的系统时,有必要考虑是否存在0day漏洞的可能性。所有计算机程序的本质都是接收用户输入,然后对其解析、处理、计算并返回结果。所以从实用的角度出发,我们可以向程序发出大量随机和半随机的输入数据,通过观察程序对不同输入数据的处理结果,直观的判断程序是否存在漏洞,这就是模糊测试(Fuzz)的根本思路。模糊测试的历史由来已久,从计算机诞生之初到现在,该方法一直都是最主要的漏洞发现手段。上周还看到一篇报道说:李纳斯最近表示,模糊测试一直是linux内核最主要的漏洞发现手段。本课我不但向你展示了常规程序的手动漏洞挖掘的方法,同时更向你展示了如何利用模糊测试器(Fuzzer)帮助我们提高漏洞挖掘的效率。而且还有利用python语言进行漏洞PoC代码的编写过程。这是内容满满诚意满满的一课。
067:dotdotpwn
描述:有一种名为『目录遍历』的漏洞类型,经常被我们发现存在于某些WEB应用程序之上。但其实该漏洞类型并非WEB应用程序专有,很多应用程序上都可能存在此漏洞。今年上半年virtualbox虚拟机软件就曾两次被发现存在『目录遍历』漏洞,利用漏洞,使用者可以从虚拟机中逃逸出来,直接访问其宿主计算机的文件系统。dotdotpwn是一个针对不同协议进行『目录遍历』漏洞模糊测试的Fuzzer程序,其具备多种编码混淆手段,可针对不同的目标系统文件进行模糊测试。
068:enumiax_iaxflood
描述:使用基于共享带宽和分组交换的计算机网络,来承载基于独占带宽和电路交换的传统电话语音通信,这就是VoIP技术。目前业界使用的VoIP相关协议种类众多,提供服务的产品和厂商也纷繁冗杂,很多产品更纷纷提出各自专有的内部通信协议。Asterisk作为应用最为广泛的开源VoIP产品,也提出了自己基于统一服务端口的IAX协议,用于Asterisk服务器以及客户端之间的信令及音视频传输。enumiax是一款对IAX协议用户进行枚举的工具,iaxflood则是利用IAX设计缺陷而发起洪水式攻击的工具。
069:openvas
描述:随着被公布的软件漏洞数量不断增长,完全依赖人工手动的方式来发现和验证漏洞,正在变得越来越困难。因此对于企业网络环境而言,急需提出一种基于漏洞的管理方法。这要求企业从生命周期的角度来看待漏洞信息,将其纳入到企业日常的管理工作中。openvas是目前开源世界最重要的漏洞管理产品,它基于各种安全行业的标准规范,广泛覆盖了已知的漏洞类型。它使用简单方便,可以自动发现系统中绝大部分已知漏洞,无论对于渗透测试者还是安全运维工程师,这都是一个不能缺少的强大工具。
070:golismero
描述:golismero的设计目标是成为WEB扫描领域的瑞士军刀,进而使自己成为全能的一站式WEB安全框架,因此除自行开发的众多功能之外,它同时也整合了大量优秀的开源安全工具。其使用python语言开发,但却完全避免了烦人的库依赖问题,因此它实现了完全意义的夸平台。使用上golismero需要在线连接多种信息提供平台,因此在国内独特的网络环境下,功能上略有受限。
071:lynis
描述:windows之所以被认为不如linux系统安全,很重要的原因之一在于其默认就处于开放状态的众多系统服务,这是微软在用户体验和安全性上的取舍选择。但很多人可能并不知道,如果你对windows系统进行适当的加固硬化配置,它也可以向linux一样的安全。而linux系统也不是天生的强壮,要想达到足够的安全水平,它也同样需要适当的加固和硬化配置。lynis是个系统安全检查工具,它能生成一份全面的加固建议列表,并由使用者灵活的自行决定实施哪些加固措施。
072:siege
描述:siege直译为围攻,是一款针对HTTP、FTP协议的容量及压力测试工具。它可以模拟大量正常用户的并发请求,帮助测试者评估应用的服务能力。siege命令使用简单,功能强大,可以随意增加和修改请求头部信息,并按需调整并发数量和请求频率等。对于渗透测试者而言,可以利用其对存在性能问题的页面实施拒绝服务漏洞的验证。
073:sfuzz
描述:sfuzz 即简单模糊测试工具。正如其名,它的使用异常简单,无论是面对通用还是私有协议的程序,我们都可以使用sfuzz快速的制定出有效的数据发送规测。本课我使用了一个真实的SEH缓冲区溢出漏洞为例,向大家现场介绍,如何对私有协议的应用程序,进行漏洞挖掘的完整思路。以及如何利用sfuzz这样的模糊测试器,加快我们漏洞发现的效率。
074:thc-ssl-dos
描述:SSL作为HTTP协议的安全增强功能被发明,随后不断完善和强化,目前已经脱离HTTP成为完全独立的安全协议。SSL虽为安全而生,但其自身却给安全带了新的问题和挑战,主要就体现在其性能开销方面。SSL在会话建立的身份认证过程支持重协商的机制,而这一特性被黑客组织利用,并成为攻击SSL服务器的利器。thc-ssl-dos即利用了SSL重协商特性,仅靠一台普通PC和少量的带宽,即可造成高配服务器的拒绝服务。
075:t50
描述:与扫描发包工具不同,包注入工具唯一的目的就是大量快速的发包,而不接收任何回包。为达到此目的,包注入工具通常采用伪造源地址的方式,避免接收到目标计算机给自己返回的数据包。t50号称是世界上最快的包注入工具,它支持多种低层级协议类型,可对每种协议包结构进行充分自定义。虽然有人将其解读为拒绝服务工具,但其真实设计目的却是压力测试。
076:unix-privesc-check
描述:当渗透测试者已经找到应用漏洞,并利用漏洞获取了目标计算机权限之后,总会试图尝试进行本地提权,进一步扩大自己的战果。此时利用系统本地漏洞进行提权是我们的常用思路,但很多文件系统权限的设置不当,却可能使攻击者更加轻易的完成提权。unix-privesc-check适用于所有类UNIX系统,它可以检查文件系统权限设置的不安全设置,并通知提示管理者进行适当的修复。
077:spike
描述:当渗透测试者遇到没有任何已知漏洞的系统时,有必要考虑是否存在0day漏洞的可能性。所有计算机程序的本质都是接收用户输入,然后对其解析、处理、计算并返回结果。所以从实用的角度出发,我们可以向程序发出大量随机和半随机的输入数据,通过观察程序对不同输入数据的处理结果,直观的判断程序是否存在漏洞,这就是模糊测试(Fuzz)的根本思路。spike作为开源社区兴起的第一款也是最受欢迎的一款Fuzzer程序,其功能全面且强大,并内建了2000余种用于触发漏洞的默认输入数据,可大大提高漏洞挖掘的效率。
078:ohrwurm
描述:RTP是SIP协议中用于传输语音的事实协议。其攻击面主要体现在通过伪造注入或中间人篡改等攻击手段,造成语音和视频流的失真,甚至内容替换。ohrwurm这个我不知道该怎么读的名字来源于德语,它是一个RTP协议的Fuzz工具。其主要适用于局域网环境,通过中间人方式向RTP流中Fuzz固定的BER,从而造成语音失真甚至拨号失败等效果。此工具虽然使用简单,但我还是为其搭建了一个完整的VoIP环境,真实演示其从理论到实践的用法。
079:rtpbreak / rtpflood / rtpinertsound / rtpmixsound
描述:RTP是SIP协议中用于传输语音的事实协议。其攻击面主要体现在通过伪造注入或中间人篡改等攻击手段,造成语音和视频流的失真,甚至内容被篡改。本次课程这四款工具全部是针对RTP协议的渗透测试工具。rtpbreak可以分析并还原RTP流量中的语音内容,实现窃听的效果;rtpflood可以洪水攻击RTP通话设备,实现拒绝服务效果;rtpinsertsound可以替换和篡改实时语音流的内容,直接欺骗通话对方;rtpmixsound则可以将一个声音混入当前通话当中,成为其背景音的一部分。
080:inviteflood
描述:利用廉价共享带宽的IP网络承载实时语音通话的技术称为VoIP,SIP则是目前使用最广且接受度最高的VoIP信令协议。SIP是一种基于文本的信号控制协议,并不进行真实语音内容的传递。SIP主要负责会话的建议、管理、结束等管理功能,是一种与HTTP协议非常相似的协议类型。INVITE是SIP协议中负责发起会话请求的指令,inviteflood针对该指令发起洪水攻击,被攻击者会瞬间接到大量呼叫请求,导致类似电话占线的效果,严重时更可令IP电话客户端程序崩溃。
081:protos-sip/siparmyknife/sipdump/sipcrack/SIPp
描述:利用廉价共享带宽的IP网络承载实时语音通话的技术称为VoIP,SIP则是目前使用最广且接受度最高的VoIP信令协议。本次课程我给大家介绍了五款关于SIP的安全工具。protos-sip是一款SIP协议的Fuzz工具,曾用于发现思科产品漏洞;siparmyknife的功能与前者类似,可用于发现服务器的XSS、SQL注入、缓冲区溢出等漏洞;sipdump / sipcrack配合使用,分别负责抓取和离线破解SIP身份验证信息;SIPp是一个功能完善的SIP协议性能测试工具,是每个VoIP工程师的必备武器。
082:sctpscan
描述:1960年代,在计算机黑客还没有进入人们视线以前,电话系统黑客就已经名满天下,其中最具代表性的就是『嘎吱嘎吱船长』和两个『斯蒂夫』的蓝盒子。蓝盒子利用C5信令漏洞长达十几年之久,最终被SS7带外信令所终结。今天当SS7已成为花园里的古董时,运营商仍然在基于IP的网络上重新封装SS7协议,而SCTP就是SS7 over IP在传输层的事实协议。sctpscan是个扫描器,它可以利用隐蔽的方式,扫描发现SCTP活动主机及其服务端口,进而为电信核心网落渗透打下基础。
083:SIPVicious
描述:SIPVicious是一个工具套件,具体包含5个针对SIP协议的渗透工具。svmap的用途可以类比为nmap,它是个SIP主机扫描工具;一旦发现活动的SIP主机,svwar则可以爆破其所有分机号(即用户名,通常为3-4位数字);有了用户名,接下来的任务就是爆破用户的登录密码(通常也是数字组合);svreport是上述扫描任务的报告生成工具,可生成PDF等多种格式的报告;最后,svcrash是一个用于阻止svwar、svcrack扫描的防护工具。