今天给大家介绍一下信息收集哦~~~
说起来信息收集,大家要记住,这是做渗透测试之前一定要做的步骤哦,小到一个IP,大到整个公司的资产!!
(在渗透测试中信息收集的质量直接关系到渗透测试成的结果,收集的信息越多对目标进行渗透的优势越有利。这边做的越全面,后面则更快捷,更有思路~~~~)
好了,那就开始和大家详细说说
一、信息收集的分类
首先,我们要收集的主要是服务器的配置信息和网站的敏感信息(包括但不限于域名信息、子域名信息、目标架构、IP地址、端口、脚本语言、中间件、Whois信息、邮箱信息、源码信息)
一般我们主要把信息收集分为资产收集和信息收集
资产收集
针对企业资产进行收集、梳理
信息收集
为对服务器和Web站点等进行信息收集
记住,收集的越全面,越容易挖漏洞!!!
二、资产收集
"资产" 指的是企业或目标环境中的各种信息技术资源。(域名、子域名、IP地址 、Web应用、APP、小程序 、服务器、旁站/C段、账户/邮箱信息等)
渗透测试的目标就是通过发现的这些资产找到潜在漏洞和安全弱点 。
隐形资产通常被管理员所遗忘,无人维护,导致存在较多的已知漏洞!!!
1.备案查询
根据工信部规定,所有在国内存放的网站必须进行 ICP 备案和公安备案。
工信部网站备案
查询备案号的两种方式:
- 通过页面显示的备案号直接进行查询
- 通过公司名称进行查询
以下的内容,相关的网站很多,大家可以自行找,懒得找的人也可以私信我,给你分享!!!
2.Whois查询
通过Whois查询可以获得域名注册者的注册人、邮箱、DNS解析服务器、注册人联系方式等信息
3.子域名查询
域名分为根域名和子域名。
主站的安全性相对较高,子域名则相对松懈。又因为同一公司一般采用相同的应用搭建多个服务,补丁的情况也差不多。所以安全性相对低的子域名存在相同漏洞的概率非常大。
这个有很多工具、网站、语法,一样的哦,私信我分享你们~~~~
PS: 当然也可以直接在[github]搜索子域名查询工具!!!要学会自己动手丰衣足食哦~~~
4.IP反查域名
通过IP反查该IP绑定过的域名
一般采用在线查询,一样,你们懂的~~~~
5.旁站/C段
旁站
与目标站点同一服务器下的其他站点
C段
同一局域网下的其他服务器
攻击同一C段中的其中一台机器(说白了,也就是IP中的第4部分不一样)
三、信息收集
1.指纹识别
指纹识别: CMS、OA系统、框架、中间件、厂商系统、VPN等系统
CMS/框架识别(内容管理系统)
常见 CMS 系统:
- 企业网站系统:MetInfo(米拓)、蝉知、SiteServer CMS
- B2C 商城系统:商派 shopex、ecshop、hishop、xpshop、niushop
- 门户建站系统:DedeCMS(织梦)、帝国 CMS、PHPCMS、动易、cmstop
- 博客系统:wordpress、Z-Blog
- 论坛社区:discuz、phpwind、wecenter
- 问题系统:Tipask、whatsns
- 知识百科系统:HDwiki
- B2B 门户系统:destoon、B2Bbuilder、友邻 B2B
- 人才招聘网站系统:骑士 CMS、PHP 云人才管理系统
- 房产网站系统:FangCMS
- 在线教育建站系统:kesion(科汛)、EduSoho 网校
- 电影网站系统:苹果cms、ctcms、movcms
- 小说文学建站系统:JIEQI CMS
- z-blog shopxo wordpress discuz dedecms
如果某个框架、CMS、OA系统、组件等被识别到了,就能对该站点进行Nday测试。
一样的,私信我分享哦~~~
框架CMS识别
框架/CMS 根据路径文件特征、favicon图标识别
.Action后缀 90%机率是 struts2或者webwork框架
.do 后缀 50%机率是 spring mvc框架
.form 后缀 60%机率是 spring mvc框架
.Vm 后缀 90%机率是 VelocityViewServlet框架
.jsf 后缀 99%机率是 JavaServer faces框架
url路径/action/xxx 70%机率是 struts2框架
数据库识别
常规判断:asp ->sql server , php -> mysql , jsp ->oracle
端口服务:1433 ->sql server , 3306 ->mysql , 1521 ->oracle
2.目录扫描
目的:获取敏感信息,获取更多功能点
寻找网站的后台登陆地址;寻找未授权访问(本身需要权限认证却因为配置错误,可以直接访问到) 的页面;寻找网站更多隐藏的信息。
这一块基本都是靠工具完成的,可以私信我分享~~~当然大家最好都是自己找,这样能锻炼自己的能力
3.敏感信息
查看JS脚本,里面可能会存放着各接口(目录或文件) /URL等,其中可能会有某个URL或接口能够未授权访问,进而获取敏感数据
不同的端口绑定不同的服务,不同的服务存在的安全漏洞不同
网站的页脚(新闻,公众号文章等),可能存在电话号码或邮箱号码(存活账号)
4.源码泄露
包括.git等等
5.收集IP地址
CDN绕过
CDN通过在互联网各处放置节点服务器在现有的互联网基础之上的一层智能虚拟网络,CDN核心的就是使用户可就近访问网络,取得所需内容。
PS:不同的地区Ping相同的域名反馈IP不一样的原因。
一样的,需要分享工具、网站、插件等等的私信我~~~
6.端口扫描
确定了目标大概的IP,可以先对IP的开放端口进行探测,一些特定的服务可能开启在默认端口上。
Nmap扫描工具
既可以用于前期收集主机信息,也可以用于管理员了解网络情况,甚至可以弱点扫描。(主机发现,端口扫描,操作系统识别,服务识别)
- 主机发现:-sP主机发现是为了发现网段内的活跃主机(活跃主机是指这台主机是运行状态)。
- 端口扫描:-P向目标计算机的指定端口发送特制的数据包组合,然后根据目标端口的反应来判断它是否开放。
- 服务及版本检测(服务识别): -sV向目标计算机的目标端口发送特制的数据包组合,然后根据目标的反应来检测它运行服务的服务类型和版本。
- 操作系统检测:-O 向目标计算机发送特制的数据包组合,然后根据目标的反应来检测它的操作系统类型和版本。
这个工具作为一个能用很久,而且基础的工具,这里就给大家介绍一下他的详细用法~~
7.操作系统判断
TTL值全称是“生存时间(Time To Live)”,表示DNS记录在DNS服务器上缓存时间;是数据包生存周期,根据减少的数可以判断经过了多少中间设备。
默认情况下的值:
WINDOWS NT/2000 TTL:128
WINDOWS 95/98 TTL:32
UNIX TTL:255
LINUX TTL:64
WIN7 TTL:64
大小写判断
根据操作系统不同对url进行修改
Linux对大小写敏感,windows对大小写不敏感!!!!!
Nmap 系统指纹识别
(1)原理
TCP/IP 数据包发到目标主机,由于每个操作系统类型对于 TCP/IP 数据包的处理方式都不相同,所以可以通过两者之间的差别判定操作系统类型。
(2)识别方法
- nmap -sS -Pn -0 ip
nmap 识别操作系统指纹必须使用端口,所以不允许添加-sn 参数
- nmap -sS -sV ip
每个操作系统都有特定的服务和端口
● windows 桌面连接使用的 3389 端口,rdp 协议
● 445 端口 windows 的 smb 协议开启端口
● linux 系统远程连接 22 端口,ssh 协议
8.中间件判断
判断方法:
- http返回消息中server字段
- F12-->Network查看
- 根据报错信息判断
- 根据默认页面判断
- 通过端口服务探测
通过端口服务探测,Tomcat/Jboss ˰ 8080 端口 Weblogic ˰ 7001 端口
- 插件识别
好了,信息收集的内容就给大家说到这里,总的来说,信息收集,我们都是使用工具,在线网站,插件等等去收集的~~~
工具很多,大家最好自己收集,然后找到最全面,最顺手的工具
当然,大家要是觉得无所谓,或者懒得找,可以私信我,给大家分享网站、工具、插件和使用方法~~~
最后,都要记得细心一点!!!