前言
在渗透测试过程前,应先获取对应的授权,然后甲方会将需要进行渗透测试的资产信息详细罗列出来,但也不排除会遇到直接给你个域名/ip的甲方,那么就需要我们自己对给出的域名/ip进行信息收集。
1、收集域名信息
1.1. Whois查询
whois查询可以查到注册域名的时候留下的信息。比如注册商、注册人、邮箱、DNS解析服务器、注册人联系电话及更多的域名等,因为域名注册人可能是网站管理员,可以尝试社工、套路,查询是不是注册了其他域名扩大攻击范围。根据这些信息可以尝试制作社工密码,或者查出更多的资产等等。还有域名服务商、域名服务器、域名拥有者等。
https://beian.miit.gov.cn/#/Integrated/index 工信部备案网站
https://www.beian.gov.cn/portal/registerSystemInfo 公安备案网站
http://whois.chinaz.com/ 站长之家
https://whois.aizhan.com/ 爱站网
https://webwhois.cnnic.cn/WelcomeServlet 中国互联网信息中心
https://whois.cloud.tencent.com/ 腾讯云
https://whois.aliyun.com/ 阿里云
http://whois.xinnet.com/domain/whois/index.jsp 新网
反查邮箱链接
https://bbs.fobshanghai.com/checkemail.html 福人
https://www.benmi.com/rwhois whois反查
http://whois.chinaz.com/reverse?ddlSearchMode=1 站长工具
https://phonebook.cz phonebook
https://hunter.io/ hunter
1.2. 子域名收集
进行子域名收集可以扩大攻击范围、还可以发现隐藏的资产以及了解目标网络的结构情况,也可以在主站点没有web安全漏洞或者设置了WAF等安全产品等情况导致无法进行边界突破时,可以考虑对子域名进行渗透测试。
子域名爆破
https://github.com/euphrat1ca/LayerDomainFinder layer子域名挖掘机
https://github.com/lijiejie/subDomainsBrute subDomainsBrute
https://github.com/shmilylty/OneForAll OneforAll
https://github.com/aboul3la/Sublist3r Sublist3r
https://github.com/laramies/theHarvester theHarvester
https://github.com/projectdiscovery/subfinder subfinder
https://github.com/knownsec/ksubdomain ksubdomain
1.3. ICP 备案查询
ICP 备案查询可以找到目标的备案信息,还能知道目标可能不止备案了一个域名,收集目标的其他域名,若看到ICP 备案是XXXX-1
,这里-1
就是说明这个备案下不单单只有这一个域名,还有其他的域名。
https://beian.miit.gov.cn/#/Integrated/index 工信部备案
https://www.beian.gov.cn/portal/registerSystemInfo 公安备案
http://icp.chinaz.com/ 站长之家
https://www.aizhan.com/cha/ 爱站网
1.4. SSL 证书查询
SSL/TLS证书通常包含域名、子域名和邮件地址、证书状态等信息,结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息。
https://myssl.com SSL/TLS安全评估报告
https://crt.sh/ crt.sh
https://spyse.com/tools/ssl-lookup SPYSE
https://censys.io/ censy
1.5.DNS记录查询
可以查看 IP 与 域名绑定的历史记录所有历史记录,扩大资产搜索范围,若目标有做cdn加速,也可用来寻找绕过cdn的方法。
https://dnsdb.io/zh-cnl Dnsdb
https://site.ip138.com 查询网
https://ti.360.net/#/homepage 360威胁情报中心
https://x.threatbook.com 微步在线
https://viewdns.info viewdns.info
https://securitytrails.com securitytrails
https://tools.ipip.net/cdn.php tools.ipip
2、寻找收集真实ip
在测试过程中需要获取真实的IP
,如果目标有做cdn加速,获取到的是CDN
地址,是没什么意义的,比如你获取到的真实的 IP,就可以直接测试那些端口开放了,同时针对这些端口所开放的服务,采取不同的手段来进行测试。一般都是大型企业会做,小企业不会做。
2.1识别cdn
2.1.1get请求
GET 请求页面/文件地址,查看 HTTP 响应头中是否存在 “cache xxx” 的值,若存在,则表示有走 CD
2.1.2Ping域名
默认情况下你去 ping 一个地址的时候,返回的地址应该是差不多的,但是当变成很长一段的时候,大概率是经过跳转加速的,那么就可能存在CDN
。
2.1.3nslookup解析
若解析结果有多个,多半可能存在CDN,相反,若解析结果只有一个,可能不存在CDN(不能肯定)
2.1.4使用在线网站搜索
采用各地 dns 解析的方式来判断是否存在cdn,如果ip一致则不存在相反就是存在的。
2.2绕过cdn
2.2.1查目标网站的子域名
使用CDN
是需要花钱的,所以一般厂商都会在主站上实施CDN
,所以可以尝试找其他子域名,来绕过CDN
。同时绕 CDN 有时候是需要运气的,不是百分百能够绕过。
2.2.2HTML 页面信息匹配
在网站首页的源码中找到标题titie,然后到fofa来进行titie搜索匹配,然后逐个查看。
2..2.3利用证书序列号
网站证书是一串16进制字符,先通过在线网站将其调整为10进制,然后在fofa中使用cert 语法进行查询,域名和ip能够都访问网站就为真实ip。
2..2.4利用邮件去查
接收目标网站的邮件,通过邮件头信息获取真实IP地址。
2.2.5.DNS历史解析记录
有一些网站可以查询到DNS历史解析记录,可能在很多网站并未采用cdn时候的解析记录就被记录了下来,之后也并未更换服务器,此时就能查询到真实IP地址。
https://dnsdb.io/zh-cnl Dnsdb
https://site.ip138.com 查询网
https://ti.360.net/#/homepage 360威胁情报中心
https://x.threatbook.com 微步在线
https://viewdns.info viewdns.info
https://securitytrails.com securitytrails
https://tools.ipip.net/cdn.php tools.ipip
2.2.6国外地址请求
如果CDN仅在国内加速,可以尝试从国外服务器访问,可能会暴露真实IP。
https://www.wepcc.com/ wepcc
http://www.ab173.com/dns/dns_world.php ab173
https://dnsdumpster.com/ dnsdumpster
https://who.is/whois/zkaq.cn who.is
3、收集旁站或 C 段 IP
有时候主站我们测试不了,我们就可以对旁站进行测试,由于某些大厂业务较多,可能会买很多的公网IP
,而且这些厂商在购买公网IP
的时候,不太可能会去说某一个网段买一个IP
,另外一个网段再买一个IP
的,基本上都是在一个网段中挑几个连续的或者直接买一个网段。
https://nmap.org/download.html Nmap
https://gobies.org/ Goby
https://github.com/0x727/ShuiZe_0x727 水泽
https://github.com/shadow1ng/fscan fscan
https://github.com/EdgeSecurityTeam/EHole EHole(棱洞)
https://github.com/codeyso/CodeTest ARL灯塔
3.1、旁站
同服务器不同站点
旁站指的是网站所在服务器上部署的其他网站,同IP网站,一个IP上布置了多个网站 从同台服务器上的其他网站入手,获取到服务器权限,自然就获取到了目标网站的权限
3.2、 c段
同网段不同的服务器
C 段嗅探指的是拿下同一C段下的服务器,也就是说是c段1-255中的一台服务器,再通过内网横向移动获取你想要的服务器权限。
注意:一般情况下云服务器C段的IP都是相互独立的,这些服务器分属不同用户,没有渗透的必要
注意:探测C段时一定要确认ip是否归属于目标,因为一个C段中的所有ip不一定全部属于目标。
4、收集端口及服务
通过IP
地址获取到上面的端口,如何通过端口判断服务,通过服务的版本等等信息获取相关历史漏洞或者密码爆破等。
4.1、主机发现
主机发现可以发现的信息包括目标主机的存活状态、IP地址、端口开放情况等。
4.2、端口扫描
可以发现目标主机的端口开放情况。
4.3、版本探测
可以发现目标主机的邮件、系统版本、服务器版本。有一个精确的版本号对了解服务器有什么漏洞有巨大的帮助。
4.1、工具
nmap、masscan、御剑等
4.2、插件探测
Fofa Pro view
shodan
5、收集网站指纹
在渗透测试中,对目标服务器进行指纹识别是非常有必要的,因为只有识别出相应的web
容器或者CMS
,才能查看与其相关的漏洞,然后利用可用的漏洞进行相应的渗透测试。
5.1识别对象:
1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;
2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;
3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;
4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;
5、开发语言:比如PHP、Java、Ruby、Python、C#等;
6、操作系统信息:比如linux、win2008、win7、kali、centos等;
7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;
8、WAF信息:是否使用waf,如Topsec、safedog、Yundun等;
9、IP及域名信息:IP和域名注册信息、服务商信息等;
10、端口信息:有些软件或平台还会探测服务器开放的常见端口。
5.2工具
WAF识别: wafw00f:https://github.com/EnableSecurity/wafw00f
在线工具:
http://whatweb.bugscaner.com/look/ bugscaner 需要扫码登录
https://fp.shuziguanxing.com/#/ 数字观星
http://www.yunsee.cn/finger.html 云悉 需注册
http://sso.tidesec.com/ 潮汐
http://whatweb.bugscaner.com/look/ whatweb
https://github.com/search?q=cms识别 github查找
5.3插件
6、收集敏感信息
由于发布网站时,服务器配置问题,导致目录能够在浏览器中打开,从而引起信息泄露,造成安全隐患。例如你在网站目录下放置1.txt
,而这个1.txt
中存放网站的密码,那么这样攻击者通过该手段这样就能够直接登录网站了。
6.1.robots.txt
Robots协议(Robots Exclusion Protocol)“网络爬虫排除标准”,网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,同时也记录网站所具有基本的目录
6.2. 目录信息收集
通过扫描目录和文件,大致了解同站的的结构,获取突破点,比如后台,文件备份,上传点等。
目录扫描,主要扫描敏感信息、隐藏的目录和api、代码仓库、备份文件等。工具有:各种御剑,dirmap,Dirsearch,dirbuster,7kbstorm,gobuster等等。
6.3. 代码管理工具信息泄露
主要是出现在搭建网站的时候会出现源码泄露的情况,很多情况下我们都是对网站进行黑盒测试,而如果获取到源码后,那么漏洞相当于自己送过来。
https://zhuanlan.zhihu.com/p/110389472
6.4网站扫描
网站漏洞扫描,各种扫描器了。如:nessus,极光,xray,AWVS,goby,AppScan,各种大神团队自己编写的扫描器等等。
6.5.JS信息收集
在JS中可能会存在大量的敏感信息,包括但不限于:
-
某些服务的接口,可以测试这些接口是否有未授权等
-
子域名,可能包含有不常见或者子域名收集过程中没收集到的目标
-
密码、secretKey等敏感数据
https://gitee.com/kn1fes/JSFinder jsfinder https://github.com/rtcatc/Packer-Fuzzer Packer-Fuzzer https://gitee.com/mucn/SecretFinder SecretFinder
7、综合性信息收集
这里的收集就相对来说收集的更全面,同时也是更多的都是采用网络,想要很好的进行信息收集,那么一定需要会 FQ,
7.1搜索引擎
学会他们的搜索语法
fofa
domain="qq.com" #查询子域名
host=".gov.cn" #从url中搜索".gov.cn"
header="thinkphp" #从http头中搜索thinkphp
port="6379" #查找对应“6379”端口的资产
ip="1.1.1.1" #从ip中搜索包含“1.1.1.1”的网站
ip="220.181.111.1/24" #查询IP为“220.181.111.1”的C网段资产
status_code="402" #查询服务器状态为“402”的资产
app="通达OA网络智能办公系统" #搜索通达OA系统
country="CN" #搜索指定国家(编码)的资产
region="Henan" #搜索指定行政区的资产
city="beijing" #搜索指定城市的资产
360Quake
奇安信鹰图
google语法
特殊语法:
site:可以限制你搜索范围的域名;
inurl:用于搜索网页上包含的URL,这个语法对寻找网页上的搜索,帮助之类的很有用;
intext: 只搜索网页<body>部分中包含的文字(也就是忽略了标题、URL等的文字);
intitle: 查包含关键词的页面,一般用于社工别人的webshell密码;
filetype:搜索文件的后缀或者扩展名;
intitle:限制你搜索的网页标题;
inanchor: 搜素网站锚节点内容
cache # 缓存搜索 cache 关键字
cache:secquan.org 当一个链接无法访问时(或信息被屏蔽时);当信息已经被修改,想看以前的信息时
常用技巧:
查找后台地址:
site:域名
inurl:login|admin|manage|member|admin_login|login_admin|system|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/
bing语法
inbody: 查找正文内容 inbody:密码|登陆 查找标签内容
inanchor: 查找锚节点
filetype: 查找文件类型
site:返回属于指定网站的网页。若要搜索两个或更多域,请使用逻辑运算符OR对域进行分组ip: 查找特点ip的网站
7.2网盘搜索
直接百度网盘搜索,就可搜到很多在线网盘,然后进入网盘搜索关键词,如单位名、单位别称等。
https://wooyun.website/ 乌云漏洞库
https://www.lingfengyun.com/ 凌云搜索
http://www.pansoso.com 盘搜搜
http://www.pansou.com/ 盘搜
标签:收集,网站,完整,信息,域名,https,服务器,思路,com
From: https://www.cnblogs.com/kakayaa/p/18673310