第八天,架构,搭建,waf等
安全测试里面。信息收集是一个非常重要的环节,信息收集了多少决定了发现漏洞机会的大小,决定了能不能完成目标的渗透测试,渗透测试的思路就是从。
信息收集首先从有没有web来开始确认,如果对方有(web)的话,就开始确定它有没有cdn,如果有cdn的话,我们就要搜集四类的信息,第一类是程序源码,源码分为开源cms,开源的就直接开源在网上搜漏洞,未知cms或者内部的只能按部就班的去探侦去扫描。它也是扫描出来漏洞的思路之一。
第二类是其他的大小,包括操作系统,搭建平台,数据库类型,想找到某个用网站的操作系统开源用nmap去探侦它,多探针几次更加准确,探针的语法 nmap -O 网站ip。可以通过扫描端口来判断数据库类型 nmap -sV 网站地址。因为不同的系统或者搭建平台以及数据库,而产生的漏洞也不相同,所以知道这些信息也很重要。
第三类是站点搭建,站点搭建又分为目录站点,端口站点,子域名站点,旁注/c段站点,类似域名站点。
第四类是防护应用waf,包括安全狗,宝塔,云盾,安骑士等等,这是我们经常碰到的是我们常说的一些防护软件,云盾是阿里云服务器的,分为收费版和免费版,宝塔严格意义上来说它不属于waf里面,他是属于一体化的搭建软件,便于你用于网站搭建,因为宝塔这个上面有一些自带的一些防护,有一些是免费也有收费的,它也是在是市面上比较常见,他是一个搭建软件有防护功能,安全狗是比较老的软件,防护功能已经不如其他软件,因为它历史比较悠久,所以还是有很多网站用它做防护的。而在公司里面所见到的就可能不是这些,公司会去买一些安全公司的产品收费比较高,通常都是一些绿盟的安恒的网站防护web应用块防火墙。大体上原理是差不多,因为有了waf在网站测试也会遇到干扰,像一些常见的漏洞利用,拦截,网站会有一些小问题,所以我们要知道这些。
如果有cdn的话,就可以先进行cdn的绕过获取主站的ip比如子域名查询,主站会设置cdn子域名考虑经济成本就不一定,利用国外请求访问,因为国外人少大概率也没有设立cdn就会直接访问主站的ip,用黑暗引擎去搜索,比如shodan,钟馗之眼,fofa直接搜索,接口查询,全网搜搜也都可以,当我们绕过cdn的时候就可以转接到无cdn的解决思路里面去。
第二种是app的格式,首先观察app里面是否有web协议,如果有web协议就是一个封装的web,那些界面都是一个个网站,web封装到了app的里面,可以提取数据包出来到有web的思路方式开始攻击,没有web协议,上面没有网站就是一些其他的,就要去尝试提取载体web,可以再次尝试如果再次提取web的话,如果还是没有的话就可能涉及到反编译,去反编译逆向去找出他是什么协议,如果还是没有的话,就没有web转,就要换一种思路,它是其他的东西。
其他又包括很多类,有无其他的意思是既没有网站也没有app都是一些看不懂的东西,这时候我们就可以去找一些资产信息,各平台的信息,whois备案,github等监控,github是一个资源共享整合的站点,谁都可以往上面贡献自己的资源也可以找到需要的,但需要一些网上的监控和脚本,还包括第三方应用,第三方应用又包括数据库应用,数据库又分为msyql,mssql,cracle,这里也可能存在漏洞,会有一些搭建的管理平台,比如phpmyadmin也可以测试,各种第三方便于管理的应用都可以去测试,比如wsftpd,nexus,git等等都可以去测试
其他各种接口,比如支付服务,存储服务,内部服务,就可以找一下也没有类似这种的接口。
微信公众号等也可以是一个入手的思路,一些正规的大公司的都有自己的我想公众号或者微博,比如我们的任务是搞这个公司的相关业务,但在网上都找不到,这时微信公众号一般会发出一些新闻或者功能会涉及到新的业务的站点,而我们就可以从这里找到更多的链接,根据这个链接分析它是否涉及web,或者设计app,其他的东西就可以把思路转变过来。
内部群或者内部应用,比如我知道对方是什么公司,什么单位,那么他们呢可能会在线上或者内部的群,我们就可以直接搜索群,比如北京某某某公司就可能会搜索到内部群,可以伪装成内部员工获取一些需要的信息,有时候他们以为是内部的人也会发一些敏感的信息网站,账号密码啊,
归根到底这个信息收集就是这个目标在网上可以测试的点全部都找出来,在全部测试点里面选择最脆弱的点去测试。机会也会也更多。
站点分析,目录类站点(个人的叫法,在网上搜不到,北京语言大学翻译学院网站为测试网站打开主站如下图
而在网站的末尾加了/bbs,就如下图和主站的界面完全不一样,就是两个程序
这时候我们就有连个网站去攻击就不是只有一个主站去,两个网站是因为两个网站用的程序不同,也可以打开里面的链接当作新的网站。
搭建习惯,端口类站点。
这是主站而我们可以在后面加上端口号,通过端口号就可能会访问到新的网站,比如加上8080后
有很大区别,是完全两个程序和目录是一样的道理,因为他们都在同一个服务器上面,所以假如8080端口有漏洞主站也会受到影响,主站也会出现安全问题。但是他们两个又是不同的应用比如8080是登陆管理而主站又是另外有一个。得到端口号的时候可以在网上搜或者进行端口扫苗。
搭建习惯,子域名两套cms
打开测试网站,也就是主站长这样。
如果访问子域名前面加上bbs,就进入了论坛网站
我们不知道网站的搭建程序,但是可以用后缀名加上一串代码,通过这个文件来判断
这是就判断出来了这个网站程序是什么,不是所有网站都有这个文件。这是就可以复制下来直接去网上搜索出来是。主站就是这个程序搭建的。这两个网站可能不是用的同一个服务器,是因为在创建子域名的时候ip可以自由设置跟上面的不一样,上面的不是子域名,如下图就是一个网站的子域名设置这时候它就可以把前缀是bbs的设置为另一个ip就不是同一个服务器。
怎么去区别是不是同一个服务器呢,我们就打开命令提示符去ping网站看返回的ip结果来判断是不是。同一个ip就是同一个服务器。同服务器所以去搞bbs开头的也没问题
不同服务器的分两钟情况的,不同服务器同一个网段,我们获取子域名的web产权之后就开始对内网的一些东西,如果不同网站不同网段那就只能在子域名里面的一些密码看看能不能在主站套用或者也没有主站的敏感信息。
类似域名站点
这个是一些网站可以用不同的域名进入一个同样的网站界面,这时它有多个域名可以进入同一个网站,我们就有多个域名可以测试可以有更多的机会,出现这个的原因是有一些网站会更换域名,想一些非法类网站换的更快,还有正规网站一开始申请的域名后来发展一段时间觉得申请的域名不太好,就换一个域名.com的就是顶级域名但还要.cn 别的,觉得不好的时候就会申请新的域名比如一开始不懂不是.com的网站后来申请一个..com的域名。域名不光是后缀不同可能是中间的不同,胡或者前缀不相同,这时候对哪一个域名都可以测试,漏洞可能性就更多。这个技术主要应用在sic网站上面比较好用,因为sic都是一些正规的网站。
旁注,c段站点
旁注的意思同服务器不同站点,c段的意思同网段不同服务器不同站点
这个比如我么要攻击b的网站,但是拿不下,直接在网上搜索旁注查询,然后打开一个查询网站就可以直接输入网站开始查,我们就去查询旁注站点,这时候我们找了a,就可以去通过攻击a的网站找到一些相关的信息,因为他们都在同一个网站,再来攻击b点的网站。
c段(不推荐),就是这个网站上面是独立服务器也有其他站点,但是其他站点也一样搞不来,这个时候通过查询它网段,在其他网段下面有没有其他网站,搞了其他的网站获得了这个192.168.1.101的服务器权限,在通过同一网段目标主机实施一些内网安全测试的方法,这个还有的思路比如说这个网站没有问题我们就可以对他系统,系统没问题就对第三方应用开打,数据库开打,只要一方有问题都可以对这个网站有影响,比如我拿到了系统服务器权限,在哪个网站不就是手到擒来。
搭建软件特征站点
一些常见的搭建软件,宝塔,phpmyadmin,phpstudy,wmap,lnmap,用这些搭建软件就很方便,像是数据库,脚本的执行程序就不需要安装了,就非常方便,就可以用这种一体化搭建网站去搭建,这种是很常见的。常规搭建和搭建软件的区别呢,下图是用php搭建软件搭建的网站,蓝线里面写的很详细php
这个是常规打击的service显示都不一样
用搭建软件搭建的话,如果搭建软件有问题就会产生一些我们的攻击思路,一些常规的搭建软件都会有一些默认的账号密码。
这是两个搭建软件搭建的网站service他俩不是用同一个搭建软件搭建的,如果是常规搭建的它不会显示那么全面,只会显示一部分信息,还有搭建软件会有自己的管理登录入口,比如宝塔后面是加上端口号8888,phymyadmin搭建的后缀加上/phpmyadmin。那两个搭建网站第一个加上宝塔搭建的如下
这是phpmyadmin的登陆界面。
waf,就是一个墙,我们要绕过他才能做漏洞分析,要知道他们的原理去分析,如果不会只能在网上公开的去翻墙,但是waf一更新就不行了,如果报错找不到文件,可以找到需要的python3的目录然后按住拉到命令提示符上来就在这段代码的后面然后就剋以啦,配置好环境后,在文件夹里面创建一个文本文档 把格式换成cmd.bat 之后
这个里面加入这些,就会直接到这个文件的目录下面,点开新建的cmd就可以直接输入 ru't如图所示代码进入waf识别
输入py -3而不是python的原因是因为我这个主机有两个python,一个是2一个是3需要靠py -3来识别我用3还是2,所有输入py -3来使用python3.之后。
我们扫描之前先进行waf测试,测试他有没有waf,如果直接扫就会被waf给封了进不去了,查看waf的方法其一直右键查看源码