渗透测试——信息收集(工具小子养成记22/12/28)

  • 写在最前:本博客内容为博主阅读学习徐焱等老师所编写《web安全攻防:渗透测试实战指南》的笔记,内容大多是博主本人的感悟以及书本原文,如有对内容的侵权行为请联系博主,博主将会在第一时间删除博客内容。
  • 若要超越工具小子,必先了解工具小子,成为工具小子,才可破而后立。

信息收集

  • 当我们需要在对目标进行渗透时,前期的准备工作尤为重要,而所谓的准备工作即为对于目标的信息收集。当我们越是了解测试目标,渗透工作就越是得心应手。
  • 虽然目标网站的相关信息我们掌握的越多越好,但是在这么多的信息中我们应当注重哪些信息呢
    首当其冲的即为域名信息

1. 收集域名信息

  • 收集域名信息的过程较为简单,我们可以直接使用Whois进行查询对应域名的所有人、域名注册商、注册人的姓名以及邮箱等信息。而对于大多数的中小站点,其域名所有人往往就是管理员。
    下图为博主在Ubuntu下的whois查询
    对百度的域名查询
    当然,现在已经有了很多在线的whois查询网站,例如爱站网(https://whois.aizhan.com/)等等,可以很方便的查询域名的相关信息。
  • 除了whois之外,我国还有官方的网站备案查询网,根据国家法律规定,国内任何网站的所有者都必须向有关国家有关部门备案。
    常用的网站有以下两个:
    ICP:http://www.beianbeian.com
    天眼查:http://tianyancha.com

2. 收集敏感信息

  • 此部分大多是使用google的特殊语法对搜索结果进行有目的的筛选,但由于一些政策原因在对自己的网络不做任何操作的情况下是不能访问Google的。当然,既然是学习信息安全,相信各位同学都有自己独特的方式绕过墙(笑,下面为博主使用语法搜索的实例。
    在这里插入图片描述
    当然我们还可以通过Google获得其他更多信息,例如数据库文件、SQL注入、配置信息等等敏感信息。
  • 其他搜索引擎(甚至包括GitHub)上也可以使用相同的方式进行关键字搜索,但相对的内容也会有不同程度的侧重。
  • 除了搜索引擎之外,我们也可以使用Burp Suite等渗透工具对服务器的信息进行抓取。

3. 收集子域名信息

  • 所谓子域名也就是二级域名,直接攻击主域是不太理智的,因此可以通过农村包围城市的方式,从子域进行渗透。
  • 首先,我们介绍一些常用的子域名检测工具:Layer子域名挖掘机,Sublist3r,subDomainBrute等。
    使用Layer子域名挖掘机对域名进行扫描,通过枚举的方式对子域名进行挖掘,总体速度偏慢,但内容相对详细,包括了域名,解析IP,CDN列表,Web服务器和网站状态,下图为博主使用Layer对某科研管理系统的操作结果。
    在这里插入图片描述
    • 相对与layer,subDomainsBrute的优点是可以递归的探测多级域名;而Sublist3r可以列举出Google、雅虎、必应、百度等等搜索引擎以及各种DNS服务器中可以搜索到的子域名。
  • 其次,我们也可以通过搜索引擎中支持的语法搜索子域名(其实在上面已经提及过了),使用site:xxxx.com就可以获得可搜索出的子域名。
  • 既然搜索引擎可以用作子域名的检索,那么DNS服务器也可以做到相同甚至更多的事情,因为有些潜藏的子域名是在一般的搜索引擎看不到的,常用的DNS搜索工具有DNSdumpster(http://dnsdumpster.com)等。
  • 最后,一个正规的网站一定拥有证书,由于证书中的某些信息是透明的,所以查找某个域名的所属证书最简单的方法就是使用搜索引擎去获得一些公开的CT日志。
    如http://crt.sh,可以查到baidu.com域名下公开的子域名信息(从个人使用情况来看,一般知名度越高的域名,其包含的信息越多,而一些学校的教务系统等域名,能查询到的子域名信息是十分有限的)。

在这里插入图片描述
以及子域名爆破网站(http://phpinfo.me/domain)(博主使用之后觉得此网站和layer以及subDomainsBrute的原理相同,只不过是网页在线版),IP反查绑定域名网站(http://dns.aizhan.com)(使用ip反查域名相关信息)都可以查询子域名的相关信息。

4. 收集常用端口信息

  • 扫描服务器开放的端口以及从端口判断服务器上存在的服务对于我们的渗透工作是十分有帮助的。
  • 常见的端口扫描工具就是Nmap,以及无状态端口扫描工具Masscan、ZMap和御剑高速TCP端口扫描工具,获得开放端口信息之后便可以根据端口所提供的服务决定攻击的方向了。端口号对应的服务以及攻击方向不再赘述,书中描述的很清楚。

5. 指纹识别

  • 这里所谈及的指纹并非生理层面的手指皮肤纹路,而是指在应用程序中所包含的特征码(反作弊程序就会检测文件中的特征码),我们称之为CMS的指纹,当我们检测到相似的特征时,就可以识别出CMS,当我们可以确定相应的CMS或者Web容器时,渗透工作便会有更高的针对性。
    CMS(content management system):直译为内容管理系统,又称为整站系统或者文章系统,是一个相对成熟且功能封装完整的数据管理系统,常见的CMS有Dedecms、Discus、PHPWEB等等。当然作为一个系统便一定存在漏洞,使用不同开发语言的CMS就拥有不同的漏洞,因此在渗透之前确定CMS类型是十分有必要的。
  • 常用的指纹识别工具有Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识别等等;
    常用网站分别有
    • BugScaner(http://whatweb.bugscaner.com/look/)
      云悉指纹(http://www.yunsee.com/finger.html)
      WhatWeb(http://whatweb.net)
  • 下图为博主使用御剑WEB指纹识别的结果(大多数知名网站都无法识别CMS,考虑到安全问题应该是将自己的指纹进行了一定程度的隐藏,博主使用的例子为厦门工学院的后台管理系统,仅作为测试对象)在这里插入图片描述

6. 查找真实IP

  • 在真实的渗透测试过程中,我们所掌握的信息可能只有一个域名,那么通过这个域名来确定目标服务器的真实IP是至关重要的一步。如果目标服务器不存在CDN(既Content Delivery Network,直译为内容分发网络,一种逻辑思想上和cache很相像的技术,将经常访问的资源缓存在节点服务器上,用来提高相应速度),可以直接通过www.ip138.com获取目标的一些IP及域名信息。下面主要讨论当目标服务器存在CDN的情况下如何绕过CDN寻找目标服务器的真实IP。
  • 当一些拥有CDN的渗透目标,我们在ping其域名时,我们获得的IP地址只是距离我们最近CDN的IP地址,并非渗透目标的真实IP地址。因此,我们在查找真实IP之前,要先确认渗透目标是否使用了CDN。而实现此操作的主要方式是ping目标的主域,用此判断其是否使用了CDN。下图为博主使用cmd直接ping百度主域名的结果。
    在这里插入图片描述
    可见,我们真实ping的是一个域名为www.a.shifen.com的CDN。
    那有没有一种可能,这个110.242.68.4的IP是渗透目标真实的IP呢?我们已知在拥有CDN的情况下,返回数据的永远是距离最近的CDN,那我们在全国各地ping主域名,如果返回的IP都是相同的,那我们就可以近似认为此IP是渗透目标的真实IP地址。
    那问题来了,我们如何实现在全国各地对渗透目标主域名的ping操作呢?这个时候就用到了一个在线网站www.17ce.com,这个网站可以实现从全国各地对某个域名的ping操作。
    在这里插入图片描述

通过对比可知,全国各地返回的IP都不尽相同,因此可以得出,此渗透目标一定存在CDN。
我们换一个渗透目标(依旧是我们的老嘉宾,厦门工学院的主站),通过对其CDN检测,发现解析IP均为同一个IP,因此我们可以得出结论,此渗透目标不存在CDN,解析IP即为渗透目标的真实IP。
在这里插入图片描述

  • 在确定了渗透目标存在CDN时,我们如何绕过CDN去获取渗透目标的真实IP呢?以下是一些常规方法。
    • 内源邮箱源:一般的邮件系统都在内部,没有经过CDN的解析,我们可以通过目标网站用户注册或者RSS(Really Simple Syndication,直译为简易信息聚合,单纯看定义很难理解这个东西到底是什么,通俗的讲这个东西可以让你跨平台的关注同一个博主,想要更多更细致的解释可以看这个知乎回答https://zhuanlan.zhihu.com/p/349349861,讲的非常非常好)订阅功能,查看邮件、寻找邮件投中的邮件服务器域名IP,ping这个邮件服务器的域名就可以获得目标的真实IP。
      博主获取了学校的邮件服务器的域名,并对邮件服务器域名进行了ping操作,获得了以下结果,解析IP均相同,且服务器位置与学校所在城市相同,因此这个IP应该是学校邮件服务器的真实IP(大雾)。
      在这里插入图片描述
      博主又顺手对学校主站进行了CDN筛查,发现有两个不同的IP地址。
      在这里插入图片描述
    • 扫描网站测试文件,如phpinfo、test等,从而获得渗透目标的真实IP。
    • 分站域名。很多网站主站的访问量非常大,因此主站一般都是存在CDN的,但是由于分站的访问量较小,是有可能没有CDN的,因此我们可以通过ping二级域名的方式获取分站IP,可能会出现分站和主站的IP在同一个C段下面的情况,从而判断出目标的真实IP段。
    • 国外访问。大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。因此,可以通过国外的一些在线代理网站(书中给的国外代理已经挂了,博主找了两个可用的,分别是https://ping.pe/和https://dns.aizhan.com/)对目标进行访问,可能会得到真实的IP。根据博主的测试,一般大的网站在国外也会有CDN,而小的网站在国内也根本用不到CDN,很难找到在国内设置CDN但在国外不设置CDN的域名,所以此处就不放图了。
    • 查询域名的解析记录。也许渗透目标在很久之前没有使用过CDN,我们可以通过网站NETCRAFT(https://www.netcraft.com/)来观察域名的IP历史记录,也可以大致分析出目标地址的真实IP段。
    • 如果目标网站有自己的APP,也可以通过Fiddler或者Burp Suite抓取App的请求,从中获得真正的IP地址。
    • 绕过CloudFlare CDN查找真实的IP。现在很多网站都使用CloudFlare提供的CDN服务,在确定了目标网站使用CDN后,可以先尝试通过CloudFlareWatch(书中给的链接现在已经变成小黄网了,目前可用的拥有相似功能的脚本在github上可以找到,但博主没有成功运行)对CloudFlare客户网站进行真实的IP查询。
  • 查验获取的IP。如果渗透目标是Web,最简单的方法就是直接访问IP,观察响应界面是否和访问域名返回的一样。

7. 收集敏感目录文件

  • 探测Web目录结构和隐藏的敏感文件有可能获取到网站的后台管理页面、文件上传界面,甚至可能扫描出网站的源代码。
  • 博主使用了书中推荐的DirBuster对我们的老朋友厦门工学院的子域名进行了扫描,扫描结果如图。
    在这里插入图片描述
  • 除了DirBuster之外,WebScan(https://www.webscan.cc/)也可以使用。(博主亲测,没有DirBuster好用(笑))

8. 社会工程学

  • 所谓社会工程学,实质上就是一种钓鱼,来骗,来偷袭傻傻的渗透目标公司员工,可以通过邮件后缀找到渗透目标的邮件服务器,或者直接骗到手渗透目标公司员工的个人信息,通过撞库等方法获取管理员id和密码,伪装身份骗取更多的内部信息。
  • 除此之外,社工库也是一个渗透的利器(但是这个东西是黑色产业,售卖他人信息属于违法行为),在某种特殊情况下也许用得到吧 😃。

0. 总结

  • 如果只是单纯的复制粘贴书本内容而不去回顾总结融会贯通,那么知识的转化率将会是十分低下的。下面是博主对于第一章内容的片面理解,如有错误和纰漏,欢迎各位批评指正。
  • 本章节主要介绍了在正式的渗透工作开展前我们需要提前进行的准备工作。首先,我们在确定渗透目标时,一般只拥有渗透目标有限的信息,而由于主站的访问量大,且是整个渗透目标的门面,主站被拿下往往意味着颜面扫地,因此主站的防护往往都会较高。不做任何准备直接攻击主站是一个十分不理智的行为,因此我们需要通过各种方式来获取渗透目标的更多信息,从而提高渗透工作的成功率。
  • 书中首先介绍了通过whois和备案信息等方式可以获取网站所有者的个人信息,如果我们掌握了网站所有人的个人信息,不仅方便我们使用撞库等手段获得管理员权限,也可以反查域名拥有者名下的其他域名,也许可以获得更多额外的信息,有利于我们使用社会工程学的方式去骗,去偷袭。
  • 但很不幸我是个究极社交废物,又没有人可以帮助我实现社会工程学的相关操作,那我们是不是就无计可施了呢?当然不是!书中提到了化面为线,化线为点,逐点击破的方法,通过收集子域名、邮件服务器等方式获取渗透目标的真实IP或者IP段,再通过工具对真实IP的端口进行扫描,根据端口提供的服务确定我们可能会用到的渗透方式,再或者我们可以通过CMS指纹识别确定Web使用的CMS类型,针对特定的CMS制定有针对性的渗透方向。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值