信息搜集篇
简述
渗透的本质是信息收集
信息收集也叫做资产收集
信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试。
信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们更多的去找到渗透点,突破口。
信息搜集分类
- 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
- 网站指纹识别(包括,cms,cdn,证书等) dns记录
- whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
- 子域名收集,旁站,C段等
- google hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等
- 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
- 传输协议,通用漏洞,exp,github源码等
常见方法
whois查询
域名在注册的时候 需要填入个人或者企业信息 如果没有设置隐藏属性可以查询出来
通过备案号 查询个人或者企业信息 也可以whois反查注册人 邮箱 电话 机构 反查更多得域名和需要得信息。
收集子域名
域名分为根域名和子域名
moonsec.com 根域名 顶级域名
www.moonsec.com子域名 也叫二级域名
www.wiki.moonsec.com 子域名 也叫三级域名 四级如此类推
端口扫描
服务器需要开放服务,就必须开启端口,常见的端口是tcp 和udp两种类型
范围 0-65535 通过扫得到的端口,访问服务 规划下一步渗透。
查找真实ip
企业的网站,为了提高访问速度,或者避免黑客攻击,用了cdn服务,用了cdn之后真实服务器ip会被隐藏。
探测旁站及C段
旁站:一个服务器上有多个网站 通过ip查询服务器上的网站
c段:查找同一个段 服务器上的网站。可以找到同样网站的类型和服务器,也可以获取同段服务器进行下一步渗透。
网络空间搜索引擎
通过这些引擎查找网站或者服务器的信息,进行下一步渗透。
扫描敏感目录/文件
通过扫描目录和文件,大致了解网站的结构,获取突破点,比如后台,文件备份,上传点。
指纹识别
获取网站的版本,属于那些cms管理系统,查找漏洞exp,下载cms进行代码审计。
在线whois查询
通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等。
因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。
站长之家域名WHOIS信息查询地址 http://whois.chinaz.com
爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/
腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/
美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/
爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/
易名网域名WHOIS信息查询地址 https://whois.ename.net/
中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/
西部数码域名WHOIS信息查询地址 https://whois.west.cn/
新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp
纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
中资源域名WHOIS信息查询地址 https://www.zzy.cn/domain/whois.html
三五互联域名WHOIS信息查询地址 https://cp.35.com/chinese/whois.php
新网互联域名WHOIS信息查询地址 http://www.dns.com.cn/show/domain/whois/index.do
国外WHOIS信息查询地址 https://who.is/
在线查询网站备案
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案。
如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等),推荐以下网站查询
- 天眼查 https://www.tianyancha.com/
- ICP备案查询网http://www.beianbeian.com/
- 爱站备案查询https://icp.aizhan.com/
- 域名助手备案信息查询 http://cha.fute.com/index
搜集子域名
子域名的作用
搜集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。
常用方式
子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
查找目标域名信息方法:
FOFA title=”公司名称”
百度 intitle=公司名称
Google intitle=公司名称
站长之家,直接搜索名称或者网站域名即可查看相关信息:
钟馗之眼 site=域名即可
找到官网后,再收集子域名
域名的类型
A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录
A(Address)记录
是用来指定主机名(或域名)对应的IP地址记录。
用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
别名(CNAME)记录
也被称为规范名字。
这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。
例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。
如何检测CNAME记录
- 进入命令状态;(开始菜单 - 运行 - CMD[回车]);
- 输入命令” nslookup -q=cname 这里填写对应的域名或二级域名”,查看返回的结果与设置的是否一致即可。
MX(Mail Exchanger)记录
是邮件交换记录,它指向一个邮件服务器。
用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。
例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
TXT记录
TXT记录一般指为某个主机名或域名设置的说明,如:
- admin IN TXT “jack, mobile:13800138000”;
- mail IN TXT “邮件主机, 存放在xxx ,管理人:AAA”,Jim IN TXT “contact: abc@mailserver.com“
也就是您可以设置 TXT ,以便使别人联系到您。
如何检测TXT记录
- 进入命令状态;(开始菜单 - 运行 - CMD[回车]);
- 输入命令” nslookup -q=txt 这里填写对应的域名或二级域名”,查看返回的结果与设置的是否一致即可。
NS(Name Server)记录
是一种域名服务器记录。
用来明确当前你的域名是由哪个DNS服务器来进行解析的。
子域名在线查询
https://site.ip138.com/moonsec.com/domain.htm
挂梯子
https://hackertarget.com/find-dns-host-records/
通过该方法查询子域名可以得到一个目标大概的ip段,接下来可以通过ip来收集信息。
子域名挖掘工具
layer子域名挖掘
SubDomainBute
12server中安装python环境
pip install aiodns
运行命令
进入工具文件夹 cd
subDomainsBrute.py freebuf.com
subDomainsBrute.py freebuf.com –full -o freebuf2.txt
隐藏域名hosts碰撞
很多时候访问目标资产IP响应多为:401、403、404、500,但是用域名请求却能返回正常的业务系统(禁止IP直接访问),因为这大多数都是需要绑定host才能正常请求访问的 (目前互联网公司基本的做法)(域名删除了A记录,但是反代的配置未更新),那么我们就可以通过收集到的目标的 域名 和 目标资产 的IP段组合起来,以 IP段+域名 的形式进行捆绑碰撞,就能发现很多有意思的东西。
在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求 (就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回 来做对比,即可快速发现一些隐蔽的资产。
进行hosts碰撞需要目标的域名和目标的相关IP作为字典
目标域名历史解析IP:
ip正则:
工具host-scan-master
host填写域名
ip填写ip
host_ok返回正确匹配的值
我们之后再host_ok查看即可
端口扫描
当确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。
渗透端口
21,22,23,1433,152,3306,3389,5432,5900,50070,50030,50000,27017,27018,11211,9200,9300,7001,7002,6379,5984,873,443,8000-9090,80-89,80,10000,8888,8649,8083,8080,8089,9090,7778,7001,7002,6082,5984,4440,3312,3311,3128,2601,2604,2222,2082,2083,389,88,512,513,514,1025,111,1521,445,135,139,53
masscan端口扫描
masscan -p 1-65535 ip –rate=1000
御剑端口扫描工具
nmap端口扫描和探测端口信息
常用参数,如:
- nmap -sV 192.168.0.2
- nmap -sT 92.168.0.2
- nmap -Pn -A -sC 192.168.0.2
- nmap -sU -sT -p0-65535 192.168.122.1
用于扫描目标主机服务版本号与开放的端口
如果需要扫描多个ip或ip段,可以将他们保存到一个txt文件中
nmap -iL ip.txt
来扫描列表中所有的ip。
在线端口检测
旁站和c段
旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。
站长之家
同ip网站查询http://stool.chinaz.com/same
google hacking
Google Hacking 是利用谷歌搜索的强大,来在浩瀚的互联网中搜索到我们需要的信息。
轻量级的搜索可以搜素出一些遗留后门,不想被发现的后台入口,中量级的搜索出一些用户信息泄露,源代码泄露,未授权访问等等,重量级的则可能是mdb文件下载,CMS 未被锁定install页面,网站配置密码,php远程文件包含漏洞等重要信息。
基本搜索
- 逻辑与:and
- 逻辑或: or
- 逻辑非: -
- 完整匹配:”关键词”
- 通配符:* ?
高级搜索
intext:
寻找正文中含有关键字的网页
例如: intext:后台登录 将只返回正文中包含 后台登录 的网页
intitle:
寻找标题中含有关键字的网页
例如: intitle:后台登录 将只返回标题中包含 后台登录 的网页,intitle:后台登录 密码 将返回标题中包含后台登陆而正文中包含密码的网页
allintitle:
用法和intitle类似,只不过可以指定多个词
例如: alltitle:后台登录 管理员 将返回标题中包含后台登录 和管理员的网页
inurl:
将返回url中含有关键词的网页
例如:inurl:Login 将返回url中含有 Login 的网页
allinurl:
用法和inurl类似,只不过可以指定多个词
例如:allinurl:Login admin 将返回url中含有 Login 和 admin 的网页
site:
指定访问的站点
例如: site:baidu.com inurl:Login 将只在baidu.com 中查找url中含有 Login的网页
filetype:
指定访问的文件类型
例如:site:baidu.com filetype:pdf 将只返回baidu.com站点上文件类型为pdf的网页
link:
指定链接的网页,例如:link:www.baidu.com 将返回所有包含指向 www.baidu.com 的网页
related:
相似类型的网页
例如:related:www.xjtu.edu.cn 将返回与 www.xjtu.edu.cn 相似的页面,相似指的是网页的布局相似
cache:
网页快照,谷歌将返回给你他存储下来的历史页面,如果你同时制定了其他查询词,将在搜索结果里以高亮显示,例如:cache:www.hackingspirits.com guest ,将返回指定网站的缓存,并且正文中含有guest
info:
返回站点的指定信息,例如:info:www.baidu.com 将返回百度的一些信息
define:
返回某个词语的定义,例如:define:Hacker 将返回关于Hacker的定义
phonebook:
电话簿查询美国街道地址和电话号码信息。例如:phonebook:Lisa+CA 将返回名字里面包含Lisa并住在加州的人的所有名字
Index of
利用 Index of 语法去发现允许目录浏览的web网站,就像在本地的普通目录一样。下面是一些有趣的查询:
- index of /admin
- index of /passwd
- index of /password
- index of /mail
- “index of /“ +passwd
- “index of /“ +password.txt
- “index of /“ +.htaccess
- “index of /root”
- “index of /cgi-bin”
- “index of /logs”
- “index of /config”
网络空间搜索引擎
如FOFA搜索旁站和C段
FOFA的常用语法
同IP旁站:ip=”192.168.0.1”
C段:ip=”192.168.0.0/24”
子域名:domain=”baidu.com”
标题/关键字:title=”百度”
如果需要将结果缩小到某个城市的范围,那么可以拼接语句
title=”百度”&& region=”Beijing”
特征:body=”百度”或header=”baidu”
该方法效率较高,并能够直观地看到站点标题,但也有不常见端口未收录的情况,虽然这种情况很少,但之后补充资产的时候可以用下面的方法nmap扫描再收集一遍。
https://www.shodan.io/dashboard?language=en
在线c段查询
webscan.cc