信息收集完整思路及方法

信息收集完整思路及方法

前言

​ 在渗透测试过程前,应先获取对应的授权,然后甲方会将需要进行渗透测试的资产信息详细罗列出来,但也不排除会遇到直接给你个域名/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: 只搜索网页部分中包含的文字(也就是忽略了标题、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/ 盘搜

相关内容

达沃苏克 98世界杯 达沃苏克十佳球
365足球体育app下载

达沃苏克 98世界杯 达沃苏克十佳球

08-10 ☯ 7303
小咖秀母公司D轮融资2亿美元 估值超10亿美元|小咖秀|秒拍|一下科技
为什么我们不会飞起来?
365足球体育app下载

为什么我们不会飞起来?

10-08 ☯ 9899