安全工具研究
一, 安全工具简介
1. Wireshrak
简介
??Wireshark(前称 Ethereal)是一个网络封包分析软件. 网络封包分析软件的功能是撷取网络封包, 并尽可能显示出最为详细的网络封包资料. Wireshark 使用 WinPCAP 作为接口, 直接与网卡进行数据报文交换.
?? 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流, 电压, 电阻" 的工作 - 只是将场景移植到网络上, 并将电线替换成网络线. 在过去, 网络封包分析软件是非常昂贵的, 或是专门属于盈利用的软件. Ethereal 的出现改变了这一切. 在 GNUGPL 通用许可证的保障范围底下, 使用者可以以免费的代价取得软件与其源代码, 并拥有针对其源代码修改及客制化的权利. Ethereal 是目前全世界最广泛的网络封包分析软件之一.
应用
?? 网络管理员使用 Wireshark 来检测网络问题, 网络安全工程师使用 Wireshark 来检查资讯安全相关问题, 开发者使用 Wireshark 来为新的通讯协定除错, 普通使用者使用 Wireshark 来学习网络协定的相关知识. 当然, 有的人也会 "居心叵测" 的用它来寻找一些敏感信息.
??Wireshark 不是入侵侦测系统(Intrusion Detection System,IDS). 对于网络上的异常流量行为, Wireshark 不会产生警示或是任何提示. 然而, 仔细分析 Wireshark 撷取的封包能够帮助使用者对于网络行为有更清楚的了解. Wireshark 不会对网络封包产生内容的修改, 它只会反映出目前流通的封包资讯. Wireshark 本身也不会送出封包至网络上.
发展简史
??1997 年底, GeraldCombs 需要一个能够追踪网络流量的工具软件作为其工作上的辅助. 因此他开始撰写 Ethereal 软件. Ethereal 在经过几次中断开发的事件过后, 终于在 1998 年 7 月释出其第一个版本 v0.2.0. 自此之后, Combs 收到了来自全世界的修补程式, 错误回报与鼓励信件. Ethereal 的发展就此开始. 不久之后, GilbertRamirez 看到了这套软件的开发潜力并开始参予低阶程式的开发. 1998 年 10 月, 来自 NetworkAppliance 公司的 GuyHarris 在寻找一套比 tcpview(另外一套网络封包撷取程式)更好的软件. 于是他也开始参与 Ethereal 的开发工作. 1998 年底, 一位在教授 TCP/IP 课程的讲师 RichardSharpe, 看到了这套软件的发展潜力, 而后开始参与开发与加入新协定的功能. 在当时, 新的通讯协定的制定并不复杂, 因此他开始在 Ethereal 上新增的封包撷取功能, 几乎包含了当时所有通讯协定.
?? 自此之后, 数以千计的人开始参与 Ethereal 的开发, 多半是因为希望能让 Ethereal 撷取特定的, 尚未包含在 Ethereal 默认的网络协定的封包而参与新的开发. 2006 年 6 月, 因为商标的问题, Ethereal 更名为 Wireshark.
2.Metasploit
简介
??Metasploit 是一个免费的, 可下载的框架, 通过它可以很容易地获取, 开发并对计算机软件漏洞实施攻击. 它本身附带数百个已知软件漏洞的专业级漏洞攻击工具. 当 H.D. Moore 在 2003 年发布 Metasploit 时, 计算机安全状况也被永久性地改变了. 仿佛一夜之间, 任何人都可以成为黑客, 每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞. 软件厂商再也不能推迟发布针对已公布漏洞的补丁了, 这是因为 Metasploit 团队一直都在努力开发各种攻击工具, 并将它们贡献给所有 Metasploit 用户.
??Metasploit 的设计初衷是打造成一个攻击工具开发平台, 本书稍后将讲解如何开发攻击工具. 然而在目前情况下, 安全专家以及业余安全爱好者更多地将其当作一种点几下鼠标就可以利用其中附带的攻击工具进行成功攻击的环境.
特点
?? 这种可以扩展的模型将负载控制, 编码器, 无操作生成器和漏洞整合在一起, 使 Metasploit Framework 成为一种研究高危漏洞的途径. 它集成了各平台上常见的溢出漏洞和流行的 shellcode , 并且不断更新. 最新版本的 MSF 包含了 750 多种流行的操作系统及应用软件的漏洞, 以及 224 个 shellcode . 作为安全工具, 它在安全检测中用着不容忽视的作用, 并为漏洞自动化探测和及时检测系统漏洞提供了有力保障.
??Metasploit 自带上百种漏洞, 还可以在 online exploit building demo(在线漏洞生成演示)上看到如何生成漏洞. 这使自己编写漏洞变得更简单, 它势必将提升非法 shellcode 的水平, 并且扩大网络阴暗面. 与其相似的专业漏洞工具, 如 Core Impact 和 Canvas 已经被许多专业领域用户使用. Metasploit 降低了使用的门槛, 将其推广给大众.
发展简史
??2004 年 8 月, 在拉斯维加斯开了一次世界黑客交流会 --- 黑帽简报(Black Hat Briefings). 在这个会议上, 一款叫 Metasploit 的攻击和渗透工具备受众黑客关注, 出尽了风头.
??Metasploit 是同 HD Moore 和 Spoonm 等 4 名年轻人开发的, 这款免费软件可以帮助黑客攻击和控制计算机, 安全人员也可以利用 Metasploit 来加强系统对此类工具的攻击. Metasploit 的演示吸引了来自 "美国国防部" 和 "国家安全局" 等政府机构的众多安全顾问和个人, 正如 Spoonm 在演讲中所说的, Metasploit 很简单, 只需要求 "找到目标, 单击和控制" 即可.
??2004 年 Metasploit 的发布在安全界引发了强烈的 "地震". 没有一款新工具能够一发布就能挤进此列表的 15 强(也就是说, 2000 年和 2003 年的调查没有这种情况), 更何况此工具在 5 强之列, 超过很多广为流传的诞生了几十年的老牌工具.
??2005 年 6 月, 西雅图效区的微软公司总部园区内的管理情报中心, 如开了一次 "蓝帽" 会议. 几百名微软公司的工程师和众多外界专家及黑客都被邀请进入微软帝国的中心. 在会议中的黑客攻击演示中, 当 Moore 向系统程序员们说明使用 Metasploit 测试系统对抗入侵时的可靠程度时, Metasploit 让微软公司的开发人员再次感到不安. 在程序员们看来, Metasploit 将会使系统安全面临严重的考验.
??Metasploit Framework (MSF) 在 2003 年以开放源码方式发布, 是可以自由获取的开发框架. 它是一个强大的开源平台, 供开发, 测试和使用恶意代码, 这个环境为渗透测试, shellcode 编写和漏洞研究提供了一个可靠平台.
??Metasploit 框架直到 2006 年发布的 2.7 版本都用 Perl 脚本语言编写, 由于 Perl 的一些缺陷, 开发者于 2007 年底使用 Ruby 语言重写了该框架. 到 2007 年年底, Spoonm 和马特. 米勒已经离开了项目. 从 2008 年发布的 3.2 版本开始, 该项目采用新的 3 段式 BSD 许可证.
??2009 年 10 月 21 号, 漏洞管理解决公司 Rapid7 收购 Metasploit 项目. Rapid7 承诺成立专职开发团队, 仍然将源代码置于 3 段式 BSD 许可证下.
3.Nessus
简介
??Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件. 总共有超过 75,000 个机构使用 Nessus 作为扫描该机构电脑系统的软件.
??1998 年, Nessus 的创办人 Renaud Deraison 展开了一项名为 "Nessus" 的计划, 其计划目的是希望能为因特网社群提供一个免费, 威力强大, 更新频繁并简易使用的远端系统安全扫描程序. 经过了数年的发展, 包括 CERT 与 SANS 等著名的网络安全相关机构皆认同此工具软件的功能与可用性.
??2002 年时, Renaud 与 Ron Gula, Jack Huffard 创办了一个名为 Tenable Network Security 的机构. 在第三版的 Nessus 发布之时, 该机构收回了 Nessus 的版权与程序源代码 (原本为开放源代码), 并注册成为该机构的网站. 目前此机构位于美国马里兰州的哥伦比亚.
特色
??1. 提供完整的电脑漏洞扫描服务, 并随时更新其漏洞数据库.
??2. 不同于传统的漏洞扫描软件, Nessus 可同时在本机或远端上摇控, 进行系统的漏洞分析扫描.
??3. 其运作效能能随着系统的资源而自行调整. 如果将主机加入更多的资源(例如加快 CPU 速度或增加内存大小), 其效率表现可因为丰富资源而提高.
??4. 可自行定义插件(Plug-in)
??5.NASL(Nessus Attack Scripting Language) 是由 Tenable 所开发出的语言, 用来写入 Nessus 的安全测试选项.
??6. 完整支持 SSL (Secure Socket Layer).
??7. 自从 1998 年开发至今已谕十年, 故为一架构成熟的软件.
?? 采用客户 / 服务器体系结构, 客户端提供了运行在 X Windows 下的图形界面, 接受用户的命令与服务器通信, 传送用户的扫描请求给服务器端, 由服务器启动扫描并将扫描结果呈现给用户; 扫描代码与漏洞数据相互独立, Nessus 针对每一个漏洞有一个对应的插件, 漏洞插件是用 NASL(NESSUS Attack Scripting Language)编写的一小段模拟攻击漏洞的代码, 这种利用漏洞插件的扫描技术极大的方便了漏洞数据的维护, 更新; Nessus 具有扫描任意端口任意服务的能力; 以用户指定的格式 (ASCII 文本, html 等) 产生详细的输出报告, 包括目标的脆弱点, 怎样修补漏洞以防止黑客入侵及危险级别.
4. Snort
简介
?? 在 1998 年, Marty Roesch 先生用 C 语言开发了开放源代码 (Open Source) 的入侵检测系统 Snort. 直至今天, Snort 已发展成为一个多平台 (Multi-Platform), 实时(Real-Time) 流量分析, 网络 IP 数据包 (Pocket) 记录等特性的强大的网络入侵检测 / 防御系统(Network Intrusion Detection/Prevention System), 即 NIDS/NIPS.Snort 符合通用公共许可(GPL--GNU General Pubic License), 在网上可以通过免费下载获得 Snort, 并且只需要几分钟就可以安装并开始使用它. snort 基于 libpcap.
??Snort 有三种工作模式: 嗅探器, 数据包记录器, 网络入侵检测系统. 嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上. 数据包记录器模式把数据包记录到硬盘上. 网络入侵检测模式是最复杂的, 而且是可配置的. 我们可以让 snort 分析网络数据流以匹配用户定义的一些规则, 并根据检测结果采取一定的动作.
原理及工作过程
??Snort 能够对网络上的数据包进行抓包分析, 但区别于其它嗅探器的是, 它能根据所定义的规则进行响应及处理. Snort 通过对获取的数据包, 进行各规则的分析后, 根据规则链, 可采取 Activation(报警并启动另外一个动态规则链),Dynamic(由其它的规则包调用),Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制.
??Snort 有数据包嗅探, 数据包分析, 数据包检测, 响应处理等多种功能, 每个模块实现不同的功能, 各模块都是用插件的方式和 Snort 相结合, 功能扩展方便. 例如, 预处理插件的功能就是在规则匹配误用检测之前运行, 完成 TIP 碎片重组, http 解码, telnet 解码等功能, 处理插件完成检查协议各字段, 关闭连接, 攻击响应等功能, 输出插件将得理后的各种情况以日志或警告的方式输出.
??Snort 通过在网络 TCP/IP 的 5 层结构的数据链路层进行抓取网络数据包, 抓包时需将网卡设置为混杂模式, 根据操作系统的不同采用 libpcap 或 winpcap 函数从网络中捕获数据包; 然后将捕获的数据包送到包解码器进行解码. 网络中的数据包有可能是以太网包, 令牌环包, TCP/IP 包, 802.11 包等格式. 在这一过程包解码器将其解码成 Snort 认识的统一的格式; 之后就将数据包送到预处理器进行处理, 预处理包括能分片的数据包进行重新组装, 处理一些明显的错误等问题. 预处理的过程主要是通过插件来完成, 比如 Http 预处理器完成对 Http 请求解码的规格化, Frag2 事务处理器完成数据包的组装, Stream4 预处理器用来使 Snort 状态化, 端口扫描预处理器能检测端口扫描的能力等; 对数据包进行了解码, 过滤, 预处理后, 进入了 Snort 的最重要一环, 进行规则的建立及根据规则进行检测. 规则检测是 Snort 中最重要的部分, 作用是检测数据包中是否包含有入侵行为. 例如规则 alert tcp any any ->202.12.1.0/24 80(msg:"misc large tcp packet";dsize:>3000;)这条规则的意思是, 当一个流入 202.12.1.0 这个网段的 TCP 包长度超过 3000B 时就发出警报. 规则语法涉及到协议的类型, 内容, 长度, 报头等各种要素. 处理规则文件的时候, 用三维链表来存规则信息以便和后面的数据包进行匹配, 三维链表一旦构建好了, 就通过某种方法查找三维链表并进行匹配和发生响应. 规则检测的处理能力需要根据规则的数量, 运行 Snort 机器的性能, 网络负载等因素决定; 最后一步就是输出模块, 经过检测后的数据包需要以各种形式将结果进行输出, 输出形式可以是输出到 alert 文件, 其它日志文件, 数据库 UNIX 域或 Socket 等.
5. BackTrack
简介
??BackTrack 是一套专业的计算机安全检测的 Linux 操作系统, 简称 BT.BackTrack 不仅仅是用来战争驾驶, 还集成了包括 Metasploit 等 200 多种安全检查工具; 此外众多的 RFID 工具和对 ARM 平台的支持也是一个亮点. BackTrack 经过了多年发展, 渗透测试并接受来自安全社区前所未有的帮助, BackTrack 开始于早期 live Linux 的发行版 Whoppix,IWHAX 以及 auditor,BackTrack 被设计成一体化的旨在安全审计用的 live cd, 现今它是被最广泛采用的渗透测试框架并被世界各地的安全社区所使用. 现在, BackTrack 已被 Kali Linux 所代替, BT 将不再维护.
发展历史
??BackTrack 4 使用了 ubuntu8.10 的系统, 而且只能装 Debian 的软件包.
??BackTrack 5 使用了 ubuntu10.04 的系统.
来源: http://www.bubuko.com/infodetail-2978283.html