黑客大曝光 安 阳 大 学 @ 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
第1部分 收集情报 (1-2) 主要内容: 第1章 踩点 第2章 扫描 1.1 什么是踩点 1.2 因特网踩点 2.1 确定目标系统是否存在 第1部分 收集情报 (1-2) 主要内容: 第1章 踩点 1.1 什么是踩点 1.2 因特网踩点 第2章 扫描 2.1 确定目标系统是否存在 2.2 确定系统上都有哪些服务 2.3 控查操作系统 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
《孙子兵法》里指出:“知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼不知己,每战必败。” 对于黑客们来说,在开始真正肆虐之前,必须完成三个基本步骤。本章讨论第一个步骤——踩点(footprinting),这是收集目标信息的奇技淫巧。举例来说,当盗贼决定抢劫一家银行时,他们不会大摇大摆地走进去直接要钱(至少明智的贼不会)。相反,他们会狠下一番苦功夫收集关于这家银行的相关信息,包括武装押运车的路线和运送时间、摄像头位置和摄像范围、出纳员人数、逃跑出口以及其他任何有助于行事的信息。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.1 什么是踩点 攻击者可以通过对某个组织进行有计划、有步骤的踩点,收集整理出一份关于该组织信息安防现状的完整剖析图。结合使用各种工具和技巧,攻击者完全可以从对某个组织(比如XYZ公司)毫无所知变成知之甚详,他们可以从公开渠道查出该组织具体使用的域名、网络地址块、与因特网直接相联的各有关系统的IP地址以及与信息安防现状有关的其他细节。有很多种技术可以用来进行踩点,但它们的主要目的不外乎发现和收集与以下几种与网络环境相关的信息:因特网、内联网(intranet)、远程访问和外联网(extranet)。下表1.1列出了这些环境以及攻击者要收集和确认的重要信息。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
表1.1 网络环境 需要确认的信息 因特网 域名 网络地址块 可以直接从因特网进行访问的各个系统的具体IP地址 已被发现的各个系统上运行的TCP和UDP服务 系统体系结构(例如SPARC或X86) 访问控制机制和相关的访问控制表(access control list,ACL) 入侵检测系统(intrusion detection system,IDS) 各有关系统的细节信息(用户名和用户组名、系统旗标、路由表、SNMP信息等等) DNS主机名 外联网 连接的源地址和目标地址 连接的类型 访问控制机制 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
续表1.1 网络环境 需要确认的信息 内联网 组网协议(比如说,IP、IPX、DecNET等等) 内部域名 网络地址块 可以直接从内联网进行访问的各个系统的具体IP地址 已被发现的各系统上运行的TCP和UDP服务 已被发现的各系统的体系结构(例如,SPARC还是X86) 访问控制机制和相关的访问控制表(access control list,ACL) 入侵检测系统(intrusion detection system,IDS) 各有关系统的细节信息(用户名和用户组名、系统旗标、路由表、SNMP信息等等) 远程访问 模拟/数字电话号码 远程系统的类型 身份验证机制 VPN和相关的协议(IPSec和PPTP) 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
为什么说踩点是必须的 为了保证能够按部就班地、系统地确认出与上述环境相关的所有信息,进行踩点是完全必要的。如果没有一套完善的方法来进行这类情报收集工作,你们就很可能会与某种技术或组织有关的关键信息失之交臂。在试图确定某个组织的安全防御体系的时候,踩点往往是最辛苦的任务之一,但它同时也是最为重要的任务之一。踩点必须精确地进行,而且必须在受控状态下完成。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2 因特网踩点 从技术上讲,许多踩点技巧在不同的网络环境(因特网和内联网)里都大同小异,但本章将集中讨论如何对某个组织的因特网连接进行踩点。与远程访问有关的踩点技巧将在第8章详细介绍。 因为踩点活动中的每一个步骤都可能导出多条路径,所以很难为这类活动提供一个套路化的指南。然而,本章仍将描述完成一次完整的踩点分析工作所需要的基本步骤。这些技巧中有不少能应用于前面提及的其他环境。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.1 步骤1:确定踩点活动范围 首先要解决的问题是确定踩点活动的范围。换句话说,是打算对目标组织做全面的踩点,还是把自己的踩点活动范围控制在它的某个子公司或某个特定的地理位置?在许多场合,单是把与某个组织有关的的所有实体全都找出来就已经是一项令人生畏的繁杂任务,若再想把它们都保护得面面俱到就更不容易了. 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.2 步骤2:获得必要的授权 从纯粹的技术角度讲,OSI网络模型只有7个层次( 查看详细说明),但在讨论信息安防问题的时候,都认为应该把政治因素和资金因素看做是OSI模型的第8层和第9层。这两个层次对黑客来说无足轻重,但你们却必须特别加以注意。这些层次对信息安防工作有着种种影响,其中又以授权方面的问题最不好解决。你的踩点或其他活动是否得到了授权?你获得的授权都允许你从事哪些具体的活动?授权是否来自有权做出这种授权的人?授权是不是以书面形式下达的?目标IP地址是否正确无误? 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.3 步骤3:可以从公开渠道获得的信息 可以从公开渠道获得的信息 流行度:9简单度:9影响力:2风险率:7 1.2.3 步骤3:可以从公开渠道获得的信息 可以从公开渠道获得的信息 流行度:9简单度:9影响力:2风险率:7 如果把收集情报比作大海捞针的话,那么踩点活动要捞的“针”都有哪些呢? 公司的Web网页 相关组织 地理位置细节 电话号码、联系人名单、电子邮件地址、详细的个人资料 近期重大事件(合并、收购、裁员、快速增长等等) 可以表明现有信息安防机制的隐私/安防策略和技术细节 已归档的信息 心怀不满的员工 搜索引擎、Usenet和个人简历 让人感兴趣的其他信息 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
公司的Web网页 说到踩点,仔细研究目标组织的Web网页通常是一个很好的出发点。在很多时候,目标组织的Web站点会向攻击者提供大量有用的信息。我们曾亲眼见过很多缺乏安防意识的组织就那么毫不掩饰地把它们的网络或系统安防配置细节列在它们的因特网Web服务器上。 此外,HTML源代码里的注释语句也是一个收集情报的好去处。在诸如“<”、“!”和“——”之类的HTML注释标记里往往会隐藏着一些你们在Web浏览器的窗口画面里看不到的秘密。以脱机方式阅读源代码通常要比以在线方式查阅来得更快,所以把整个站点镜像下来进行脱机浏览的好处很多。在你们自己的机器里保留一份目标站点的本地拷贝可以让你们通过各种编程手段去查找你们感兴趣的注释或其他内容,而这将使你们的踩点活动更有效率。至于镜像整个Web站点的工具,UNIX操作系统下的Wget(http://www.gnu.org/software/wget/wget.html)和Windows操作系统下的Teleport Pro(http://www.tenmax.com)都是非常不错的选择。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
地理位置细节 对目的明确的攻击者来说,一个具体的地理地址往往非常有用。有了这个地址,攻击者就可以去“翻垃圾”(从垃圾箱里寻找废弃的敏感文件)、盯梢、进行社交工程或者展开其他非技术性的攻击。利用泄露的地理地址还可能非法侵入对方的办公大楼、有线或无线网络、计算机等。利用因特网上的各种资源,攻击者甚至可以获得目标建筑物的一份相当详尽的卫星图像。就拿笔者最喜欢的http://www.keyhole.com站点来说吧,该站点的拥有者是Google公司的一家子公司,它可以让你把全世界(至少是全世界的各主要都市)尽收眼底,并通过一个设计得非常优秀的客户端软件以令人惊讶的清晰度和细节把某给定地址的周边地理环境展示在你的面前(如图1-1所示)。http://terraserver.microsoft.com站点也是一个查看地理环境的流行资源。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
图1-1 http://www.keyhole.com网站可以把地理环境非常详细和清晰地显示出来 图1-1 http://www.keyhole.com网站可以把地理环境非常详细和清晰地显示出来 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
电话号码、联系人名单、电子邮件地址和详细的个人资料 在得到你的电话号码之后,攻击者就可以通过http://www.phonenumber.com、http://www.411.com或http://www.yellowpages.com之类的网站查出你的地理地址。他们还可以根据你的电话号码为他们的“密集拨号”攻击设定一个攻击范围或是开展“社交工程”攻击以获得更多的信息和/或访问权限。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
已归档的信息 在因特网上有一些专门归档保存过期信息的站点,你们可以从这类站点上轻而易举地检索出很多从其原始来源都无法查到的信息。由于这类站点的存在,很多因为安全原因而被特意删除的信息还是可以被那些知道这一诀窍的人检索出来。这类站点的例子有http://www.archive.org地址处的WayBack Machine网站(如图1-3所示)、http://www.thememoryhole.com和通过Google搜索引擎的cached results(缓存结果)链接查看到的缓存结果(如图1-4所示)。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
图1-3 在http://www.archive.org网站上检索到的http://www.yahoo.com多年前的网页 图1-3 在http://www.archive.org网站上检索到的http://www.yahoo.com多年前的网页 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
图1-4 搜索引擎的特性使得任何人都可以轻而易举地查看到它们曾标引过的缓存内容。图中是通过Google搜索引擎的cached results(缓存结果)链接检索出来的http://www.yahoo.com主页的缓存版本 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
搜索引擎、Usenet和个人简历 现如今的搜索引擎已经发展到了一种不可思议的地步。只需几秒钟的时间,你就可以查到想知道的任何问题的答案。现在,许多流行的搜索引擎都提供了这样或那样的高级搜索功能,这些功能可以帮助你把最细枝末节的信息轻而易举地查找出来。搜索引擎:http://www.google.com、http://search.yahoo.com、http://www.altavista.com和http://www.dogpile.com(它会把你的搜索请求同时发送给多个搜索引擎)。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.4 步骤4:WHOIS和DNS查点 whois 流行度:9简单度:9影响力:5风险率:8 为了确保因特网上的各类系统可以互联互通、防止IP地址发生冲突、确保地理边界和政治因素不会给名字解析带来干扰,因特网的几种基础性功能必须由某个中央机构统一管理起来。这意味着有人在管理着数量十分庞大的信息。如果你们了解这一点是如何做到的,就可以有效地利用好这个信息宝库! 因特网的这些核心功能是由一家名为Internet Corporation for Assigned Names and Numbers(ICANN;http://www.icann.org)的非赢利组织负责管理的。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
ICANN有很多下属分支机构,我们此时最感兴趣的是以下三个: Address Supporting Organization(ASO,地址支持组织) http://www.aso.icann.org Generic Name Supporting Organization(GNSO,基本名称支持组织) http://www.gnso.icann.org Country Code Domain Name Supporting Organization(CNNSO,国家代码域名支持组织) http://www.cnnso.icann.org 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
APNIC(http://www.apnic.net) 亚太地区 ASO负责听取、审查与IP地址分配政策有关的意见并就这些问题向ICANN董事会提出建议。ASO负责把IP地址块统一分配给几个在各自的辖区内负责公共因特网号码资源的管理、分配和注册事务的洲际因特网注册局(Regional Internet Registry,RIR;如下图所示)。这些RIR再把IP地址分配给企事业单位、因特网接入服务提供商(Internet service provider,ISP)或者——根据当地政府(主要是一些共产主义国家和集权统治国家)的有关规定——国家因特网注册局(National Internet Registry,NIR)或地区因特网注册局(Local Internet Registry,LIR): APNIC(http://www.apnic.net) 亚太地区 ARIN(http://www.arin.net) 南美洲、北美洲和非洲下撒哈拉地区 LACNIC(http://www.lacnic.net) 拉丁美洲和加勒比海地区 RIPE(http://www.ripe.net) 欧洲、亚洲部分地区、赤道以北的非洲地区和中东地区 AfriNIC(http://www.afrinic.net;目前仍是“观察员身份”) 南非和北非地区目前分别由ARIN和RIPE负责,但最终将会交给AfriNIC来管辖 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
图 目前共有5个洲际因特网注册局(Regional Internet Registry,RIR),其中有4个是正式机构,另一个则是“观察员”身份 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
GNSO负责听取、审查与通用顶级域域名分配政策有关的各种意见,并就这些问题向ICANN董事会提出建议(如右图所示)。请注意,GNSO不负责具体的域名注册事务,它只负责顶级域(比如.com、.net、.edu、.org和.info等),通用顶级域的完整清单可以在http://www.iana.org/gtld/gtld.htm主页上查到。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
CCNSO负责听取、审查与国家代码顶级域域名分配政策有关的各种意见,并就这些问题向ICANN董事会提出建议。请注意,CCNSO也不负责具体的域名注册事务。国家代码顶级域的完整清单可以在http://www.iana.org/cctld/cctld-whois.htm主页上查到(如右图所示)。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
只要有合适的工具、再加上一些技巧和足够的耐心,就应该可以把这个星球上几乎所有曾经注册过的单位和个人的域注册信息和IP注册信息查询出来! 虽然上述信息的管理工作相当集中化,但实际数据却因为技术和政治方面的原因分别存储在全球各地的许多WHOIS服务器上。使事情变得更加复杂的是,WHOIS查询的语法、允许的查询类型、可供查询的数据和查询结果的格式在不同的服务器间往往有着很大的差异。此外,出于防范垃圾邮件制造者、黑客和资源过载问题的考虑,许多注册服务商都会限制人们进行某些查询;出于国家安全方面的考虑,.mil和.gov域的信息完全不允许普通大众进行查询。 只要有合适的工具、再加上一些技巧和足够的耐心,就应该可以把这个星球上几乎所有曾经注册过的单位和个人的域注册信息和IP注册信息查询出来! 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
域注册信息的查询 域注册信息(比如osborne.com)和IP注册信息(比如IP地址块、BGP自主系统号码、等等)需要分别向两个机构注册,这意味着我们需要沿着两条不同的路径去查找这些细节。先来看一个查找域注册信息的例子,例子中的目标组织是keyhole.com。 首先,我们需要确定想要查找的信息到底存储在哪个WHOIS服务器上。这一查询的基本思路是这样的:先通过某个给定TLD(top-level domain,顶级域)的官方注册局查出目标组织是向哪家注册商进行注册,再从那家注册商那里查出查找的目标组织的域名注册细节。因为官方注册局(Registry)、注册商(Registrar)和注册人(Registrant,也就是目标组织)的英文名称都以字母“R”打头,所以我们把它们统称为WHOIS查询的三个“R”。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
首先,我们需要从http://whois. iana. org站点查出所有. com域的最终注册机构。这个搜索(如下图所示)告诉我们, 首先,我们需要从http://whois.iana.org站点查出所有.com域的最终注册机构。这个搜索(如下图所示)告诉我们,.com域的官方注册机构是Verisign Global Registry Services(http://www.verisign- grs.com) 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
在Verisign Global Registry Services的站点上(见下图),我们用“keyhole 在Verisign Global Registry Services的站点上(见下图),我们用“keyhole.com”作为关键字查出该域名是通过为http://www.markmonitor.com的域名注册商进行的注册。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
如果我们再去那个站点(如下图所示),就可以通过它们的Web界面查询这家注册商的WHOIS服务器查找到keyhole 如果我们再去那个站点(如下图所示),就可以通过它们的Web界面查询这家注册商的WHOIS服务器查找到keyhole.com域名的注册细节信息——大功告成! 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
注册人细节信息可以告诉我们目标组织的地理地址、电话号码、联系人名字、电子邮件地址、DNS服务器名字、IP地址等很多有用的信息。 此外,下面这些网站可以自动完成这种WHOIS查询: http://www.allwhois.com http://www.uwhois.com http://www.internic.net/whois.html 最后,还有其他一些GUI界面的工具可以帮助你们进行这类查询: SamSpade:http://www.samspade.com SuperScan:http://www.foundstone.com NetScan Tools Pro:http://www.nwpsw.com 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
IP注册信息的查询 现在,你们已经知道如何查询域注册信息了,可是IP注册信息又该如何查询呢?我们前面讲过,IP注册事务是由属于ICANN的ASO的几家RIR具体负责的。下面,我们就一起去看看如何查询这些信息吧。 与TLD的情况不同,ICANN(IANA)的WHOIS服务器目前并不是所有RIR的最终注册机构,但每家RIR都知道自己都管辖着哪些个IP地址范围。我们只须从它们当中随便挑选一个作为IP注册信息查询的出发点,它就会告诉我们应该去往哪一个RIR才能找到需要的信息。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
我们不妨假设你希望了解源IP地址是61.0.0.2的记录项,你想知道这个IP地址到底来自哪里。 从ARIN(http://www.arin.net)开始这次追踪,于是把这个IP地址作为关键字输入到了ARIN网站的WHOIS查询提示框里(如下图所示),但它却告诉你说这个IP地址范围的实际管理者是APNIC。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
在APNIC的站点继续进行这次搜索(如下图所示)。在那里,就可发现这个IP地址是由印度的National Internet Backbone公司负责管理的。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
WHOIS查询工具/数据源的下载地址和适用平台 机制 资源 适用平台 Web界面 http://whois.iana.org 安装有Web客户程序的任何一种平台 http://www.arin.net http://www.allwhois.com Whois客户程序 大多数UNIX版本自带的whois查询工具 UNIX Chris Cappuccio(ccappuc@santefe.edu)编写的Fwhois程序 WS_Ping ProPack http://www.ipswitch.com/ Windows 95/NT/2000/XP Sam Spade http://www.samspade.org/ssw Sam Spade工具的Web界面 http://www.samspade.org/ 安装有Web客户端程序的任何一种平台 Netscan工具 http://www.netscantools.com/nstpromain.html Xwhois http://c64.org/<126>nr/xwhois/ 安装有X和GTK+GUI开发工具包的UNIX系统 Jwhois http://www.gnu.org/software/jwhois/jwhois.html 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.5 步骤5:DNS查询 确认了所有关联的域名后,就可以开始查询DNS了。DNS是一个把主机名映射为IP地址或者把IP地址映射为主机名的分布式数据库系统。如果DNS配置得不够安全,就有可能泄露有关组织的敏感信息。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
对一名系统管理员来说,允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。 区域传送 流行度:9简单度:9影响力:3风险率:7 对一名系统管理员来说,允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。 区域传送操作指的是一台后备服务器使用来自主服务器的数据刷新自己的zone数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主域名服务器因意外故障变得不可用时影响到全局。一般来说,DNS区域传送操作只在网络里真的有后备域名DNS服务器时才有必要执行,但许多DNS服务器却被错误地配置成只要有人发出请求,就会向对方提供一个zone数据库的拷贝。如果所提供的信息只是与连到因特网上且具备有效主机名的系统相关,那么这种错误配置不一定是坏事,尽管这使得攻击者发现潜在目标要容易得多。真正的问题发生在一个单位没有使用公用/私用DNS机制来分割外部公用DNS信息和内部私用DNS信息的时候,此时内部主机名和IP地址都暴露给了攻击者。把内部IP地址信息提供给因特网上不受信任的用户,就像是把一个单位的内部网络完整蓝图或导航图奉送给了别人。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
使用大多数UNIX和Windows上通常提供的nslookup客户程序是执行区域传送的一个简单办法。我们可以以交互模式使用nslookup: [bash]$ nslookup Default Server: ns1.example.net Address: 10.10.20.2 > 216.182.1.1 Server: ns1.example.net Name: gate.tellurian.net Address: 216.182.1.1 > set type=any > ls -d Tellurian.net. >\> /tmp/zone_out 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
接下来,我们把记录类型设置为“any”,这允许你取得任何可能的DNS记录(使用man nslookup命令查看),从而构成一个完整的清单。 运行nslookup程序。将回显它当前使用的名字服务器,它通常是本单位的本地DNS服务器或者某ISP提供的DNS服务器。以手动方式告诉nslookup去查询哪一个DNS服务器。具体到上面的例子,我们使用Tellurian Networks的主DNS服务器216.182.1.1。 接下来,我们把记录类型设置为“any”,这允许你取得任何可能的DNS记录(使用man nslookup命令查看),从而构成一个完整的清单。 最后,我们使用“ls”选项列出所有与目标域名有关的记录,其中“-d”开关用于列出该域名的所有记录。我们在域名后面添了一个点号“.”以强调这是一个完全限定域名。另外,我们把输出内容重定向到文件 /tmp/zone_out里去,以便稍后对它操作。 完成区域传送后,查看输出文件,找一找是否存在有助于确认特定系统的让人感兴趣的信息。因为Tellurian Network网站不允许进行区域传送操作,我们这里只能给出一个示例性的输出结果: 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1D IN HINFO "Gateway2000" "WinWKGRPS" 1D IN MX 0 tellurianadmin-smtp [bash]$ more zone_out acct18 1D IN A 192.168.230.3 1D IN HINFO "Gateway2000" "WinWKGRPS" 1D IN MX 0 tellurianadmin-smtp 1D IN RP bsmith.rci bsmith.who 1D IN TXT "Location:Telephone Room" au 1D IN A 192.168.230.4 1D IN HINFO "Aspect" "MS-DOS" 1D IN MX 0 andromeda 1D IN RP jcoy.erebus jcoy.who 1D IN TXT "Location: Library" 在上面的输出清单里,列在右边的每个主机系统名栏都对应一个“A”类型记录,它指出了该系统的IP地址。另外,每台主机都对应一个HINFO记录,标识其平台或所运行的操作系统类型。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.2.6 步骤6:网络侦察 找到可以作为潜在攻击目标的网络之后,攻击者就可以去尝试确定那些网络的网络拓扑结构和可能存在的网络访问路径了。 1.2.6 步骤6:网络侦察 找到可以作为潜在攻击目标的网络之后,攻击者就可以去尝试确定那些网络的网络拓扑结构和可能存在的网络访问路径了。 路由追踪: 流行度:9简单度:9影响力:2风险率:7 为了完成这一任务,我们可以使用大多数UNIX版本和Windows NT都提供的traceroute程序(下载地址:ftp://ftp.ee.lbl.gov/traceroute.tar.gz)。在Windows操作系统里,因为需要与早期的8.3文件命名规则保持兼容,所以这个工具的程序名是“tracert”。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
traceroute是Van Jacobson编写的诊断工具,它允许你查看一个IP数据包从一台主机依次经由一系列主机到达其目的地的传输路径。traceroute工具利用IP数据包里的“存活时间”(time-to-live,TTL)字段让IP数据包途经的每台路由器返回一条ICMP TIME_EXCEEDED(传输超时)消息。IP数据包途经的每一台路由器都会对TTL字段进行减1操作,这使TTL字段就像是一个网际跳跃次数的计数器,而我们也正好可以利用traceroute工具的这一特点把IP数据包的实际传输路径准确地确定下来。正如刚才提到的那样,traceroute工具不仅可以用来发现对我们发出的数据包进行过滤的访问控制设备(比如一个基于应用程序的防火墙或数据包过滤路由器),还可以用来探查目标网络所采用的网络拓扑结构。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
[bash]$ traceroute tellurian.net 例如: [bash]$ traceroute tellurian.net traceroute to tellurian.net (216.182.1.7), 30 hops max, 38 byte packets 1 (205.243.210.33) 4.264 ms 4.245 ms 4.226 ms 2 (66.192.251.0) 9.155 ms 9.181 ms 9.180 ms 3 (168.215.54.90) 9.224 ms 9.183 ms 9.145 ms 4 (144.232.192.33) 9.660 ms 9.771 ms 9.737 ms 5 (144.232.1.217) 12.654 ms 10.145 ms 9.945 ms 6 (144.232.1.173) 10.235 ms 9.968 ms 10.024 ms 7 (144.232.8.97) 133.128 ms 77.520 ms 218.464 ms 8 (144.232.18.78) 65.065 ms 65.189 ms 65.168 ms 9 (144.232.16.252) 64.998 ms 65.021 ms 65.301 ms 10 (144.223.15.130) 82.511 ms 66.022 ms 66.170 11 www.tellurian.net (216.182.1.7) 82.355 ms 81.644 ms 84.238 ms 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
1.3 小结 正如大家看到的那样,攻击者可以采用许多种不同的方法来侦察或踩点你的网络。在这一章里,我们有意识地把讨论范围限制在那些比较常见的工具和技巧方面。请记住,新的工具每天都在出现。另外,我们在讲解踩点概念时只使用了一个简单化的例子。在现实世界里,所面对的往往会是需要发现并踩点几十甚至几百个域的艰巨任务。因此,我们更倾向于组合使用shell脚本、expect脚本或Perl程序,以自动化方式一次完成尽可能多的任务。天外有天,能在不被人察觉的情况下进行网络侦察活动的攻击者大有人在,他们的知识、技能和工具都相当齐全。请记住我们的两点忠告:一是注意隐藏你们在因特网上的面目,把因此而泄漏的信息量和信息类型减少到最小;二是以高度的警惕性监控各种可疑迹象。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
如果说踩点相当于寻找并侦察情报中心的话,扫描就是在逐寸敲打墙壁以期找出所有门窗了。在第1章里,我们通过whois和ARIN查询获得了一份IP网络地址块和IP地址清单。那些技巧向系统安防管理员(以及黑客)提供了很多有价值的信息,包括员工们的姓名和电话号码、IP地址范围、DNS服务器以及邮件服务器等等。在这一章里,我们将利用各种工具和技巧——比如ping扫描、端口扫描以及各种自动发现工具——去确定在目标网络里都有哪些系统正在监听外来的网络通信(或者说是真实存在的),以及都有哪些系统可以从因特网直接进行访问。你们还将看到如何绕过防火墙去扫描对方有意识地使用防火墙规则阻断了普通扫描活动的系统。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.1 确定目标系统是否真实存在 要想查出某个网络的拓扑结构,最基本的步骤之一是对其IP地址范围和网络地址块进行一轮自动化的ping扫描,以确定在这个网络里都存在着哪些设备或系统。传统意义上ping操作是这样的:向目标系统发出一些ICMP ECHO(协议类型8)数据包,如果从目标系统返回了一个ICMP ECHO_REPLY数据包(协议类型0),就说明目标系统是真实存在的。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
网络ping扫描 流行度:10简单度:9影响力:3风险率:7 网络ping扫描是向目标系统发出特定类型的数据包并分析目标系统返回的响应结果(或没有任何返回结果)的行为。典型的ping扫描都需要用到ICMP协议(Internet Control Message Protocol,因特网控制消息协议)。虽然ICMP数据包不是惟一可以完成这种功能的数据包,但各种扫描工具对ICMP协议的支持却是最广泛的。当然,你也可以使用TCP或UDP来完成同样的功能——寻找目标网络里正在运行着的主机。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
Foundstone公司的SuperScan工具是速度最快、灵活性最高的ping扫描工具之一,并且是完全免费的 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
针对ping扫描活动的防范措施 监测:有许多种商业化的网络和桌面防火墙工具(Cisco、Check Point、Microsoft、McAfee、Symantec和ISS等公司都能提供)可以监测到ICMP、TCP和UDP ping扫描活动。Genius工具就是一种基于Windows主机很不错的共享/自由软件类产品。Genius工具的最新版本是3.1,可以从http://www.indiesoft.com网站下载。 防御:监测ping扫描活动固然重要,但提前安排好防御措施的效果无疑更佳。对允许哪些类型的ICMP通信进入网络或特定系统做出细致的评估。最简单的办法是只允许ICMP ECHO_REPLY、HOST_UNREACHABLE和TIME_EXCEEDED数据包进入DMZ网络并只允许它们到达特定的主机。此外,若是可以通过访问控制表(access control list,ACL)把外来ICMP通信限制在只能到达某些属于你们ISP(因特网接入服务提供商)的IP地址。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
ICMP查询 流行度:2简单度:9影响力:5风险率:5 只须简单地向某个系统发送一个ICMP数据包,你们就可以收集到种种与该系统有关的高价值情报。比如说,如果用UNIX工具icmpquery(http://packetstormsecurity.org /UNIX/scanners/icmpquery.c)向某个系统发出一条ICMP TIMESTAMP(时间戳,ICMP消息类型13)消息,就可以获知系统时间和它所在的地理时区。 针对ICMP查询的防范措施:最好的防范措施之一是在网络边界路由器上阻断有可能泄漏敏感信息的各种ICMP数据包,至少应该限制TIMESTAMP(ICMP消息类型13)和ADDRESS MASK(ICMP消息类型17)这两种数据包进入你们的网络。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.2 确定哪些服务正在运行或监听 通过ICMP或TCP ping扫描发现了目标网络里真实存在的系统,还有选择地收集了一些ICMP情报。完成这些准备工作之后,我们就开始对目标网络里的活跃系统逐个进行端口扫描了。 端口扫描 流行度:10简单度:9影响力:9风险率:9 “端口扫描”是主动连接到目标系统的TCP和UDP端口以确定在目标系统上都有哪些服务正在运行或处于LISTENING(监听)状态的过程。确定有哪些端口正处于监听状态是一个非常重要的攻击步骤,攻击者不仅可以了解到远程系统上都运行着哪些服务,还可以准确地探测出目标系统所使用的操作系统和应用程序的类型和版本。处于监听状态的活跃服务就像是你家的大门和窗户——它们都是外人进入你私人领地的通道。根据其具体类型(是“窗户”还是“大门”),这些通道有的会让非授权用户侵入各种配置不当的系统,有的则会放任非授权用户运行某种有安防缺陷的软件版本。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.2.1 扫描类型 TCP连接扫描 这种扫描将连接目标端口并完成一次完整的三次握手过程(SYN、SYN/ACK和ACK),就像TCP RFC(Request for Comment)描述的那样。这种扫描很容易被目标系统觉察。下图是TCP三次握手的流程图。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
TCP SYN扫描 这种扫描也叫做“半开扫描”(half-open scanning),因为双方并没有建立起一条完整的TCP连接,而是扫描者先向被目标端口发出一个SYN数据包。如果从目标端口返回一个SYN/ACK数据包,我们就可以断定该端口处于监听状态;如果返回一个RST/ACK数据包,它通常表明目标端口不在监听状态。接下来,扫描者将送出一个RST/ACK数据包,这使得通信双方永远不会建立起一条完整的连接。这种技术的优点是比一条完整的TCP连接更隐秘,而且目标系统一般也不会把这类事件记入日志。而它的主要缺点是打开的半开连接数量过多时,会在目标系统上形成一种“拒绝服务”条件而引起对方的警觉。但如果你没有使用大量的这类连接去扫描同一个系统,这种技术还是很安全的。 TCP FIN扫描 这种扫描向目标端口发出一个FIN数据包。根据RFC 793号文档(http://www.ietf.org /rfc/rfc0793.txt)中的规定,如果目标端口是关闭的,目标系统应该返回一个RST数据包。这种扫描通常只对UNIX系统的TCP/IP栈有效。 TCP圣诞树扫描 这种技术向目标端口发送一个FIN、URG和PUSH数据包。根据RFC 793号文档的有关规定,如果目标端口是关闭的,目标系统应该返回一个RST数据包。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
TCP空扫描 这种技术是关掉所有的标志。根据RFC 793号文档的有关规定,如果目标端口是关闭的,目标系统应该返回一个RST数据包。 TCP ACK扫描 这种技术用来试测防火墙的规则集。它可以帮助扫描者判断对方的防火墙是一个简单的、只允许已建立连接(即ACK标志位被置位的连接)通过的数据包过滤器;还是一个高级的、具备数据包过滤功能的有状态(stateful)防火墙。 TCP窗口扫描 这种技术可以试测出特定类型的目标系统(比如AIX和FreeBSD系统)上的目标端口是开放的、被过滤的、还是不被过滤的——这几种情况会导致目标系统向扫描者返回不同的TCP窗口(TCP windows)长度值。 TCP RPC扫描 这种技术仅适用于UNIX系统,其主要用途是发现并确认目标系统上的RPC(远程过程调用)端口以及与RPC端口相关联的应用程序和版本号。 UDP扫描 这种技术将向目标端口发出一个UDP数据包。如果从目标端口返回的是一条“ICMP port unreachable”(无法到达指定ICMP端口)出错消息,就表明该端口是关闭的。反之,就可以断定那个端口是开放的。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.2.2 确定运行的TCP和UDP服务 好的端口扫描工具是踩点阶段的一个决定性组件。尽管UNIX和Windows环境都有许多种端口扫描程序可供选用,我们还是要把讨论的范围限定在几种广为流行且久经考验的端口扫描工具上。 netcat 由Hobbit(hobbit@avian.org)编写的netcat(简称nc)程序是另一个最优秀的软件工具。这个工具能够完成的任务非常之多,所以业内人士都称之为信息安防人员的“瑞士军刀”。除了你们将在本书陆续看到的其他高级功能,nc程序还提供了基本的TCP和UDP端口扫描能力。nc程序的选项:“-v”生成详尽的输出报告;“-vv”生成非常详尽的输出报告;“-z”,零模式I/O(zero mode I/O),也就是进行端口扫描;“-w2”,设定各条连接的倒计数超时值。默认nc程序将使用TCP端口。如果你们想进行UDP扫描,就必须像下面第二个示例那样给出一个“-u”选项: 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
[root] nc -v -z -w2 192.168.1.1 1-140 [192.168.1.1] 139 (?) open [192.168.1.1] 110 (pop-3) open [192.168.1.1] 106 (?) open [192.168.1.1] 81 (?) open [192.168.1.1] 80 (http) open [192.168.1.1] 79 (fi nger) open [192.168.1.1] 53 (domain) open [192.168.1.1] 42 (?) open [192.168.1.1] 25 (smtp) open [192.168.1.1] 21 (ftp) open [root] nc -u -v -z -w2 192.168.1.1 1-140 [192.168.1.1] 135 (ntportmap) open [192.168.1.1] 123 (ntp) open [192.168.1.1] 42 (name) open 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.2.3 基于Windows端口扫描工具 SuperScan 在经过多年的完善之后,由Foundstone公司开发的SuperScan(http://www.foundstone.com)已经是速度最快、可靠性最高、适用面最广的Windows端口扫描工具之一,并正在成为众多安防评估项目使用的标准化工具。与几乎所有其他的端口扫描工具不同,SuperScan工具既是一个TCP扫描器,也是一个UDP扫描器,而且价格优势明显——它是免费的!这个工具可以用来进行ping扫描、TCP和UDP端口扫描,还可以组合多种技术同时进行这些扫描。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
SuperScan提供了许多种主机发现技巧供用户选择 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.2.4 端口扫描工具汇总表 * 注意:在Windows系统上使用netcat工具进行UDP扫描无法正常工作,不要相信它的扫描结果。 2.2.4 端口扫描工具汇总表 扫描器 TCP UDP 隐藏自己 资源 UNIX strobe X ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/strobe-1.06.tgz tcp_scan http://wwdsilx.wwdsi.com/saint udp_scan nmap http://www.inscure.org/nmap netcat http://packetstorm.securify.com/UNIX/utilities/nc110.tgz Windows X* http://www.atstake.com/research/tools/nc11nt.zip SuperScan http://members.home.com/rkeir/software.html WinScan http://www.prosolve.com ipEye http://ntsecurity.nu WUPS ScanLine http://www.foundstone.com * 注意:在Windows系统上使用netcat工具进行UDP扫描无法正常工作,不要相信它的扫描结果。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
端口扫描防范措施 监测:监测端口扫描活动的基本方法是使用诸如Snort之类基于网络的IDS程序。Snort(www.snort.org)是一个非常棒的IDS自由软件。从Windows的角度看,由Independent Software公司编写的Genius 2.0软件可以用来监测简单的端口扫描活动(可以从http://www.indiesoft.com网站下载到Genius 3.2.2),这个工具适用于Windows 95/98和Windows NT/2000/2003。 预防:在UNIX环境下,你们可以通过先在/etc/inetd.conf文件里注释掉不必要的服务、然后修改系统启动脚本来做到这一点。对于Windows系统,你们同样应该禁用所有不必要的服务。通过Control Panel | Services(控制面板 | 服务)菜单禁用某些服务。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.3 探查操作系统 本章的第一个目标是通过端口扫描去确定目标系统上的TCP和UDP监听端口。有了这些信息,我们就能进一步分析出那些监听端口是否存在着安防漏洞了。此外,我们还需要多收集一些关于目标系统的情报。我们现在的目标是确定被扫描系统的操作系统类型。 主动地探查目标系统的操作系统 流行度:10简单度:8影响力:4风险率:7 有许多种技术可以用来完成这项任务。我们可以使用第3章介绍的旗标抓取技术,这项技术可以利用FTP、telnet、SMTP、HTTP、POP和其他一些服务收集到很多有用的信息,这是探查操作系统和有关服务的具体名称和版本号最简单的办法。还有一种准确度更高的操作系统探查技术——协议栈指纹分析技术。现在,我们已经有了一些非常好的工具可以帮助我们完成这一任务。我们可以免费获得和使用的两个最精确的工具是无所不能的nmap和queso,它们都提供了堆栈指纹分析能力。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.3.1 主动式协议栈指纹分析技术 协议栈指纹分析技术是一项功能非常强大的技术,它可以帮助你以极高的准确度快速查明每一台主机的操作系统。从原理上讲,不同厂家的IP协议栈实现之间存在着许多细微的差别,各厂家在编写协议栈时,往往会对特定的RFC文档规定做出不同的解释。因此,通过探查这些差异,我们就能对目标系统所使用的操作系统做出有依据的判断。 可以帮助我们区分各种操作系统的技术: FIN探查 这种技术将向某个打开的端口发出一个FIN数据包。根据RFC 793号文档中的有关规定,目标系统的正常行为应该是不做出任何响应。但协议栈的许多种实现(比如Windows NT/2000/2003)会返回一个FIN/ACK数据包作为响应。 无效标志探查 在SYN数据包的TCP表头置位一个准确定义的TCP标志。某些操作系统(例如Linux)会在它们的响应数据包里也置位这个标志。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
ISN(Initial Sequence Number,初始序列号)采样 TCP协议在响应一个连接请求时,返回的初始序列号往往呈现出不同的模式。 DF标志位监控 某些操作系统会置位DF位(Don't fragment bit,不允许对TCP/IP数据包做进一步拆分)以改善性能。通过监控DF位,我们就能判定出在目标系统上运行的是不是具有上述行为特点的操作系统。 TCP初始数据窗长度 这种技术通过分析从目标系统返回的数据包的初始窗口大小来推测操作系统。对TCP/IP协议栈的某些实现来说,这个长度值是独一无二的,因而可以极大地提高指纹分析的准确度。 ACK值 不同的IP协议栈在往ACK字段里填写序列号时会采用不同的做法,有的实现将原封不动地送回你发去的序列号,有的实现则会先给你发去的序列号加上1、再送回来。 ICMP出错消息抑制 有些操作系统会遵循RFC 1812号文档(http://www.ietf.org/rfc /rfc1812.txt)中的有关规定,对送出ICMP出错消息的频率做出限制。这种探查技术随机向目标系统的某些高编号端口发出一些UDP数据包,然后对在给定时间内返回的目的地无法到达出错消息的数量进行统计。这还可以帮助我们发现目标UDP端口是否处于打开状态。 ICMP消息内容 不同的操作系统在ICMP返回消息里给出的文字内容是不一样的。通过查看返回的ICMP消息,我们可以对目标操作系统做出比较准确的猜测。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
ICMP出错消息——请求/响应是否匹配 协议栈的某些实现在返回ICMP出错消息时会改变请求数据包的IP表头。通过查看IP表头都发生了哪些变化,我们就可以对目标操作系统做出比较准确的猜测。 TOS(Type of Service,服务类型)字段 这种探查技术通过查看“ICMP port unreachable”(无法到达指定ICMP端口)消息的TOS字段来判断目标操作系统。协议栈的大多数实现都会把它设置为0,但也可以把它设置为其他数值。 数据包拆分处理 正如Thomas Ptacek和Tim Newsham在他们划时代的论文Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection(插入、规避和拒绝服务:躲避网络入侵检测)里指出的那样(详见http://www.clark.net/<126>roesch /idspaper.html),协议栈的不同实现在处理数据包拆分片段时会采取不同的做法。在重新拼凑数据包片段的时候,协议栈会用后收到的新数据覆写先收到的老数据(或者刚好反过来)。通过观察目标系统如何拼凑探查数据包,我们就可以对目标操作系统做出比较准确的猜测。 TCP选项 RFC 793号文档和后来的RFC 1323号文档(http://www.ietf.org/rfc /rfc1323.txt)对TCP选项做出了定义。RFC 1323号文档增加了一些高级TCP选项,协议栈的各种最新实现几乎都增加了对它们的支持。通过发送设置了多个选项——比如“无操作”选项、“最大分段长度”选项、“数据窗缩放比例”选项和“时间戳”选项——的TCP数据包并分析其返回结果,我们就可以对目标操作系统做出比较准确的猜测。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
Starting nmap V. 3.70 by fyodor@insecure.org nmap工具的“-O”选项可以同时使用以上技术(“数据包拆分处理”和“ICMP出错消息队列”除外)进行探查。下面是我们对某目标网络进行探查的结果: [root] nmap -O 192.168.1.10 Starting nmap V. 3.70 by fyodor@insecure.org Interesting ports on shadow (192.168.1.10): Port State Protocol Service 7 open tcp echo 9 open tcp discard 21 open tcp ftp 513 open tcp login 514 open tcp shell 2049 open tcp nfs 4045 open tcp lockd TCP Sequence Prediction: Class=random positive increments Diffi culty=26590 (Worthy challenge) Remote operating system guess: Solaris 2.5, 2.51 通过nmap工具的协议栈指纹分析选项“-O”,我们可以对目标操作系统做出简明准确的判断。即使目标系统没有端口处于打开状态,nmap工具也可以对它的操作系统做出相当准确的猜测 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
针对操作系统探查活动的防范措施: 监测:我们前面介绍过的很多种端口扫描监测工具都可以用来监测操作系统探查活动。 防御:我们希望找到一种能挫败操作系统探查活动的简单办法,只可惜这个问题并不那么容易解决。 “不出声就不会被发现”这一古老的格言并不适用于信息安防工作,应该只把健壮的、经过安防硬化处理的代理或防火墙摆在前线。即使攻击者探查出了目标的操作系统,以不可能轻易获得目标系统的访问权限。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
2.3.2 被动式协议栈指纹分析技术 被动地探查目标系统 的操作系统 流行度:5简单度:6影响力:4风险率:5 2.3.2 被动式协议栈指纹分析技术 被动地探查目标系统 的操作系统 流行度:5简单度:6影响力:4风险率:5 主动式协议栈指纹分析技术是向目标系统发出一些数据包去探查它们网络协议栈的独有特点,然后根据这些特点去推测它们的操作系统。因为我们向目标系统发出了一些数据包,所以对方的网络IDS系统可以相对比较容易地觉察到我们的操作系统探查活动。换句话说,这类探查技术并不是最隐蔽的。 被动式协议栈指纹分析技术与主动式TCP/IP协议栈指纹分析技术在概念上很相似,但被动式探查技术不向目标系统发送数据包,攻击者将通过被动地监控网络通信的办法去推测目标系统的操作系统。所以,通过监控不同系统之间的网络通信,我们同样可以查明网络上的操作系统。被动式探查技术的成功取决于攻击者必须位于网络的通信枢纽,以及必须有一个可以用来捕获数据包的端口(比如一个镜像端口)。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
被动式特征 网络通信的种种特征可以用来识别不同的操作系统。几个与TCP/IP会话有关的属性:TTL 操作系统给外出数据包设置的TTL(Time-To-Live,生存时间)值是多大?Windows size(数据窗长度) 操作系统设置的数据窗长度是多大?DF位 操作系统是否设置了“Don't Fragment”(不允许对TCP/IP数据包做进一步拆分)位? 通过被动地分析每一种属性并将分析结果与某个已知的属性数据库比较,我们就能比较准确地推测出远程操作系统。虽然这个办法不能保证每次都能找到正确的答案,但把这些属性组合起来加以分析的结果还是相当可靠的。这种技术正是siphon工具所使用的。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
先执行telnet命令,然后使用siphon工具以被动方式去查明后者的操作系统: 例子: 先执行telnet命令,然后使用siphon工具以被动方式去查明后者的操作系统: [shadow] # telnet 192.168.1.11 使用嗅探工具Snort,我们可以查看到telnet连接的部分数据包踪迹。 06/04-11:23:48.297976 192.168.1.11:23 -> 192.168.1.10:2295 TCP TTL:255 TOS:0x0 ID:58934 DF **S***A* Seq: 0xD3B709A4 Ack: 0xBE09B2B7 Win: 0x2798 TCP Options => NOP NOP TS: 9688775 9682347 NOP WS: 0 MSS: 1460 查看我们的三个TCP/IP属性,可以发现以下事实: TTL = 225 Window Size = Ox2798 Don’t fragment(DF)位 = Yes 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
再去查查siphon指纹数据库文件osprints.conf: [shadow]# grep -i solaris osprints.conf # Window:TTL:DF:Operating System DF = 1 for ON, 0 for OFF. 2328:255:1:Solaris 2.6 - 2.7 2238:255:1:Solaris 2.6 - 2.7 2400:255:1:Solaris 2.6 - 2.7 2798:255:1:Solaris 2.6 - 2.7 FE88:255:1:Solaris 2.6 - 2.7 87C0:255:1:Solaris 2.6 - 2.7 FAF0:255:0:Solaris 2.6 - 2.7 FFFF:255:1:Solaris 2.6 - 2.7 可以看到,第四条记录与snort的跟踪结果完全吻合:数据窗长度是2798,TTL是255,DF位是置位状态(等于1)。就可以用siphon准确地猜测出目标操作系统来了。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
自动化侦察工具 流行度:10简单度:9影响力:9风险率:9 自动化侦察工具 流行度:10简单度:9影响力:9风险率:9 可以帮助攻击者发现潜在目标的工具已有不少,而且还在不断涌现。我们无法把每一种工具都列举出来,但我们还想再向大家介绍一种工具。 cheops(http://www.marko.net/cheops)是一个几乎无所不能的图形化网络侦察工具,如下图所示。这个工具把ping、traceroute、端口扫描和操作系统探查(通过queso工具)等功能集成到了同一个软件包里。cheops工具向人们提供了一个以图像方式查看目标系统和目标网络的简单界面,让我们可以直观地看到目标网站的拓扑结构。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
cheops工具把许多网络侦察工具集成在了同一个图形化界面里 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
小结 在这一章里,我们讨论了很多种可以进行ping扫描、TCP、UDP和ICMP端口扫描以及操作系统探查活动的工具和技巧。ping扫描工具可以帮你发现目标网络里的活跃系统和确定值得继续侦察的潜在目标。TCP/UDP扫描工具和技巧可以帮你发现目标系统上处于监听状态的服务,还可以帮你收集到各目标系统的很多情报。操作系统探查工具可以让攻击者准确地推测出目标系统的特定操作系统。在后面的章节里,你们将看到利用这些工具收集到的信息对发动一次集中火力的攻击有多么的重要。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
下周课程安排: 第1部分 收集情报 第2部分 系统攻击 第3章 查点 第4章 攻击windows系统 第1部分 收集情报 第3章 查点 第2部分 系统攻击 第4章 攻击windows系统 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
资料: OSI网络模型(1) OSI网络模型有七层,它的主要作用是给网络通信提供一个基础。我们可以把这个模型看做是一栋七层大楼,这栋大楼的每一层都承担着不同的工作。 第一层是物理层,是一个办公地点。在这里工作的人们将本楼各层的信息编码为0和1的电子信号,与其他大楼第一层的工作人员进行通信,以连接成一个物理的网络。什么集线器、发送器、接收器、电缆、连接器和中继器等,都是这一层的设备。 第二层的工作人员干两件事。一是接收第三层传来的数据,然后交给第一层进行编码和信号传输;二是接收其他大楼物理层传来的比特流,将他们封装为数据包,交给网络层(第三层楼)。二层楼的名称是数据链路层,智能集线器、网桥和网卡驻扎在这里,当然,网卡也完成一些物理层的编码工作。 第三层是网络层,在这里工作的人就像一个邮差,把一个个传输层交来的数据段分包递送到需要去的地方,实现路由。如果这些包裹太大,邮差们还会将其拆分成一个个小包,以便于传输。路由器、网桥路由器都工作在网络层,也有一些网关会在这里操作,因此,该层还会处理一些翻译工作。 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范
资料: OSI网络模型(2) 第四层楼挂了个传输层的牌子。该层对第五层送来的大量消息进行分段,并写明送达地址,然后交给网络层的邮差来递送。TCP和UDP协议工作在这一层。 第五层叫做会话层。顾名思义,它的作用就是跟其他大楼的第五层进行会话,以协商数据交流的规则和机制,便于下面各层的传输。此层代表性的协议有NetBIOS。 第六层是表示层。这一层的人要做的事情是,如何把应用层的数据和信息进行转换,以保证传出去的信息能够被另一栋大楼的人理解。ASCⅡ,ASN.1,JPEG,MPEG等都是表示层的协议。通过这些协议,当一台苹果机与PC机进行通信时,苹果机会感觉到自己是在跟另一台苹果机交互。 大楼的顶端是应用层部门所在地。其他人(这里指的是操作系统或系统中的应用程序)想访问网络时,需要把他们的需求交给应用层的工作人员,然后,应用层的工作人员再为他们请求相应的网络服务。Telnet、FTP、HTTP、SNMP等都是应用层的协议。 返回 2018年9月20日星期四1时44分35秒2018年9月20日星期四1时44分35秒 黑客攻击与防范