Skip to content

Dlangman/Dlangman.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

[toc]

这是第一个博客页面

暂未完善博客页面,准备自己建,先放进一个读书笔记。在此推荐一个关于Web安全的书《Web安全攻防(渗透测试实战指南)》。这本书实用性很强,之前也有看过《白帽子讲Webq安全》等书,但是概念性比较强,当我看到渗透指南这本书的时候,有种豁然开朗的感觉。写读书笔记博客的时候,最大的感受是看书容易写书难,当自己真正尝试把自己看的内容转化为文字的时候,才发现有些内容无法确切的表述出来,也说明了自己的功力不够深厚。希望通过博客的形式,和大家一起共同成长。

收集域名信息

Whois查询

Whois是一个标准的互联网协议,用于收集网络信息,注册的域名,IP地址等。在查询中,获得网站注册人的姓名和邮箱是对测试非常有用的。因为我们可以以此获得的信息为线索,通过搜索引擎获得更多的信息。

在线的查询有: 爱站工具网,站长之家等;kali本身自带Whois查询。

备案信息查询

网站备案是根据国家法律法规规定,需要网站的所以者向国家的有关部门申请的备案,以便国家相关部门进行管理,防止在网上从事非法活动的网站经营活动的发生。不过这主要是针对国内,如果搭建网站在国外,则不需要备份。

常见的网站有:

  • ICP备案查询网
  • 天眼查

收集敏感信息

Google是世界上最强的搜索引擎之一,对于每位渗透人员来说,它可能是绝佳的黑客工具。下面列举一些相关语法:

  • Site: 指定域名
  • Inurl: URL中存在关键字的网页
  • Intext: 网页中正文的关键字
  • Filetype: 指定文件类型
  • Intitle:网页中标题中的关键字
  • link: link:baidu.com,即返回所有和baidu.com做了链接的URL
  • Info:查看指定站点的基本信息
  • cache:搜索Google里关于某些内容的缓存

举个例子:

  • 我们尝试搜索学校网站的后台,语法为 Site:edu.cn Intext:后台管理。意思就是搜索域名后缀为 edu.cn 且正文含有“后台管理”大网站

可以看到利用Google搜索,可以用来搜集如数据库文件、SQL注入、配置信息、源代码泄露、未授权访问和robots.txt等敏感信息。

另外,用Burpsuite 中的Repeater功能同样可以获得一些服务器信息,如运行的Server版本,PHP版本等信息。当然,许多浏览器插件也可以实现这功能,如wappalyzer

收集子域名信息

子域名也就是二级域名,是指顶级域名下的域名。假设我们的目标网络规模很大,直接入手主域名显然是不理智的,因为ta肯定在主域名设有重点防护。所以我们可以先从二级域名入手,再慢慢的迂回到主域名中,所以搜索子域名的方法很重要。

  • 子域名检测工具:如 Layer子域名挖掘机,Sublist3r。
  • 搜索引擎:如搜索 site:baidu.com
  • 第三方聚合应用枚举:很多第三方服务汇聚大量DNS数据集,可通过它们来检索某个给定域名的子域名。如 DNSdumpster网站。
  • 证书透明度公开日志枚举:证书授权机构会将每个SSL/TLS证书发布到公共日志上,一个证书通常包含域名、子域名和邮件地址。在线查询网站有:crt.sh、 censys

收集常用端口信息

在渗透测试中,端口信息的收集是很重要的。通过扫描服务器开放的端口以及从该端口判断服务器上存在的服务,就可以对症下药,便于我们渗透目标服务器。最常见的扫描器就是Nmap了。国内的话还有御剑扫描等。

指纹识别

本节所说的指纹是指网站CMS的指纹识别、计算机操作系统及web容器的指纹识别等。

应用程序一般在html、css、js等文件中多多少少都有一些特征码,比如WordPress在robots.txt中会包含wp-admin、首页index.php会包含generator=wordpress 3.xx,这个特征就是这个CMS的指纹,当别的网站也存在这个特征时,就可以快速识别出该CMS,所以叫指纹识别

在渗透测试中,如果我们知道了对方CMS的版本,那么我们就可以在漏洞库查找相应版本的漏洞进行渗透。

常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、Wordpress等。

代表工具有:御剑Web指纹识别、WhatWeb等。

查找真实IP

在渗透过程中,目标服务器可能只有一个域名,那么如何通过域名来寻找到IP地址?如果对方不存在CDN,那么直接通过www.ip138.com获取目标的一些IP及域名信息。

目标服务器存在CDN

CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网速性能低下的问题。说简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态缓存数据资源直接缓存到节点服务器上。当用户再此请求时,便可快速响应。

所以当我们ping对方的时候,得到的不是目标的web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们没法直接得到目标的真实IP段范围。

判断目标是否使用CDN

通常可以ping对方主域,查看域名解析情况。

还可以利用在线网站17CE进行全国多地区的ping操作,如果最终ping的结果一样,则可能不存在CDN,如果IP大多不一样或规律性太强,则可以尝试查询这些IP的归属地,判断是否存在CDN。

绕过CDN寻找真实IP

  • 内部邮箱源:一般的邮箱系统都是在内部的,没有经过CDN解析的,通过目标用户注册或者RSS订阅,查看邮件、寻找邮件头中的服务器域名IP,然后ping它,就能获得真实地址(注:如果对方的邮件服务器是寄托于第三方服务器的话就不能通过这个方法了)。
  • 扫描网站测试文件:如phpinfo、test等,从而找到真实IP
  • 分站域名:很多网站的主站访问量比较大,所以都会挂CDN,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP,可能会出现分站和主站不是同一个IP但是在同一个C段下面的情况,从而判断出目标的真实IP
  • 国外访问:国内的CDN一般只对国内用户加速,而国外就不一定了,所以可以通过国外的在线代理网站APP Synthetic Monitor访问,可能得到真实的IP
  • 查询域名的解析记录:也许目标很久以前没有用过CDN,所以通过网站NETCRAFT来观察域名的IP历史记录,也可以大致分析出目标的真实IP段
  • 通过APP抓包:如果目标网站存在自己的APP,可以用Fiddler或Brupsuite来抓取请求,从里面找到真实IP。
  • 绕过CloudFlare CDN:现在很多网站都是通过CloudFlare提供的CDN服务,在确定网站使用的CDN后,可以尝试通过在线网站CloudFlareWatch对CloudFlare的客户网站进行真实的IP查询

验证获取的IP

直接访问该IP看看是否返回同样的页面。如果目标段比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开了80、443、8080端口的IP,然后逐个访问,查看返回是否为目标站点

收集敏感目录文件

在渗透过程中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取后台管理系统页面、文件上传页面,甚至可能扫描出网站的源代码。

常用的扫描工具有御剑后台扫描珍藏版,在线工具站有WebScan等

社会工程学

在渗透过程中,社工的作用不容小觑。假设攻击者对一家公司进行渗透测试,正在收集目标的真实IP阶段,此时就可以利用收集到的某位销售人员的电子邮箱。首先给这位销售人员发送邮件,假装对某个产品很感兴趣,显然销售人员会回邮件。这时我们就可以通过分析邮件头来收集这家公司的真实IP地址以及内部电子邮件服务器的相关信息。

通过进一步应用社工,我们获取了足够的信息来爆破了对方的邮箱密码,这时我们又可以冒充目标人物要求客服人员重置域管理密码,从而使攻击者拿下域管理控制台,然后做到域劫持。

除此之外,还可以利用“社工库”查询想要获得的信息。社工库是用社会工程学进行攻击时积累的各方数据的结构化数据库。

Releases

No releases published

Packages

No packages published