0x01 渗透测试
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。可以对一些网站等进行安全风险评估,以便提高其安全性。
测试人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
现在主要有黑盒测试、白盒测试和灰盒测试,黑盒测试就是提供一个网站,我们完全模拟黑客攻击进行测试,白盒测试提供源代码,主要是代码审计找漏洞,而灰盒测试则两者都提供。
下面我们介绍的主要是黑盒测试流程。
0x02 主要步骤
渗透主要有以下七个步骤:信息搜集、漏洞挖掘、漏洞利用、权限提升、后门、日志清扫、经验总结。
0x03 信息搜集
当我们检测一个网站时,首先要做的就是信息搜集工作,这个是十分有必要的,可以为我们后期测试提供事半功倍的效果。
Whois信息–注册人、电话、邮箱、DNS、地址,必要时可以进行社工;
Googlehack–敏感目录、敏感文件、更多信息收集;
服务器IP–Nmap扫描、端口对应的服务、C段;
旁注–Bing查询、脚本工具,当主网站拿不下是,我们可以利用旁注、C段等继而拿下主站;
如果遇到CDN–Cloudflare(绕过)、从子域入手(mail,postfix)、DNS传送域漏洞;
服务器、组件(指纹)–操作系统、web server(apache,nginx,iis)、脚本语言;
通过信息收集阶段,我们已经基本上能够获取到网站的绝大部分信息,当然信息收集作为网站入侵的第一步,决定着后续入侵的成功。
0x04 漏洞挖掘
漏洞挖掘得靠我们平时的基本功和积累了,白盒测试的话主要看我们的代码审计能力。
探测Web应用指纹–Discuz、PHPwind、Dedecms、Ecshop…,可以判断是否存在爆出来的一些漏洞,有开源的还可以进行代码审计;
XSS、CSRF、XSIO、SQL注入、权限绕过、任意文件读取、文件包含…等常见OWASP-Top 10漏洞;
上传漏洞–截断、修改、解析漏洞;
有无验证码–可以对其进行暴力破解;
经过前期两个阶段,我们手里已经掌握了网站的大量信息以及不大不小的漏洞若干,下一步我们就可以进一步利用这些漏洞获取网站权限。
0x05 漏洞利用
这一步也是重要的一步,具有承上启下的作用
遇到一些特殊情况,需要自己挖掘漏洞;
思考目的性–想要达到什么样的效果;
隐藏,破坏性–根据探测到的应用指纹寻找对应的EXP攻击载荷或者自己编写;
开始漏洞攻击,获取相应权限,根据场景不同变化思路拿到webshell;
还可以利用DDOS或者社工;
0x06 权限提升
根据自己的目的确定是否需要进行提权;
根据服务器类型选择不同的攻击载荷进行权限提升;
法进行权限提升,结合获取的资料开始密码猜解,回溯信息收集;
0x07 后门
植入后门是方便我们下次进入的方便;
要具有隐蔽性;
定期查看并更新,保持周期性;
做好免杀工作(web层、系统层);
0x08 日志清理
为了隐蔽我们的痕迹,日志清理
伪装性,隐蔽性,避免激警他们通常选择删除指定日志
根据时间段,find相应日志文件;
要具有严谨性,贯穿整个渗透过程;
0x09 经验总结(检测报告)
平时渗透测试的就总结、归纳、整理每次渗透的经验,以及遇到的问题和解决方法,在总结中不断地提升自己。
而作为渗透测试人员,测试报告是对工作的总结,包括管理层报告(风险级别。风险分类、整改规划)和技术报告(漏洞细节、漏洞复现、修补方案)。
0x10 后记
在我们渗透测试的时候只需要进行前三步骤就达到了我们的测试要求了,后面那些是没有必要继续进行的,但是总结报告还是要写的,有助于提升我们的实例。
附上一个渗透测试流程图: