网络安全渗透

1.5指纹识别

指纹由于其终身不变性、唯一性和方便性,几乎已成为生物特征识别的代名词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线,纹线规律地排列形成不同的纹型。而本节所讲的指纹是指网站CMS指纹识别、计算机操作系统及Web

容器的指纹识别等。

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

在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出

相应的Web容器或者CM语能查找与其相关的漏洞,然后才能进行相应的渗透操作。

CMS(Conkent ManagementSystem)又称整站系统或文章系统。在2004年以前,如果想进行网站内容管理,基本上都靠手工维护,但在信息爆炸的时代,完全靠手工完成会相当痛苦。所以就出现了CMS,开发者只要给客户一个软件包,客户自己安装配置好,就可以定期更新数据来维护网站,节省了大量的人力和物力。

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

代表工具有御剑Web指纹识别、WhatWeb、WebRobo、椰树、轻量WEB指纹识。

除了这些工具,读者还可以利用一些在线网站查询CMS指纹识别,如下所示。

云悉指纹:http://www.yunsee.cn/finger.html。 BugScaner:http://whatweb.bugscaner.com/look/和WhatWeb:https://whatweb.net/。

1.6 查找真实IP allow:/ disallow luccenter 

在渗透测试过程中,目标服务器可能只有一个域名,那么如何通过这个域名来确定目标服务器的真实IP对渗透测试来说就很重要。如果目标服务器不存在CDN,可以直接通过wwwip138.com获取目标的一些IP及域名信息。这里主要讲解在以下这几种情况下,如何绕过CDN寻找目标服务器的真实IP。

1.目标服务器存在CDN

CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说得简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html、css、js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。

所以如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非直正的目标Web服务器,只是离我们最近的一台目标节点的CDN服务器,这就导致了我们没法直接得到目标的真实IP段范围。
2.判断目标是否使用了CDN
通常会通过ping目标主域,观察域名的解析情况,以此来判断其是否使用了CDN。
还可以利用在线网站17CE(https://www.17ce.com)进行全国多地区的ping服务器操作,然后对比每个地区ping出的IP结果,查看这些IP是否一致,如果都是一样的,极有可能不存在CDN。如果IP大多不太一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。
3.绕过CDN寻找真实IP
在确认了目标确实用了CDN以后,就需要绕过CDN寻找目标的真实IP,下面介绍一些常规的方法。
内部邮箱源。一般的邮件系统都在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实P(注意,必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的)扫描网站测试文件,如phpinfo、test等,从而找到目标的真实IP。
分站域名。很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站1P,可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真
实IP段。

国外访问。国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站App Synthetic Monitor(https://asm.ca. com/en/ping.php)访问,可能会得到真实的IP。

查询域名的解析记录。也许目标很久以前并没有用过CDN,所以可以通过网站NETCRAFT(https://wwwnetcraft.com/)来观察域名的IP历史记录,也可以大致分析出目标的真实IP段。

如果目标网站有自己的App,可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP。

绕过CloudFlareCDN查找真实IP。现在很多网站都使用CloudFlare提供的 CDN服务,在确定了目标网站使用CDN后,可以先尝试通过在线网站Cloud FlareWatch(http://www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实IP查询。

4.验证获取的IP
找到目标的真实IP以后,如何验证其真实性呢?如果是Web,最简单的验证方法
Sele
是直接尝试用IP访问,看看响应的页面是不是和访问域名返回的一样;或者在目标段    File    
比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开了80、443、8080    Prog    
端口的IP,然后逐个尝试IP访问,观察响应结果是否为目标站点。    S+l    
1.7收集敏感目录文件
在渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传界面,甚至可能扫描出网站的源代码。
针对网站目录的扫描主要有DirBuster、御剑后台扫描珍藏版、wwwscan、 Spinderpy(轻量级快速单文件目录后台扫描)Sensitivefilescan(轻量级快速单文件目录后台扫描)、Weakfilescan(轻量级快速单文件目录后台扫描)等工具。本节简单地讲解一下DirBuster。
DirBuster是OWASP开发的一款基于Java编写的、专门用于探测Web服务器的目录口隐藏文件。因为是用Java编写的,所以需要在Java运行环境(JRE)下安装。该工具的界面是纯图形化的,用法相对简单,使用的基本步骤如下。
在Target URL输入框中输入要扫描的网址,扫描时将请求方法设置为“Auto Switch(HEAD and GET)。

设置线程的数值,推荐在20~30之间。太大了容易引起系统死机。

选择扫描类型,如果使用个人字典扫描,则选择“List based brute force”选项。单击“Browse”选择字典,可以选择工具自带的字典,也可以选择自己的字典。在Select starting options中选择“URL Fuzz”方式进行扫描。设置fuzzing时需要注意,在URLto fuzz里输入“/{dir}”。这里的{dir)是一个变量,用来代表字典中的每一行。

如果你扫描的目标是http://www.xxx.com/admin/,那么就要在URL tofuzz里填写“/admin/{dir)”,意思是在“{dir)”的前后可以随意拼接你想要的目录或者后缀,例如输入“:/admin/{dir).php”就表示扫描admin目录下的所有php文件。
除此之外,读者还可以利用很多在线工具站,效果也相当不错,这里推荐一个: WebScan(http://www.webscan.cc/)。
1.8社会工程学
社会工程学在渗透测试中起着不小的作用,利用社会工程学,攻击者可以从一名员工的口中挖掘出本应该是秘密的信息。

 

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

通过进一步地应用社会工程学,假设现在已经收集了目标人物的邮箱、QQ、电话号码、姓名,以及域名服务商,也通过爆破或者撞库的方法获取邮箱的密码,这

置密码,从而使攻击者拿下域管理控制台,然后做域劫持。时就可以冒充目标人物要求客服人员协助重置域管理密码,甚至技术人员会帮着重

2.1

此以外,还可以利用“社工库”查询想要得到的信息,如图1-14所示,社工库是用社会工程学进行攻击时积累的各方数据的结构化数据库。这个数据库里有大量信息,甚至可以找到每个人的各种行为记录。利用收集到的邮箱,可以在社工库中找到已经泄露的密码,其实还可以通过搜索引擎搜索到社交账号等信息,然后通过利用社交和社会工程学得到的信息构造密码字典,对目标用户的邮箱和OA账号进行

爆破或者撞库。

你可能感兴趣的:(网络安全)