定义:
渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
渗透测试主要分为以下步骤:
1. 确定目标
2. 信息收集
3. 漏洞探测
4. 漏洞利用getshell
5. 内网转发
6. 内网渗透
7. 痕迹清除
8. 撰写渗透测试报告
一.确定目标:
顾名思义,就是确立你想渗透测试的目标
二.信息收集:
2.1:进行渗透测试之前, 最三重要的一步就是信息收集,在这个阶段,我们要尽可能地收集目标组织的信息。所谓“知己知彼,百战不殆”,我们越是了解测试目标,测试的工作就越容易。
2.2:
在划定了测试范围之后,就需要进入信息收集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们搜集信息的互联网渠道主要有:论坛/公告板/新闻组/媒体文章/博客/社交网络/github/其他商业或非商业性的网站。此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。收集的信息主要包括:
(1)收集目标网站服务器信息:域名、子域名、CNAME、cdn、真实IP、系统类型、版本等;
(2)识别并收集目标网站指纹信息:CMS、中间件、网页编程语言等及其通用漏洞调查收集;
(3)扫描并收集目标网站目录结构:一些文件可以访问获得信息、后台管理页面位置、日志位置等;
(4)网站的敏感信息:
whois信息、姓名、备案、邮箱、电话反查(邮箱丢社工库,社工准备等);
弱口令扫描、密码爆破等(如针对系统管理员、网站后台管理员、数据库管理员等);
网站源码是否泄露等,如github源码。
(5)收集目标服务器主机端口信息:不同端口提供不同的攻击思路和方向;
(6)网络防护信息:网络边界设备或网络节点设备,如有没有防火墙,有没有IPS、IDS或WAF,网络行为管理,全流量分析。
收集的信息越多,渗透测试成功的概率越高。
在信息收集中,最主要的就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息、目标网站系统、CMS指纹、目标网站真实IP 、开放的端口等。