前言
进行渗透测试之前,最重要的一步就是信息收集。在这个阶段,我们要尽可能地收集目标的信息。所谓“知己知彼,百战不殆”,我们越了解测试目标,测试的工作就越容易。
信息收集的方式可以分为两种:主动和被动。
主动信息收集:通过直接访问、扫描网站,这种流量将流经网站。
被动信息收集:利用第三方的服务对目标进行访问了解,比例:Google搜索、Shodan搜索等。
没有一种方式是最完美的,每个方式都有自己的优势,主动方式,你能获取更多的信息,但是目标主机可能会记录你的操作记录。被动方式,你收集的信息会相对较少,但是你的行动并不会被目标主机发现。一般在一个渗透项目下,你需要有多次的信息收集,同时也要运用不同的收集方式,才能保证信息收集的完整性。
域名信息收集
域名
根域:由于 ICANN 管理着所有的顶级域名,所以它是最高一级的域名节点,被称为根域名(root domain)。在有些场合,www.example.com 被写成www.example.com. ,即最后还会多出一个点。这个点就是根域名。理论上,所有域名查询都必须先查询根域名,因为只有根域名才能告诉你,某个顶级域名由哪台服务器管理。事实上也确实如此,ICANN 维护着一张列表,里面记载着顶级域名和对应的托管商。比如,我要访问www.example.com, 就必须先询问 ICANN 的根域名列表,它会告诉我.com域名由 Verisign 托管,我必须去找 Verisign,它会告诉我example.com服务器在哪里。由于根域名列表很少变化,大多数 DNS 服务商都会提供它的缓存,所以根域名的查询事实上不是那么频繁。
顶级域(国家/地区域;组织域):顶级域名是指域名最右边的那个词。顶级域名又分为两类:一是国家和地区顶级域名,200多个国家都按照ISO3166国家代码分配了顶级域名,例如中国是.cn,日本是.jp等;二是国际顶级域名,例如表示工商企业的.com,表示网络提供商的.net,表示非盈利组织的.org等。
顶级域名后缀 | 实体代表 | 顶级域名后缀 | 实体代表 |
---|---|---|---|
.net | 网络服务机构 | .mil | 军事机构 |
.com | 商业机构 | .biz | 商业机构 |
.rog | 非营利性组织 | .name | 个人网站 |
.gov | 政府机构 | .info | 信息提供 |
.edu | 教育机构 | .mobi | 手机域名 |
二级域:二级域名是互联网DNS等级之中,处于顶级域名之下的域名。它是域名的倒数第二个部份,二级域名就是主域名分出来的域名。很多人都误把带www当成一级域名,把其他前缀的当成二级域名,是错误的。正确的域名划分为:.com 顶级域名(一级域名),sougou.com 二级域名,tieba.sougou .com 二级域名
DNS
- 解析顺序(迭代查询、递归查询)
记录
方式
-
whois查询
- 站长工具 http://whois.chinaz.com/
- 阿里云中国万网查询 https://whois.aliyun.com/
- Robtex DNS
- 询显示关于目标网站的全面的DNS信息 https://www.robtex.com/
- 站长工具爱站查询 https://whois.aizhan.com/
- 全球Whois查询 https://www.whois365.com/cn/
-
备案信息查询
- ICP/IP地址/域名信息备案管理系统 http://beian.miit.gov.cn/publish/query/indexFirst.action
- ICP备案查询网 http://www.beianbeian.com/
- 备案吧吧 https://www.beian88.com/
- 天眼查 http://www.tianyancha.com
-
kali工具
Dnsenum域名信息收集 Dnsrecon域名侦察
Dnsenum <域名> Dnsenum –f 字典文件路径 –noreverse Dnsenum –t 1 缩短等待时间为不超过1秒 -v 详细显示所有进度和所有错误消息 Fierce-dns hackingarticles.in
Fierce域名爆破
子域名信息收集
-
原因:子域名枚举可以在测试范围内发现更多的额域或子域,这将增大漏洞发现得几率,有些隐藏的、被忽略的子域上运行的应用程序可能帮助我们发现重大的漏洞。
-
方法:Google黑语法(site,inurl,intitle,intext) 搜索引擎(最可怕的搜索引擎shodan) 手动工具 在线工具(https://dnsdumpster.com/ www.virustotal.com 在线子域名爆破 https://phpinfo.me/domain/ IP反查绑定域名 http://dns.aizhan.com/ https://hackertarget.com/find-dns-host-records/ https://site.ip138.com)
站点信息收集
CMS指纹识别
指纹:网站指纹是web服务组件在开发时留下的类型、版本等标记信息,包括Web服务器指纹、Web运用指纹及前端框架指纹等。 *** CMS:CMS(内容管理系统)又称为整站系统或文章系统,用于网站内容管理。用户只需要下载对应的CMS软件包,就能部署搭建,并直接利用CMS。但是各种CMS都具有其独特的结构命名规则和特定的文件内容,因此可以利用这些内突来获取CMS站占的具休软件cMS与版本。
工具
-
在线工具
BugScaner: http://whatweb.bugscaner.com/look/
潮汐指纹:http://finger.tidesec.net/
能判断是否使用了CDN 云悉:http://www.yunsee.cn/info.html
WhatWeb: https://whatweb.net/
云悉指纹: http://www.yunsee.cn/finger.html )
-
kali
-
纯手工 :根据HTTP响应头判断,重点关注X-Powered-By、cookie等字段;根据HTML 特征,重点关注 body、title、meta等标签的内容和属性。据特殊的class判断。HTML 中存在特定 class 属性的某些 div 标签,如<body class="ke-content">
敏感目录/文件收集/源码泄露
对网站进行目录扫描,探测web目录结构和隐藏文件是个非常重要的环节,从中可以获取网站的后台管理页面、文件上传界面、robots.txt,甚至可能扫描出备份文件从而得到网站的源代码。
有时候,针对某些安全做得很好的目标,直接通过技术层面是无法完成渗透测试的。
此时,便可以利用搜索引擎搜索目标暴露在互联网上的关联信息。 例如:数据库文件、SQL注入、服务配置信息,甚至是通过Git找到站点泄露源代码,以及Redis等未授权访问、Robots.txt等敏感信息,从而达到渗透目的。
工具
- 御剑
- Google hacking
- dirsearch
- GHDB谷歌黑客数据库(https://www.exploit-db.com/google-hacking-database/)
Google Hack常用语法:
- site:可限制你搜索范围的域名
- inurl:用于搜索网页上包含的URL,这个语法对寻找网页上的搜索,帮助之类的很有用
- intext: 只搜索网页部分中包含的文字(也就是忽略了标题、URL等的文字)
- filetype:搜索文件的后缀或者扩展名
- intitle:限制你搜索的网页标题
- link: 可以得到一个所有包含了某个指定URL的页面列表
- info:查找指定站点的一些基本信息
- cache:搜索Google里关于某些内容的缓存
**查找后台地址**:site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms **查找文本内容**:site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username **查找可注入点**:site:域名 inurl:aspx|jsp|php|asp **查找上传漏洞**:site:域名 inurl:file|load|editor|Files找eweb **编辑器**:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit **存在的数据库**:site:域名 filetype:mdb|asp|# **查看脚本类型**:site:域名 filetype:asp/aspx/php/jsp **迂回策略入侵**:inurl:cms/data/templates/images/index/
src漏洞平台
- 补天:https://www.butian.net/
- 乌云:http://www.anquan.us/
- 国家信息安全漏洞共享平台:https://www.cnvd.org.cn
- 漏洞盒子:https://www.vulbox.com/
- 知道创宇:https://www.seebug.org/
服务器信息收集
web服务器指纹识别
Web服务器指纹识别是了解正在运行的web服务器类型和版本,目前市场上存在几种不同的web服务器提供商和软件版本,了解被测试的web服务器的类型,能让测试者更好去测试已知漏洞和大概的利用方法
信息
- Web服务器名称,版本
- Web服务器后端是否有应用服务器
- 数据库(DBMS)是否部署在同一主机(host),数据库类型
- Web应用使用的编程语言
- Web应用框架
方法
-
手动检测
- 查看http头信息:https://www.cnblogs.com/charon1937/p/13717934.html
- 查看协议行为:观察HTTP响应头的字段组织顺序,每个服务器都有一个内部的HTTP头排序方式
- 浏览并观察网站(源码) HTML源码(特殊的class名称)及其注释(comment)部分,可能暴露有价值信息
- 刻意构造错误,nginx404
-
工具检测
whatweb:whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等等
用法: whatweb -v
whatweb –I <批量扫描文件>批量扫描文件>
真实IP地址识别
在渗透测试中,一般只会给你一个域名,那么我们就要根据这个域名来确定目标服务器的真实IP,我们可以通过像 www.ip138.com 这样的IP查询网直接获取目标的一些IP及域名信息,但这里的前提是目标服务器没有使用CDN
-
边缘服务器
-
CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN的关键技术主要有内容存储和分发技术。
CDN将用户经常访问的静态数据资源直接缓存到节点服务器上
如果目标服务器使用了CDN服务,那么我们直接查询到的IP并不是真正的目标服务器的IP,而是一台离你最近的目标节点的CDN服务器,这就导致了我们没法直接得到目标服务器的真实IP。
-
方法
一.判断是否用了CDN?
-
nslookup:发现返回时多个IP的话,多半使用了CDN
-
ping: ping某个网站发现显示的是在ping其他网站,那么也就是说使用了CDN
-
也可以使用设置代理或者使用在线从不同区域对目标进行ping,然后对比每个地区IP结果,如果一致就没有,如果不一致那么很可能就是使用了CDN,下面是一些在线网站
-
- 站长工具:http://ping.chinaz.com/
- 全球ping:https://www.wepcc.com
- 17CE:https://www.17ce.com
-
IPIP:https://www.ipip.net/ip.html
二.如何找到真实IP?
- 利用子域名。主域有CDN;许多情况下只有主站使了CDN,二级站点并没有,所以我们就可以直接查询分站的IP。分站的搜索方法见下文。也可以用我们可以使用搜索引擎输入site:http://baidu.com 或者inurl:http://baidu.com 来搜索 http://baidu.com 的子域名
- 查询主域。去掉www
- 网站漏洞。存在漏洞,信息泄露,主动连接
- 从国外访问。
- 国内部分 CDN 服务只针对国内,对国外的访问几乎不使用 CDN。所以我们可以通过国外冷门 DNS 查询域名。比如,nslookup http://xxx.com 199.89.126.10 C:\Users\asus\Desktop> nslookup http://hi-ourlife.com 199.89.126.10 名称: http://hi-ourlife.com Address: 45.64.65.85
- 国外代理网站App Synthetic Monitor(https://asm.ca.com/en/ping.php)
·历史解析记录
CDN 的 IP 地址之前所用的 IP 就是真实 IP。
https://toolbar.netcraft.com/site_report?url=www.baidu.com
- 通过邮件服务器。很多服务器自带邮件发送功能,可以利用它来获取真实 IP。让站点主动发送邮件,然后右键查询源代码,就能获得真实 IP。
- 历史DNS记录
验证IP
- 直接IP地址访问,看响应的页面是不是和访问的域名返回一样;
- 目标段比较大的情况下,借助类似Masscan的工具批扫描对应IP段中所有开放了80、443、8080端口IP,然后逐个尝试ip访问,观察相应是否为目标站点。
端口信息搜集
- 手工 Nmap nmap -A -v -T4 -O -sV 目标地址
- 在线
- 在线网站:http://tool.chinaz.com/port/
- ThreatScan在线网站(网站基础信息收集):https://scan.top15.cn/
- Shodan:https://www.shodan.io/
- Shodan的使用
相关文章:https://www.freebuf.com/sectool/121339.html
==更加详细的渗透测试请看大佬文章==