怎么做夜场网站,网站建设模板漏洞,怎样提高网站的打开速度,清河网站制作本节书摘来自异步社区《黑客秘笈——渗透测试实用指南》一书中的第2章2.3节 外部或内部的主动式信息收集#xff0c;作者【美】Peter Kim#xff08;彼得 基姆#xff09;,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.3 外部或内部的主动式信息收集黑客秘笈——… 本节书摘来自异步社区《黑客秘笈——渗透测试实用指南》一书中的第2章2.3节 外部或内部的主动式信息收集作者【美】Peter Kim彼得 基姆,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.3 外部或内部的主动式信息收集黑客秘笈——渗透测试实用指南主动式信息收集就是通过主动扫描确认目标安装的操作系统和网络服务并发现潜在漏洞的过程。即主动式信息收集必定对指定的网络段进行扫描。无论是在网络的内部还是外部进行扫描主动式信息收集都要采用得当的扫描工具。 本书不会详细介绍扫描器的运行方法毕竟大多数读者已经非常熟悉扫描工具了。如果您尚未掌握扫描工具的使用方法我推荐您用社区版的Nexpose或者用试用版的Nessus进行练习。在家里或者实验室里进行网络扫描了解这些工具获取可发现哪些类型的信息使用认证信息进行扫描的方法以及网络上所产生的流量类型。这些扫描程序会频繁地触发IDS/IPS告警。在熟悉常见的扫描工具之后我们可开始更深入地了解这种方式的信息收集。 2.3.1 网络扫描的流程本节讲述进行高效扫描的方法它涉及扫描的工具、流程和相关技术。我的扫描流程大体分为以下几个步骤。 用Nexpose/Nessus扫描。用Nmap扫描。用自定义的Nmap扫描。用PeepingTom抓取屏幕。1用Nexpose/Nessus进行网络漏洞扫描这两款工具可谓大名鼎鼎它们都是速度最快、效果最佳的扫描工具。通常我会对它们进行详细的调整然后使用一款工具进行详细的安全检查。如果时间紧迫我会首先使用以前的配置文件进行扫描仅检测已知的安全漏洞然后使用默认的预设配置进行第二次扫描。虽然第一次扫描的速度很快但是往往只会得到一些重要的发现。 先来大致说一下漏洞扫描器。在第1章我推荐您购买Nexpose或者Nessus 扫描程序。至于哪一个扫描器的品质更佳就是见仁见智的问题了。我确实用过绝大部分的商业扫描程序但是这些程序里没有一款可称得上是完美的或者是极致的解决方案。若将这些工具进行比较总会发现它们功能都不完备总是或多或少地缺少点什么。所以我们最好采用多个工具进行漏洞扫描。当然预算往往不会允许我们什么都买。 如果只能从中选一那我推荐Tenable的Nessus漏洞扫描器。从它能扫描的IP地址数量以及费用1500美元来进行综合评定还是Nessus比较划算。而Nexpose的咨询许可证价格是Nessus的两倍所能扫描的IP数量也有限制。不过您最好还是在购买前确认一下价格因为行情可能随时不同。 本文将通过案例说明多个扫描工具的必要性。例如使用专业版的Nexpose对我的网站进行扫描。在扫描时我指定了标准的漏洞扫描配置文件并没有进行深入的Web应用程序检测。Nexpose给出了4个严重的警告详细情况如图2.8所示。 然后我们使用专业版的Tenable Nessus扫描程序进行相同的扫描并指定了相似的配置文件。可见扫描结果大有不同。仅仅对我的网站进行扫描就能存在这么大的区别。可想而知在大规模的扫描中扫描结果也不会更为接近。如图2.9所示Nessus发现了3个中级的警告5个低级别警告。 这两个例子说明这两款程序有很大差别。大致进行比较就会发现Nexpose检测出了Wordpress路径泄露漏洞而Nessus没能发现这一问题。虽然扫描器很有用也是进行网络渗透的必备工具但是您要了解它们的优点和局限性。 Nmap——抓取旗标banner在抓取旗标之前我通常会调整扫描选项使用Nmap程序对常见端口进行操作系统和网络服务的检测扫描。如果时间充裕我还会对所有的65535个端口进行扫描。在Nmap进行常规扫描的同时我还会指定它运行一个抓取旗标的Nmap脚本。后文将会对此进行说明。 进行完整的漏洞扫描会很耗时间。我们可以利用Nmap脚本在端口扫描的同时抓取基本的端口信息。这些信息也有助于我们制定更具针对性的攻击计划。 希望您不仅会用Nmap程序更要了解它的原理。我认为Namp是一款具备模块化特性的快速而高效的扫描工具足以满足常规的扫描需求。推荐您参考Fydor撰写的介绍Nmap的图书http://www.amazon.com/Nmap-Network-Scanning-Official-Discovery/dp/0979958717。本节重点介绍使用Nmap识别操作系统和网络服务的方法所以我最关注的问题是如何扫描所有的65535个端口以及如何检测开放端口并获取旗标信息。 这种方法还可用来发现同一个网络环境发生的具体变化。在客户要求您每月都进行一次例行扫描的时候这种方法正好可以非常快速简单地发现网络情况的具体变化需要一些辅助脚本。 在前文的安装阶段我们安装了HD Moore的banner-plus.nse脚本。这也是它在映射整个网络时所用的脚本 1。它提供了一种可以快速识别开放端口旗标页面信息的方法。运行扫描的命令大致如下 nmap —script /usr/share/nmap/scripts/banner-plus.nse —min-rate400 —min-parallelism512 -p1-65535 -n -Pn -PS -oA/opt /peepingtom/ report 这些选项的含义如下所示。 —script 设置安装阶段下载的banner-plus脚本的位置。 —min-rate 保证扫描会在一定时间内结束。 —min-parallelism 设置并行扫描的数量。 -p1-65535 对所有的端口即65535个端口进行扫描。 -n 禁用DNS解析可以加快扫描速度。 -Pn 禁用ping许多服务器会过滤掉外网的ping请求。 -PS 使用TCP SYNping的方式进行主机探测。 -oA 导出所有类型的报告。 适当调整—min-rates和—min-parallelisms选项可获得最佳的网络性能和稳定性更多的信息可参考http://nmap.org/book/man-performance.html。我用这些数据来创建了一个简单的视图可以查看服务、漏洞的版本以及其他一些具体的信息。Nmap可以把扫描以各种不同的文件格储存在/opt/peepingtom/文件夹中。在稍后介绍有关截屏的时候我们再详细介绍它的扫描结果。这一小节将演示这些数据的使用方法。 下一节将展示快速获取旗标数据信息以及在扫描结果中进行快速检索的方法。为了获取最快的检索速度我的后台数据库采用的是MongoDB程序而前端数据检索的功能由PHP实现。此外本例还用到了Python语言的脚本程序用它解析Nmap生成的XML文件继而把有关数据储存到数据库中。之后我编写了前端的PHP查询页面。因为我们扫描的目标是IP很多的16位子网所以首要任务就是提高旗标信息的检索速度。如果时间充裕今后我会将把这个Web应用程序放在公网上。日后您只要上传xml文件就可以看到检索结果了。 我建立了一个满足上述需求的程序并且给它取名为名为internet-scan。它可以快速地检索特定的旗标、端口和IP地址。更棒的是它可以查询漏洞系统的旗标页面。虽然的确有人会伪造旗标信息但是以往的渗透测试经历表明旗标信息还算得上是可靠的判断依据。internet-scan的初始化页面如图2.10所示。 在收集到所有旗标信息之后我们可使用正则表达进行快速检索搜索那些有漏洞可利用的网络服务。我会采取多种方式对旗标信息进行排序。例如在某次对16位子网CIDR表示法的扫描结果中我通过这种方法筛选出了以下这些旗标见图2.11。 旗标里暗含着“这台主机存在可利用的漏洞”或“这台主机已经被攻陷”的信息。喔我们看到了含有scada信息的旗标它代表该主机可能与电信网格系统有关……有没有那些与终端服务有关的旗标呢旗标信息确实可以揭示出哪些网络服务存在缺陷继而可获取该设备的普通非特权shell。我事先写好了一个查询数据库的脚本程序它可以检索特定类型的操作系统、应用程序版本或者其他信息。在评估规模较大的网络时这个脚本可以提高查询效率。例如我使用正则表达检索IIS有关的旗标信息可以得到图2.12所示的结果。 这种方法可以快速地抓取65000多端口的旗标继而利用internet-scan对旗标进行快速解析节省了大量的时间。2用Peeping Tom进行截屏接下来我们再次处理Nmap的扫描结果。在进行了大范围的端口扫描之后渗透测试人员面临的首要问题是如何组织数据。我们要从海量数据中判断攻击哪些目标比较容易得手哪些目标是应该首先攻击的目标。如果目标网络承载着100多个网站那么人工访问的方式绝对不可取。使用鼠标逐一单击访问的方法不仅十分耗时而且可能找不到任何漏洞。多数网站的绝大多数网页都不是渗透的对象我们大体看一眼就可以评判其对于渗透测试的价值。Peeping Tom正是这样一个辅助我们评判网页渗透价值的自动化工具。它可以对指定IP和指定端口的所有HTTP(s)服务进行快照以一种简单易读的方式展现出来。 这意味着使用工具下载了网站的HTML页面之后只需要对页面进行简要的评估就可筛选出较易渗透的网站或者更值得投入精力进行渗透的网站。请注意渗透测试通常就是在跟时间赛跑因为我们没有太多的时间可以浪费。 其他程序的输出数据要经过整理和处理才能传给Peeping Tom使用。Gnmap.pl脚本可以把前面的Nmap结果处理为Peeping Tom所需的IP列表2。此时我们需要使用以下命令 cd /opt/peepingtom/
cat report.gnmap | ./gnmap.pl | grep http | cut -f 1,2 -d , | tr , : http_ips.txt上述命令可筛选出运行着HTTP服务的IP地址并把整理结果保存到http_ips.txt文件中。而后我们可以用Peeping Tom处理这个文件对网站内容进行截屏快照。运行Peeping Tom的命令如下 python ./peepingtom.py -p -i http_ips.txt使用Peeping Tom处理Nmap扫描结果的情况如下所示。请注意Peeping Tom确实可能对部分HTTP服务无能为力。遇到这种情况测试人员只能手动访问那些网站了。 python ./peepingtom.py -h
Usage: peepingtom.py [opt ions]
peepingtom.py - Tim Tomes (LaNMaSteR53) (www.lanmaster53.com)
Options:
—version show programs version number and exit
-h, —help show thi s help message and exit
-v Enable verbose mode.
-i INFILE File input mode. Name of input file. [IP: PORT]
-u URL Single URL input mode. URL as a string.
-q PyQt4 capture mode. PyQt4 python modules required.
-p Phantonjs capture mode. Phantomjs required.
python ./peepingtom.py -p -i http_ips.txt
[*] Storing data in ‘131229_230336/’
[*] http: //192.168.58.20 200. Good.
[*] https: //192.168.58.20 200. Good.
[*] http: //192.168.58.21 403. Good.
[*] https: //192.168.58.21 Connect ion refused. Visit manually from report.
[*] http: //192.168.58.25 No route to host.Visit manually from report.
[*] https: //192.168.58.25 No route to host.Visit manually from report
[*] http: //192.168.58.35 Connect ion refused.Visit manually from report.
[*] http: //192.168.58.48 200. Good.
[*] https: //192.168.58.48 200. Good.待Peeping Tom处理完毕它会在peepingtom的文件夹内新建一个以时间戳命名的文件夹。该文件夹中会有多个图片文件和一个名为report.html的文件。我们使用浏览器打开report.html很容易就能知道哪些页面有渗透价值哪些页面没有渗透价值。它的扫描结果如图2.13所示。 在报告文件里可以看到很多网页的屏幕快照。它以网页形式提供了与服务器、日期、HTTP应答相关的信息。在对100多个Web服务器进行渗透测试的时候Peeping Tom在几分钟内就能完成所有的处理必定会大大地简化您的操作。 那么您到底要重点关注什么呢这恐怕就是见仁见智的问题了并没有对所有人都适用的答案。对我而言我通常会对以下内容感兴趣 Apache Tomcat需要认证的页面JBoss网络设备的默认网页ColdFusion内容管理系统CMSWordPressWikisJoomla版权信息早于2012年的网页测试中或者开发中的网站VoIP页面。关注这些信息的原因是它们通常都会含有漏洞而且这些漏洞可能导致系统被攻陷或者数据被非法访问的问题。Apache、JBoss、ColdFusion程序都有大量的著名漏洞其中部分exploit程序的源代码可谓触手可及。 举例如下。 ColdFusion的案例http://www.exploit-db.com/exploits/25305/。 JBoss的案例http://www.rapid7.com/db/modules/exploit/multi/http/jboss_maindeployer。 Apache的案例http://www.rapid7.com/db/modules/exploit/multi/http/tomcat_mgr_deploy。 我还对那些需要认证的网站格外感兴趣。认证这一现象意味着网站的应用程序会有额外的功能而且其Web应用程序很有可能存在安全问题或者默认的密码。 从这些信息入手您就能快速发现漏洞并且大致了解您所测试的网络。虽说本书不是详细的网络扫描指南但是借助这种方法您可以进行更有效、更快速的网络扫描。 1https://community.rapid7.com/community/infosec/sonar/blog/2013/10/30/project-sonar-one-month-later。2http://pauldotcom.com/wiki/index.php/Episode291。本文仅用于学习和交流目的不代表异步社区观点。非商业转载请注明作译者、出处并保留本文的原始链接。