- 明确目标
- 信息收集
- 漏洞分析
- 漏洞利用——证明漏洞存在
- 形成渗透报告
(主要讲解信息分析)
1.明确目标
需要明确需渗透资产的范围,客户想要通过这次渗透得到哪些内容,他的需求是什么,并制定相应的规则和计划。
2.信息收集
信息收集在渗透测试中尤为重要,信息收集的越全面,那么渗透测试的过程就会相对应的更加顺利,得到的内容也会更加全面,那么渗透测试可以从以下几个方面入手:域名、子域名、端口、网站架构、目录结构、apache、jdk、waf、cdn、旁站、c端、cms指纹等。
那么在这里我向大家推荐一个搜索引擎,不是火狐也不是谷歌,而是一款网络资产管理搜索引擎
它可以快速搜索和定位感兴趣的目标,比如网站、服务器、设备、漏洞等等,是信息收集的一大好手。
除此之外我们还介绍一下几种信息收集的方法:
- 利用nmap扫描:
nmap是一个网络服务和主机扫描器,它可以通过探测主机的开放端口和服务,发现网络资产并识别漏洞。
常用命令:
nmap:
-A:全面扫描
-sP:ping扫描
-P0:免ping扫描,穿透防火墙,避免被防火墙发现
等等
- 子域名爆破:
有的公司有许许多多个网站,但是他们的域名大多都是同一个就如一个品牌名一样,如:qq.com、baidu.com、huawei.com等,域名就跟品牌名一样象征着这个网站是这个公司的,而子域名就像是分公司,像tx、百度就有许多的子域名,一个个去找太麻烦且找不全这个时候就需要用到专门的工具(fofa可以查找子域名)来一个个查找,这就叫做子域名爆破。
工具有很多,我这里用到的是layer挖掘机:
它通过暴力枚举进行一个个的访问,能够得到能否访问,端口是否开放等有效信息(我认为这个和fofa)
- 查找网站文件
我们平时访问的网站都是前端内容,企业能让我们看见的,而后端大部分放着这个网站的数据,用户信息等,如果能从前端访问到后端的内容我们可以说是能直接看到其核心。
查找网站文件流程:
1.组织一个词典(常见的敏感文件、目录)
常见的敏感文件:
网站的备份文件/数据库备份文件 wwwroot.zip
后台登录的目录 manage login
安装包(源码)
上传的目录 uploads
mysql的管理界面 phpmyadmin
程序的安装路径 install
db.zip 数据库文件
2.拼接在网站根目录后面发起访问(如果响应404则不存在,如果是200则存在)
文件扫描思路:
原理:拼接子目录访问,分析http响应
方法:字典、暴力破解、爬虫
- cms——内容管理系统:
cms是一种创建、编辑、确定发布和管理网站上内容的软件应用程序。它可以是基于云端的在线平台,也可以是在本地硬盘上运行的桌面应用程序。并不是所有的网站都是程序员自己从头到尾一步一步的编写,有的则是选择了市场上常见的cms,而我们刚好可以利用这一点查看利用cms的网站是否存在该cms的漏洞
常见cms:
企业建站系统:Metinfo(米拓)、蝉知、SiteSever CMS等;
B2C商城系统:XpShop、HiShop、ECshop等;
门户建站系统:CmsTop、动易、PHPCMS等;
博客系统:Wordpress、Z-Blog等;
论坛社区:Discuz、PHPwind、WeCenter等
问答系统:Tipask、whatsns等;
知识百科系统:HDwiki;
B2B门户系统:Destoon、B2Bbuilder、友邻B2B等;
人才招聘网站系统:骑士CMS、PHP云人才管理系统;
房产网站系统:FangCms等;
在线教育建站系统:Kesion、EduSoho;
电影网站系统:苹果CMS、ctcms、movcms等;
小说文学建站系统:杰奇CMS;
查找是哪个系统是可以看看源代码或者最后的版权信息
相关工具:谷歌插件whatruns、kali中的whatweb
- 资产收集综合工具
资产收集综合工具(Asset discovery and inventory tools)是专门用于在企业网络环境中收集和管理IT资产信息的工具。这些工具通常使用自动扫描和探寻技术来识别企业中包括但不限于硬件设备、软件应用、网络设备、移动设备、虚拟机等资产信息。
常见的资产收集综合工具包含ARL灯塔、yakit、goby等
简单到这儿,我们整理一下收集到的资产:
- 联系人、联系方式
- 域名和子域名
- IP、端口信息
- 操作系统、应用程序、框架、数据库、版本信息
- 网站文件(目标扫描)
- 搜索引擎和网络空间测绘收集到的信息
- 等等
3.漏洞分析
漏洞扫描工具:(注:不能用来扫线上的系统如src上的)
商用:Appscan、Nessus、openvas
免费:goby、burp
我们可以利用已知的漏洞数据库对相应漏洞进行分析,如:
CVE:一个通用的数据库
CNVD:国家信息安全漏洞共享平台
4.漏洞利用
在分析完漏洞后我们可以用专门漏洞利用工具来对漏洞进行利用
Exploit:exploit-db.com
Kali中:msfconsole → searchsploit 相关程序
/usr/share/exploitdb/exploits/linux/local/:漏洞利用脚本库
最后一步就是生成报告,到此渗透测试一个简单的流程就到这里结束了。