渗透测试执行标准:
渗透测试执行标准原版:
PTES Technical Guidelines - The Penetration Testing Execution Standard
渗透测试执行标准诸葛建伟翻译脑图:
https://wenku.baidu.com/view/debdfff05901020206409c54.htmlHttps://wenku.baidu.com/view/debdfff05901020206409c54.html
目标确认-->信息收集-->漏洞发现-->漏洞利用-->权限维持/内网渗透-->目标获取/痕迹清理
目录
渗透测试执行标准:
实际过程:
1)信息收集
1.域名信息
2.公司敏感信息
3.网站指纹
4.整站分析服务器类型:
5.扫描
2)漏洞扫描
3)漏洞利用
4)权限提升
5)日志清理
6)总结报告及修复方案
实际过程:
在获取书面授权的前提下。
1)信息收集2)漏洞扫描3)漏洞利用4)权限提升5)日志清理6)总结报告及修复方案
1)信息收集
域名信息、公司敏感信息、网站指纹、整站分析(服务器类型、网站容器、脚本类型、数据库类型)
主机扫描、端口扫描、目录/文件扫描、旁站/C段扫描、网站漏洞扫描
1.域名信息
确定了目标,就知道了域名。我们要通过域名收集真实IP、whois信息、子域名信息等
IP:首先判断是否存在CDN
常见的用cmd? dig命令? ? nslookup命令、全球ping,多地ping、ssl证书 [ 一般查不到真实IP ]
查询历史解析记录(最快)、邮件服务器、利用网站漏洞 [ 可查到真实IP ]
(判断和绕过后期会有详解)
whois信息:通常用站长之家进行查询。根据查询出来的邮箱、注册人、公司、电话等进行反查。
whois是用来查询域名注册所有者等信息的传输协议。通常使用TCP协议43端口。
whois:用来查询域名是否已经被注册、注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。每个域名/IP的whois信息由对应的管理机构保存。
子域名查询:
Layer子域名爆破机
通过查询DNS服务器,查询该域下的解析记录
利用google查询 ?site:baidu.com-www
HTTP证书查询 ?https://crt.sh??
2.公司敏感信息
去互联网查询一切与该公司有关的信息。如邮箱、员工姓名等等。
github、码云等代码平台上查找相关的敏感信息。
3.网站指纹
指纹识别是相当有必要的,识别出相应的Web容器或者CMS,查找与其相关的漏洞。
CMS又称整站系统。
常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝国、Z-Blog等。
常见的网站指纹识别工具有:whatweb等。
在线指纹识别网站:
BugScaner:http://whatweb.bugscaner.com/look/
云悉指纹:http://www.yunsee.cn/finger.html
WhatWeb:https://whatweb.net/
4.整站分析服务器类型:
判断操作系统是Linux?还是 Windows,判断版本(低版本一般存在公开漏洞) 。
ping检测:windows? ttl值为128,linux? ttl值为64(ttl更加靠近哪个就是哪个)
windows不区分大小写,linux区分大小写
nmap扫描:-O-A都可以扫描到具体版本
4.1网站容器:
网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。
探测web服务器具体的版本,不同的web服务器版本,存在着不同漏洞。
(常见中间件漏洞后续详解)
4.2脚本类型:
1:可以根据网站URL来判断
2:site:xxx? filetype:php
3:可以根据Firefox的插件来判断
4.3数据库类型:
Access:是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名:.mdb。一般是asp的网页文件用access数据库
SQL Server:1433:是一个比较大型的数据库。数据库后缀名 .mdf
MySQL:3306:是一个关系型数据库管理系统。MySQL数据库大部分是php的页面。
Oracle:1521:关系数据库管理系统。常用于比较大的网站。
差异:
成本上的差距:access是不要钱的,mysql也是开源的,sql server 是收费的一般也就几千,Oracle的费用则数万。
处理能力:access支持千以内的访问量,sql server支持几千到上万的访问,而Oracle则支持海量的访问。
数据库的规模:access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。
5.扫描
1.主机扫描:
探测扫描存活主机,目标主机上有哪些漏洞。
主机扫描的工具也有很多,比如:Nessus、AWVS、owasp_zap等
2.端口扫描:
扫描开放端口,方便我们查询漏洞。如 135 、137 、138 、139 、445,这些端口经常爆发漏洞。
端口扫描工具有nmap和masscan。
nmap扫描的准确性较高,但是扫描的比较慢。
masscan扫描的比较快,但是准确性较低。
3.旁站/C段扫描:
某些网站难以入侵,可查该网站所在的服务器上是否还有其他网站。可以先拿下其他网站的webshell,然后提权拿到目标的权限。对于红蓝对抗和护网,C段扫描比较有意义。
旁站和C段在线查询地址:
同IP网站查询,C段查询,IP反查域名,在线C段,旁站工具 - WebScan
https://phpinfo.me/bing.php
4.目录/文件扫描:
扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏
网站目录扫描工具:御剑,webdirsan,dirbuster,wwwsan,cansina等
5.漏洞扫描:
网站漏洞扫描也有很多工具。比如 AWVS、AppScan、OWASP-ZAP、nessuss等等。
注意:使用漏扫工具对网站进行扫描,流量过大,有些网站可能会崩溃。
所以一般最好不要使用漏洞扫描工具对网站进行扫描。
并且如果未经授权就用漏扫对网站进行扫描还是违法的!
2)漏洞扫描
利用工具进行扫描。发现了漏洞进行手工检测。
开始检测漏洞,如xss,xsrf,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
3)漏洞利用
利用以上的方式拿到webshell,或者其他权限
(后续文章详解)
4)权限提升
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,Linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
(后续文章详解)
5)日志清理
找到相应的日志并删除
(后续文章详解)
6)总结报告及修复方案
总结渗透过程,编写渗透测试报告,提出修复方案
(后续文章详解)
以上内容由个人总结,可能存在错误或不当之处,欢迎大佬提出指正。
|