信息收集
在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们从互联网上搜集信息的互联网渠道主要有: 论坛 @ 公告板 @ 新闻组 @ 媒体文章 @ 博客 @ 社交网络 @ 其他商业或非商业性的网站 此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括DNS服务器、路由关系、whois 数据库、电子邮件地址、电话号码、个人信息以及用户账户。收集的信息越多,渗透测试成功的概率越高。
以testfire.net为目标, testfire.net 是IBM公司为了演示旗下比较有名的Web漏洞扫描器AppScan的强大功能所搭建的模拟银行网站,所以上面会有很多常见的Web安全漏洞。 http://vulnweb.com/
DNS信息
在收集DNS信息的时候,主要关注域名注册商,管理员联系方式,电话和邮箱,子域名等信息。
- whois查询
whois 是一个集成在kali 虚拟机中的小工具。 whois工具可以用来查询域名注册信息,命令如下,途中仅截取到部分信息。 也可以通过站长之家进行whois查询[http://whois.chinaz.com] 除了用whois查询以外,还可以进行反查。 @ 邮箱反查 @ 注册人反查 @ 电话反查 - 子域名查询
可以查询子域名的网站[https://searchdns.netcraft.com/],需要科学上网在表单中直接提交域名即可,这种方法查询大型网站比较有优势。 netcraft证书 - 域传送漏洞
DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。一般来说DNS区域传送操作只在网络里真的有备用域名DNS服务器时才有必要用到,但许多DNS服务器却被错误地配置成只要有client发出请求,就会向对方提供个zone数据库的详细信息,所以说允许不受信任的因特网用户执行DNS区域传送(zone transfer)操作是后果最为严重的错误配置之一。 可以使用dig工具来检测域传送漏洞,命令如下: dig axfr@dns.example.com example.com dig axfr @172.16.132.1 www.vulhub.org - 子域名爆破
DNS2IP
通过DNS 解析找到IP地址。
- ping
ping testfire.net 65.61.137.117
ping baidu.com 39.156.69.79
www.baidu.com 61.135.169.125
testfire.net Server: 172.16.132.2 Address: 172.16.132.2#53 Non-authoritative answer:非权威检测 Name: testfire.net Address:65.61.137.117
baidu. com Server:172.16.132.2 Address:172.16.132.2#53 Non-authoritative answer: Name:baidu. com Address: 39.156.69.79 Name:baidu. com Address: 220.181.38.148
dig testfire.net dig @8.8.8.8 testfire.net 指定dns服务器 dig +trace testfire.net 获取域名的详细解析过程
dnsenum testfire.net 此处推荐使用dnsenum 此款工具在解析域名的时候,会自动检测域传送漏洞。
CDN加速的问题(需要再详细)
简介
CDN的全称是Content Delivery Network,即内容分发网络,本意是进行节点缓存,使网站访问速度加快。一般情况下是没办法得到目标网站的真实IP的。CDN是在现有Internet基础上增加一层新的网络架构,通过部署边缘服务器,采用负载均衡、内容分发、调度等功能,使用户可以就近访问获取所需内容,从而解决网站拥塞情况,提高用户访问响应速度。
CDN加速原理
CDN加速技术主要就是在用户和源站服务器之间增加镜像缓存层,将用户的访问请求引导至镜像缓存节点,而不是直接访问源站。 在CDN加速过程中,全局负载均衡DNS解析服务器会根据用户端源IP地址将用户的访问请求引导至距离用户路由最近、位置最近、负载最轻的缓存服务器上,从而实现最优匹配效果。
CDN加速过程
最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: (1)当用户点击网站上的内容URL,通过设置CANAME解析,用户会请求CANAME指向的CDN服务商。CDN专用服务器会将CDN全局负载均衡设备IP地址返回给用户。 (2)CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。 (3)用户向CDN的全局负载均衡设备发起内容URL访问请求。 (4)CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。 (5)区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务 (6)全局负载均衡设备把服务器的IP地址返回给用户 (7)用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。 (8)如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
CDN加速效果
(1)通过节省骨干网带宽,减少带宽需求量; (2)提供服务器端加速,解决服务器过载问题; (3)为了实现跨运营商、跨地域的全网覆盖; (4)可以克服网站分布不均衡的问题,降低网站自身建设; (5)保障你的网站安全,避免网站遭到恶意攻击。
IP查询
- IP查询
http://ip.chinaz.com/65.61.137.117 - 同IP网站查询
同一个IP上的网站 1.1.1.1 A B。互为旁站 1.1.1.* C段查询 - IP whois查询
- IP2Location
查询IP地址经纬度 https://www.maxmind.com/zh/home - 通过GPS查询物理位置
http://www.gpsspg.com/maps.html
利用搜索引警搜集信息
google hacking
google机器人,爬行全世界所有网站的内容。google hacker就是利用搜索引擎语法,获取有关网站的信息。如果google搜索用不了的话,也可以考虑用其他搜索引擎。
- site 指定网站
- ""包含关键字
- inurl在url中出现的关键字
- filetype指定文件类型
- 探索网站目录结构
“parent directory” site:testfire.net - 搜索容易存在sql 注入的页面
site: testfire.net inurl: login - 搜索指定的文件类型
filetype pdf - 搜索phpinfo()
intext:“PHP Version” ext:php intext:“disabled” intext:“Build Date” intext:“System” intext:“allow_url_fopen” - 搜索PHPstudy
钟馗之眼
钟道之眼 ZoomEye支持公网设备指纹检索和Web指纹检索。网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据等。 关于钟道之眼的使用可以查看帮助手册。
- 搜索iis6.0组件
app: “Microsoft IIS httpd” ver:“6.0” - 搜索开启3389端口的windows主机
port:3389 OS:windows
shodan
https://www.shodan.io/ 搜摄像头 JAWS/1.1
- 空口令登入
点击第一条连接,即可进入登录页面。 使用口令[admin/空],即可进入后台,查看摄像头。 http://197.149.45.145/view2.html - 登录绕过
http://86.99.112.102:9000/view2.htm 在控制台中输入以下JS代码,然后直接访问[/view2.html],即可绕过登录验证进入控制台。
document.cookie=“dvr_camcnt=4”; document.cookie=“dvr_usr=admin”; document.cookie=“dvr_pwd=123”;
其他摄像头默认账密(待验证) @海康威视IP网络摄像机admin,密码: 12345 Hikvision Server: DVRDVS-Webs @大华网络摄像机admin,密码: 888888。 @天地伟业网络摄像机Admin,密码: 111111
网站信息收集
主要收集指纹信息(架构) Web服务器信息 火狐插件 netcraft
补充:
万能密码
DNS域名系统
Domain Name System,DNS是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
概述
域名系统(Domain Name System,DNS)是Internet上解决网上机器命名的一种系统。Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成,记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。
虽然因特网上的节点都可以用IP地址标识,并且可以通过IP地址被访问,但即使是将32位的二进制IP地址写成4个0~255的十位数形式,也依然太长、太难记。因此,人们发明了域名(Domain Name),域名可将一个IP地址关联到一组有意义的字符上去。
用户访问一个网站的时候,既可以输入该网站的IP地址,也可以输入其域名,对访问而言,两者是等价的。 例如:微软公司的Web服务器的IP地址是207.46.230.229,其对应的域名是www.microsoft.com,不管用户在浏览器中输入的是207.46.230.229还是www.microsoft.com,都可以访问其Web网站。 一个公司的Web网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。 类似的还有:IBM公司的域名是www.ibm.com、Oracle公司的域名是www.oracle.com。当人们要访问一个公司的Web网站,又不知道其确切域名的时候,也总会首先输入其公司名称作为试探。但是,由一个公司的名称或简称构成的域名,也有可能会被其他公司或个人抢注。甚至还有一些公司或个人恶意抢注了大量由知名公司的名称构成的域名,然后再高价转卖给这些公司,以此牟利。已经有一些域名注册纠纷的仲裁措施,但要从源头上控制这类现象,还需要有一套完整的限制机制,这个还没有。所以,尽早注册由自己名称构成的域名应当是任何一个公司或机构,特别是那些著名企业必须重视的事情。有的公司已经对由自己著名品牌构成的域名进行了保护性注册。
DNS域名构成
- 名字空间的层次结构
名字空间是指定义了所有可能的名字的集合。域名系统的名字空间是层次结构的,类似Windows的文件名。它可看作是一个树状结构,域名系统不区分树内节点和叶子节点,而统称为节点,不同节点可以使用相同的标记。所有节点的标记只能由3类字符组成:26个英文字母(a~z)、10个阿拉伯数字(0~9)和英文连词号(-),并且标记的长度不得超过22个字符。 一个节点的域名是由从该节点到根的所有节点的标记连接组成的,中间以点分隔。最上层节点的域名称为顶级域名(TLD,Top-Level Domain),第二层节点的域名称为二级域名,依此类推。 - 域名的分配和管理
域名由因特网域名与地址管理机构(ICANN,Internet Corporation for Assigned Names and Numbers)管理,这是为承担域名系统管理、IP地址分配、协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构。ICANN为不同的国家或地区设置了相应的顶级域名,这些域名通常都由两个英文字母组成。例如:.uk代表英国、.fr代表法国、.jp代表日本。中国的顶级域名是.cn,.cn下的域名由CNNIC进行管理。 CNNIC规定.cn域下不能申请二级域名,三级域名的长度不得超过20个字符,并且对名称还做了多种限制: 如:要申请beijing.com.cn域名,则要提供北京市人民政府的批文。 - 顶级类别域名
除了代表各个国家顶级域名之外,ICANN最初还定义了7个顶级类别域名,它们分别是.com、.top、.edu、.gov、.mil、.net、.org;
- .com、.top用于企业,
- .edu用于教育机构,
- .gov用于政府机构,
- .mil用于军事部门,
- .net用于互联网络及信息中心等,
- .org用于非盈利性组织。
随着因特网的发展,ICANN又增加了两大类共7个顶级类别域名,分别是.aero、.biz、coop、.info、.museum、.name、.pro。其中,.aero、.coop、.museum是3个面向特定行业或群体的顶级域名:.aero代表航空运输业,.coop代表协作组织,.museum代表博物馆;.biz、.info、.name、.pro是4个面向通用的顶级域名:.biz表示商务,.name表示个人,.pro表示会计师、律师、医师等,.info则没有特定指向。
域名系统组成
- 资源文件
现有域名系统于20世纪80年代开始投入使用。域名系统采用层次结构的名字空间,并且原来庞大的对应表被分解为不相交的、分布在因特网中的子表,这些子表称为资源文件。 - 解析
- 首先,根据域名系统域名空间的层次结构将其按子树划分为不同的区域,每个区域可看作是负责层次结构中这一部分节点的可管理的权力实体。
例如,整个域的顶层区域由ICANN负责管理,一些国家域名及其下属的那些节点又构成了各自的区域,像.cn域就由CNNIC负责管理。而.cn域下又被划分为一些更小的区域,例如.fudan.edu.cn由复旦大学网络中心负责管理。 - 其次,每个区域必须有对应的域名服务器,每个区域中包含的信息存储在域名服务器上。
一个区域中可有两个或多个域名服务器,这样即使其中一个域名服务器出了故障,另一个域名服务器仍然可以正常提供信息。一个域名服务器也可以同时管辖多个区域。域名服务器在接到用户发出的请求后查询自身的资源记录集合,返回用户想要得到的最终答案,或者当自身的资源记录集合中查不到所需要的答案时,返回指向另外一个域名服务器的指针,用户将继续向那个域名服务器发出请求。所以说,域名服务器不需要记录所有下属域名和主机的信息,对于其中的子域(如果存在),只需要知道子域的域名服务器即可。 - 资源记录是一个域名到值的绑定,它包括以下字段:域名、值、类型、分类和生命期。
- 域名字段和值字段分别用来表示解析的内容和解析返回的结果。
- 类型字段代表了值的种类:类型为A代表值字段是一个IP地址,即用户所要的最终答案;类型为NS代表值字段是另一个域名服务器的域名,该域名服务器能够知道如何解析域名字段所指定的域名;类型为CNAME代表值字段是由域名所指定的主机的一个别名;类型为MX代表值字段是一个邮件服务器的域名,该邮件服务器接收由域名字段所指定的域的邮件;类型PTR用于域名反解等。
- 分类字段允许指定其他的记录类型。
- 生命期字段用于指出该资源记录的有效期是多少。为减少域名解析时间,域名服务器会缓存一些曾经查询过的、来自其他域名服务器的资源记录。由于这些资源记录会因为更改而失效,因此域名服务器设置了生命期,到期的资源记录会被清除出缓存。
- 根域名服务器知道所有顶级域名的域名服务器,对应于每个顶级域名,它都有两条资源记录:一条是NS资源记录,域名字段是该顶级域名,值字段是该顶级域名解析的域名服务器的域名;另一条是A资源记录,用来指明该域名服务器的域名对应的IP地址。
综合使用这两条记录,就可以知道对该域下的某个域名解析,应该继续去哪个IP地址的域名服务器寻找。第二层的域名服务器类似地存放各个第三层域名服务器的指针。第三层的域名服务器会出现A、CNAME、MX等类型的资源记录。每个域名服务器都有根域名服务器的地址记录。 - 最后,一个需要域名解析的用户先将该解析请求发往本地的域名服务器。如果本地的域名服务器能够解析,则直接得到结果,否则本地的域名服务器将向根域名服务器发送请求。依据根域名服务器返回的指针再查询下一层的域名服务器,依此类推,最后得到所要解析域名的IP地址。
- 域名反解
域名反解是指给出一个IP地址,找出其对应的域名,这也是利用DNS来实现的。举个例子,假设一个要反解的IP地址为202.120.225.9,系统将其改写为9.225.120.202. in-addr.arpa,然后按域名解析的方式查询。这需要在被查询主机的本地域名服务器上有一条对应于9.225.120.202.in-addr.arpa的资源记录,类型是PTR,值是其域名。
域名服务器形式
通常会有两种形式:域名服务器,以及缓存域名服务器。
- 域名服务器
下列情况需要有域名服务器:想要向全世界提供DNS信息,并对请求给出。注册了类似 exampleorg的域,而需要将IP指定到其下的主机名上。某个IP地址块需要反向DNS项(IP 到主机名)。备份服务器,或常说的从(slave) 服务器,会在主服务器出现问题或无法访问时来应答查询请求。 - 缓存域名服务器
下列情况需要有缓存域名服务器: 本地的DNS服务器能够缓存,并比直接向外界的域名服务器请求更快地得到应答。 当有人查询www.FreeBSD.org时,解析器通常会向上级ISP的域名服务器发出请求,并获得回应。如果有本地的缓存DNS服务器,查询只有在第一次被缓存DNS服务器发到外部世界。其他的查询不会发向局域网外,因为它们已经有在本地的缓存了
域名解析
由域名服务器设备来完成。 当一台机器a向其域名服务器A发出域名解析请求时,如果A可以解析,则将解析结果发给a,否则,A将向其上级域名服务器B发出解析请求,如果B能解析,则将解析结果发给a,如果B无法解析,则将请求发给再上一级域名服务器C,如此下去,直至解析到为止。
服务器
DNS的全称是Domain Name Server,一种程序,它保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。 之所以域名解析不需要很长时间,是因为上网接入商,比如通过阳光DNS接入北京电信,河南电信等,为了要加速用户打开网页的速度,通常在他们的DNS服务器中缓存了很多域名的DNS记录,再根据用户所在地做出网络分配。这样这个接入商的用户要打开某个网页时,接入商的服务器不需要去查询域名数据库,而是把自己缓存中的DNS记录直接使用,从而加快用户访问网站的速度。这是其最大的优点。 缺点是上网接入商ISP的缓存会存储一段时间,只在需要的时候才更新,而更新的频率没有什么标准。有的ISP可能1小时更新一次,有的可能长达一两天才更新一次。 所以新注册的域名一般来说解析反倒比较快。因为所有的ISP都没有缓存,用户访问时ISP都是要查询域名数据库,得到最新的DNS数据。 而老域名如果更改了DNS记录,但世界各地的ISP缓存数据却并不是立即更新的。这样不同ISP下的不同用户,有的可以比较快的获取新的DNS记录,有的就要等ISP缓存的下一次更新。
|