信息收集主要包括资产收集(企业资产收集、梳理)和信息收集(对服务器、站点等信息手机)。
什么是资产?
资产是指由企业过去的交易或事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源、而渗透测试中的资产指的则是网站的架构、IP、设备型号(如果有的话)、网站拓扑(多用于内网)等。
为什么需要资产收集?
- 在实际渗透测试过程中,我们需要对企业的资产进行梳理,但是往往在渗透测试过程中。客户通常会给我们一个主域名,此时资产收集就显得尤为重要了。
- 随着企业内部业务的不断壮大,各种业务平台和管理系统越来越多,很多单位往往存在着”隐形资产“,这些”隐形资产“通常被管理员所遗忘,长时间无人维护,导致存在较多的已知漏洞。
资产收集的重要性?
在渗透测试过程中,我们需要尽可能多的收集目标的信息,资产检测和信息收集,决定了你发现安全漏洞的几率有多大,如何最大化的去收集目标范围,尽可能的收集到子域名及相关域名的信息,这对我们进一步的渗透测试很重要。
所谓资产收集就是从主域名出发,尽可能去收集关于该主域名的一切信息,如:子域名、相关域名(旁站。C段)、移动端、行业系统…
什么是子域名?
子域名也就是顶级域名前加前缀的都是子域名,是指顶级(一级)域名下的域名。例如:baidu.com,是个顶级域名,那么”.baidu.com“就是baidu.com的子域名。
常见的顶级域名后缀: .com、.cn、.net、 .org等
我国在国际互联网信息中心正式注册的域名是.cn,我国的二级域名又分为资产收集类别域名和行政域名。
1、类别域名:科研机构的.ac、工商金融的.com、教育机构.edu、政府机构.gov、互联网信息中.net、非盈利机构.org
2、行政域名:34个,分别对应各省、自治区、直辖市。
3、如:http://www.nankai.edu.cn/
为什么收集子域名?
- 假设目标资产数量庞大,一般来说主域都是防护重点,管理上可能会谨慎,防护也相对严格,因此从子域名入手便成了很好的选择,子域往往在防护上会相对更加的松懈,然后再慢慢向目标系统渗透,所以子域名的收集便显得尤为的重要。
- 通常,一台服务器上有很多个站点,这些站点之间没有必然的联系,是相互独立的,使用的是不同的域名(甚至端口都不同),但是他们却共存在一台服务器上。
子域名收集常用方法:
子域名检测工具
搜索引擎枚举
第三方接口查询
证书透明度公开日志枚举
子域名爆破工具:
layer子域名挖掘机
layer子域名挖掘机是一款域名查询工具,可提供网站子域名查询服务;拥有简洁的界面、简单的操作模式,支持服务接口、暴力搜索、同服挖掘三种模式。
oneforall
安装时要搭建python3环境。
maltego
maltego是一款非常优秀的信息收集。与其他工具相比,不仅功能强大,而且自动化水平非常高,不仅需要复杂的命令,就能轻松的完成信息收集。
Google hack语法
intitle:表示搜索在网页标题中出现第一个关键词的网页
inurl:返回网页链接中包含的第一个关键字的网页。
intext:返回网页文本中出现关键字的网页
site:某个特定的网站中搜索
filetype:搜索特定拓展名的文件(.doc .pdf .txt)
cache:搜索Google缓存中的网页
第三方接口查询
常用第三方子域名爆破接口
https://phpinfo.me/domain/
https://dnsdumpster.com/
https://www.virustotal.com/gui/home/search
https://tool.chinaz.com/subdomain/
https://searchdns.netcraft.com/
证书透明度公开日志枚举
证书透明度是证书授权机构(CA)的一个项目,该机构会将每一个SSL/TLS证书发布到公共日志中,而这些证书中通常包含域名,子域名,邮箱地址等信息,所以通过公开的日志,我们也可以获取到域名信息。
常见的SSL证书查询在线引擎:
https://certdb.com/domain/github.com
https://crt.sh/?ldentity=%%.github.com
https://censys.io
相关域名收集:
信息收集主要是对梳理出来的企业资产进行更加详细、有目的性的去收集单个目标站点的各种信息,从而让渗透变得更为简单。它主要围绕着域名、真实IP、端口、服务、CMS、中间件等信息。
Whois信息:
也就是注册人(注册商)的信息,包括姓名、邮政、电话、地址等信息。通过挖掘Whoise信息,进一步通过搜索引擎获取更多的信息,另外对于中小站点来说,域名所有人往往就是管理员。
Kali:Whois xx.xx.com
在线查询:站长之家、爱站、whoise365、whois.aliyun.com等
备案信息:
网站备案是根据国家法律规定的,网站所有者需要向国家有关部门申请备案,防止从事非法活动。
IPC备案查询网:http://www.beianbeian.com
天眼查:http://www.tianyancha.com
工业和信息化部政务服务平台:http://beian.mit.gov.cn/
ip信息收集:
有的企业做了CDN加速,此时我们需要绕过CDN去查找到真是的IP才可以。
CDN
CDN即内容分发网络,主要用来解决因传输距离和不同运营商节点造成的网络速度性能低下的问题,提高用户的体验。也可以理解为一种缓存服务器。
判断是否存在CDN:
多地Ping或直接访问目标域名所解析的IP地址,查看是否能跳转到域名所在的页面。
在线多地Ping:http://www.17ce.com
爱站、站长之家等站点
CND常用绕过方法
在确认了目标使用了CDN以后,我们此时便需要绕过CDN,寻找真是IP,常用方法:
多地Ping:
目标站点可能只针对国内或某些地区做了CDN。
http://ping.chinaz.com
https://ping.aizhan.com.
http://www.17ce.com
扫描测试文件:
使用工具扫描测试文件、探针文件,如phpinfo、text文件,从而获取真实IP。
子域名或移动端APP获取:
主站点流量大,大多数主站做了CDN,而分站可能不会做CDN,可能分站和主站不是一个IP,但可能会是一个C段,此时我们可以判断真实IP。
移动端APP可能会泄露目标的真实IP,利用Burp Suite或Fiddler抓包获取。
利用已知漏洞:
利用XSS盲打,SSRF或命令执行漏洞。
网站邮件订阅查找:
内部邮箱源,一般邮箱都在内部系统中,未经过CDN解析,通过注册、或订阅功能,查看邮件服务器域名或IP,但是要注意,必须是目标自己地邮件服务器,不能是第三方或公共邮件服务器。
国外服务器访问:
由于CDN的价格昂贵,大多数只针对国内用户做加速,而国外访问可能不存在,此时可以使用国外服务器访问、或Ping,可能会获取到真实IP。
https://asm.ca.com/en/ping.php
DNS历史解析:
查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录。
https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
https://searchdns.netcraft.com/
http://viewdns.info/
https://securitytrails.com/
利用网络空间引擎搜索法:
以fofa为例,只需输入: title:“网站的tite关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip
钟馗之眼:https://www.zoomeye.org/
Shodan:https://www.shodan.io/
FOFA:https://fofa.so/
SSL证书探测:
我们可以利用空间引擎进行SSL证书探测
https://censys.io/certificates
关键字:443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:www.xxx.com或443.https.tls.chain.parsed.names
扫全网,整个互联网网段
端口信息收集:
在渗透测试中,对目标进行端口扫描的意义往往是很重要的,因为我们可以通过端口去判断目标系统开放了哪些的服务,然后我们在根据相关的服务去进行进一步的渗透测试。
我们最常用的工具就是Nmap/Zenmap或者Mascan去进行端口扫描,当然还有很多优秀的扫描软件。
端口端口说明攻击方法22SSH远程连接爆破、SSH隧道及内网代理转发、文件传输23telnet远程连接爆破、嗅探、弱口令3389rdp远程桌面shift后门、爆破5900VNC远程连接弱口令、RCE5632PcAnywhere远程连接嗅探、代码执行。
单个目标扫描:
nmap 192.168.1.1
多个目标扫描
使用场景:目标地址不在同一网段或在同一网段但数量不多
nmap 192.168.1.2 192.168.4.2
扫描一个范围内的目标:
使用场景:目标处于一个ip范围时
nmap 192.168.1.1-255
扫描文本中的目标地址:
使用场景:给定目标资产文本时,可直接读取扫描。
nmap -il C:/路径/target.txt
扫描除了某地址之外的所有目标:
nmap 192.168.0.100-255 exclude 192.168.0.108
扫描除了某文件内目标之外的所有目标:
nmap 192.168.0.100-255 excludefile C:/路径/target.txt
扫描指定端口:
nmap 192.168.1.1 -p21,22,23,80,3389
其他参数
vv:对结果的详细输出.
sP: Ping扫描
sT: TCP连接扫描:完整三次握手,最基础最稳定的扫描方式.
sS: TCP SYN扫描,
sU: UDP扫描,速度非常慢
P0:无Ping扫描,用于禁止Ping的扫描
利用Google高级语法去页面中检索后台。
利用御剑、7kb、御剑、dirb、dirbuster、wwwscan、Nikto (nikto -host xx.com)等工具枚举后台地址、敏感文件。
robots.txt文件是一个防爬虫文件,一般后台是不允许被爬取的,所以该文件可能存放着后台信息。 phpinfo()信息,phpinfo.php、l.php是一个探针信息文件,访问该文件可获取服务器配置等信息。查询目标站点在乌云镜像站是否存在已知漏洞。
Kali工具WAFWOOF:命令wafwO0f -a域名
nmap脚本–script=http-waf-detect . --script=http-waf-fingerprint
Github之邮件配置信息泄露:site:Github.com smtp、site:Github.com smtp @qq.com
Github之数据库信息泄露:site:Github.com sa password、site:Github.com root password、site:Github.com User ID=’sa’;Passwordk
Github之svn信息泄露:site:Github.com svn、site:Github.com svn username
Github之综合信息泄露:site:Github.com password、site:Github.com ftp ftppassword、site:Github.com密码、site:Github.com内部
管理员在对网站进行修改、升级等操作前,可能会将网站或某些页面进行备份,由于各种原因将该备份文件存放到网站目录下,该文件未做任何访问控制,导致可直接访问并下载。可能为.rar.
zip、.7z、.tar.gz、.bak、.txt、.swp等等,以及和网站信息有关的文件名www.rar、web、rar等等.
由于目前的web项目的开发采用前后端完全分离的架构:前端全部使用静态文件,和后端代码完全分离,隶属两个不同的项目。表态文件使用git 来进行同步发布到服务器,然后使用nginx指向到指定目录,以达到被公网访问的目的。在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,.git这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码。
WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
/WEB-INF/web.xml: Web应用程序配置文件,描述了servlet和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的class 文件,包括servlet class和非servlet class,他们不能包含在.jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
robots.txt文件(防爬虫文件)里的目录结构,例如/wp-admin/可以大致判断cms为WordPress
通过版权信息进行查询,拉到底部查看版权信息,有些站点会显示出来例如Powered by DedeCMS_x
网页源码查看
·通过扫描器如wpscan针对wordpress,再比如御剑扫描目录分析目录结构
在线扫描:
·在线识别: http://whatweb.bugscaner.com/look/
·云悉http://www.yunsee.cn
·潮汐指纹: http://finger.tidesec.net/
服务器系统信息:
·最直接的办法是利用Linux系统对大小写敏感,而Windows不敏感
·数据包返回判断
中间件判断:
利用常规知识判断
报错法(想办法让网站报错)
burp抓包、火狐插件
站点架构信息收集:
网站架构信息:
网站语言、数据库,网站框架、组件框架历史漏洞·
常用的网站架构如:
LAMP: LAMP==Linux+ Apache+Mysql+PHP
LNMP: LNMP==Linux+Nginx+Mysql+PHP.
PHP框架:ThinkPHP
在线查找:
云悉指纹:http://www.yunsee.cn/
潮汐指纹: http://finger.tidesec.net/
title url catch :