记录分享原创文章,如果大家在阅读文章的时,发现了文章的错误,烦请指出,我会及时纠正。若有转载请联系。
VG9fYmVfdzF0aDB1dA==
目的
了解目标的基本信息,便于后期渗透。主要收集资料:服务器的配置信息和网站的信息,包括网站注册人、目标网站系统、目标服务器系统、相关子域名、目标服务器开放端口和服务器存放网站等。尽可能收集与目标网站相关联的信息。
一、域名信息收集
1、whois查询
Whois是一个标准的互联网协议,用于收集网络注册信息,注册的域名、IP地址、域名所有人、域名注册商等信息。对于中小企业来说,域名所有人往往就是管理员。
https://whois.chinaz.com/
https://www.whois365.com/cn/
https://whois.cloud.tencent.com/domain?domain=
2、备案号收集
备案号是网站是否合法注册经营的标志,一个网站域名要上线必然要经过备案程序,通过备案号反查可查 询目标的所有合法网站。
http://icp.chinaz.com
https://beian.miit.gov.cn/#/Integrated/index
3、征信查询
企业征信机构记录了一家企业的基本信息,历史沿革,股东及出资等信息的平台。
https://www.qcc.com/
在平台中可以搜索企业,选择其知识产权,其中包含软件著作权,备案网站,标准信息,APP,小程序,微信公众号等内容。均可提取一定的域名信息等。各家征信平台互补信息。
https://www.qixin.com/
https://icredit.jd.com/
https://aiqicha.baidu.com/
https://www.tianyancha.com/
https://sou.xiaolanben.com/pc
4、资产测绘
资产测绘是指通过技术手段对互联网或企业内网/专网的网络空间资源进行的信息普查工作,包括设备名称、设备IP、设备类型、操作系统、生产厂商、开放端口、通信协议应用组件、应用采用的技术组件等信息,形成资产信息搜索引擎。
https://hunter.qianxin.com/
语法:
icp.name=“百度”
同样测绘平台还有fofa(https://fofa.info/)、360Quake(https://quake.360.net/quake/#/index)、404知道创宇zoomeye(www.zoomeye.org)、撒旦(https://www.shodan.io/)、微步在线(https://x.threatbook.com/)
6、SSL/TLS证书查询
SSL/TLS证书通常包含域名、子域名和邮件地址等信息,结合证书中的信息,可以更快速地定位到目标资产,以获取到更多目标资产的相关信息。
主流ssl证书有哪些呢?
1.单域名SSL证书:根据字面意思很好理解的,就是仅保护一个域名的普通SSL证书,可以是顶级域名也可以是二级域名。
2.多域名SSL证书:也是和字面意思一样,就是可以同时保护多个域名,不管是主域名还是子域名都行,一般可保护2~150个域名,当你有新的域名需要保护时,随时可以添加,如果超过保护数量是需要支付一定的添加费用的,但是比起重新申请一张SSL证书要划算的多,而且还节省了重新审核的时间。
3.通配符SSL证书:它是能够保护一个域名以及该域名的所有下一级域名,有范围上的限制,但是没有数量上的限制,适合拥有大量二级域名的用户。
收集了几个网址
https://myssl.com/
https://crt.sh
二、子域名查询
子域名:顶级域名的下一级,域名整体包括两个‘.’或一个‘/’。收集子域名可以很大程度知道目标所拥有的网站等资产信息
1、子域名挖掘机-Layer
2、Ksubdomain
Ksubdomain -d qq.com
三、旁站C段
1、旁站
旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易入侵。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站。
2、C段
C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
在线查询
旁站和C段在线查询地址:
https://www.webscan.cc/
四、DNS查询
1、DNS主要类型
A (Address) 记录:
用来指定主机名(或域名)对应的IP地址记录。俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器
PTR 记录或称指针记录(Pointer record):
将 IP 地址匹配至一个域或者子域,它允许反向的 DNS 查询工作。它执行的服务于 A 记录截然相反,因为它允许查找与特定 IP 地址相关联的域。
CNAME (Canonical Name)记录:
通常也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。CNAME是别名解析,别名解析是先将域名解析到主机别名再转跳到IP,这样主机IP改变了不用重新解析。
MX记录:
也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。
NS(Name Server)记录:
域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。简单的说,NS记录是指定由哪个DNS服务器解析你的域名。
AAAA记录:
用来指定主机名(或域名)对应的IPv6地址记录。
SOA记录或称起始权限记录(Start of Authority record):
给区域文件使用最初创建的主机名作为标签。它列出了负责该域的人员的联系电子邮件地址。
2、DNS查询
Viewdns:http://viewdns.info
五、真实IP收集
CDN的全称是Content Delivery Network,即内容分发网络。一般只存在于某些用户量特别大的站点,通过此种方式来解决服务器性能的瓶颈。简单来说,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源直接缓存到节点服务器上,当用户再次请求时,会直接分发到在离用户近的节点服务器上响应给客户。当用户有实际数据交互时,才会从远程web服务器上响应,这样可以大大提高网络的响应速度及用户体验。目标服务器可能只有一个域名,通过该域名获取服务器真实IP对渗透很重要。如果目标度武器不存在CDN,可以直接通过获取目标的一些ip及域名信息。如果存在CDN,则涉及绕过CDN获取真实ip。当渗透目标购买了CDN服务,通过ping命令得到的是CDN,无法得到真实IP段。
1、判断目标是否使用了CDN
①.通过ping命令:
存在CDN
不存在CDN
②通过nslookup命令
如果address存在一个地址,则不存在CDN。存在多个地址,则存在CDN。
例 nslookup taobao.com 存在CDN
例 nslookup www.xxxxxx.cn 不存在CDN
③通过www.17ce.com进行全国多地区ping服务器操作
Ping www.baidu.com
Ping www.xxxxx.cn
2、绕过CDN寻找真实IP
①DNS历史解析记录
查询域名的历史解析记录,可能会找到网站使用CDN前的解析记录,从而获取真实ip。
利用https://viewdns.info/iphistory查询历史记录
②查找子域名很多时候,一些重要的站点会做CDN,而一些子域名站点并没有加入CDN,而且跟主站在同一个C段内,这时候,就可以通过查找子域名来查找网站的真实IP。
注:收集子域名后尝试以解析ip不在cdn上的ip解析主站,真实ip成功被获取到。
③内部邮箱源
邮箱注册,邮箱找回密码、RSS邮件订阅等功能场景,通过网站给自己发送邮件,从而让目标主动暴露他们的真实的IP,查看邮件头信息,获取到网站的真实IP。
④网络空间安全引擎
搜索通过关键字或网站域名,就可以找出被收录的IP,很多时候获取到的就是网站的真实IP。
⑤利用SSL证书寻找真实IP
证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。
SSL证书搜索引擎:
https://censys.io/ipv4?q=github.com
⑥国外主机解析域名大部分 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的DNS查询,很可能获取到真实IP。
3、获取真实ip
验证:直接尝试用IP访问。
六、密码收集
1、Github
(部分程序猿直接将真实的账号密码进行测试)
2、Google hack
Intitle:搜索网站标题含有的关键字
Inurl:搜索url含有的关键字
Intext:搜索网页正文含有的关键字
Site :搜索特定网站和网站域名
Filetype:搜索特定文档格式
Eg: site:*.xxx.cn intext:默认密码
七、端口信息
这是我见过把计算机端口讲得较为通俗透彻的一篇好文章 ==> Click here
在计算机中,端口是一个16位的二进制数,其范围从0~65535,也就是说,一个计算机可以有6万多个不同的端口。端口这个词来在中文语境下经常被理解为“一个设备的物理接口”,这种理解并没有错误,在网络设备中确实存在着物理端口,你可以通过拔插网线来切换端口,但是它并不是我们本文所要讲的端口,我们讲的端口是一个软件上的概念。
通过工具对端口进行扫描
1、nmap
nmap -sS -sV -O -F www.baidu.com
2、masscan
据说该工具是端口扫描最快的工具,但高速或许会存在误报率较高的后果。
下载地址:https://github.com/robertdavidgraham/masscan
masscan 10.23.19.214/16 --ports 0-100 --rate 100000
八、Web目录结构/接口
网站目录结构是指网站的物理结构和逻辑结构。
物理结构指的是网站目录及所包含文件所存储的真实位置所表现出来的结构;逻辑结构则是指由网页内部链接所形成的链接结构或URL结构。
1、burpsuite目录爬虫
burpsuite自身带有主动爬取目标站点功能,其中当站点存在删除接口或者CSRF漏洞等,谨慎使用该功能,在主动爬取时或可能触发漏洞导致较为严重后果。
2、Hae
HaE:对HTTP history中的数据进行正侧匹配,将匹配到的数据包更改颜色,快速帮助测试者发现数据包中的一些敏感信息。
Hae会高亮返回包中出现的接口信息,同时也体现了目标的目录结构
3、xscan
xsscan本身作为XSS自动化挖掘工具,其中带有crawl爬虫功能,其深度爬取效果较好,可以提取出大量目标站点接口,以及子域或者根域下的一些资产也会带出。
xscan.exe spider -u baidu.com
4、Dirsearch
python dirsearch.py -u baidu.com
5、御剑后台扫描
6、反编译App提取
对App进行抓包后,可以通过jadx反编译App,从中提取域名内容以及接口目录内容
九、网站指纹识别
这里的指纹识别,不是指人的指纹这种生物特征识别,而是指网站CMS指纹识别、计算机操作系统及web容器的指纹识别等。
应用文件在html、js、css等文件里面会包含一些特征码。比如WordPress在robot.txt中会包含wp-admin,首页index.html中会包含generator=wordpress 3.xx,这个特征就是指纹,碰到其他网站也存在此特征时,就可以快读识别出该CMS,这就叫做指纹识别。
1、什么是CMS
CMS:Content Management System,内容管理系统。
类似一个模板,管理员把内容填进去就生成网站了。以前人们对网站内容的管理都是靠手工维护,后来有了CMS便于人们管理网站,它会定期更新数据来维护网站。判别的方法就是看应用程序的文件中出现的特征码,这个特征码就可以快速识别出到底是哪一个CMS,所以称它为指纹识别。并不是所有网站都用了CMS,所以这一块在信息收集中起的是一个辅助作用所以CMS指纹识别。
在信息收集过程中,并不是为了收集到某些具体的信息,而是看看有没有漏洞利用的机会。常见的CMS有Dedecms、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、WordPress等。
2、搜集工具
whatweb、webrobo等。在线网站:在线指纹识别,在线cms识别小插件–在线工具 (bugscaner.com)
(1)御剑web指纹识别系统
快速识别国内一些主流的CMS。无法识别可能是因为CMS被隐藏,这也是一种防御手段
(2)Wappalyzer
Wappalyzer是基于正则表达式来识别Web应用,它的功能是识别单个url的指纹,其原理就是给指定URI发送HTTP请求,获取响应头与响应体并按指纹规则进行匹配。它也是一款浏览器插件,能识别出网站采用了那种Web技术,能够检测出CMS和电子商务系统、留言板、Javascript框架,主机面板,分析统计工具和其它的一些Web系统。
End
特此鸣谢:
研师傅和叶师傅的陪伴和支持。