网络安全日常学习之渗透测试思路总结
一、说明
《Metasploit 渗透测试魔鬼训练营》等书已经对渗透测试的步骤流程划分得比较合理透彻了,但感觉在多次通读该类书藉之后仍总感觉不得要领----要对一台给定的主机进行渗透还是不懂到底该如何着手。想来主要是存在以下两个问题。
第一个是在渗透操作系统时,最为关键的从漏洞分析到渗透攻击这一步很难跨越。因为按书中漏洞分析基本只有 openvas 等漏洞扫描器一条途径,漏洞利用只有 Metasploit 搜索一条途径;而漏洞扫描器扫出漏洞 Metasploit 中又正好有利用模块更是少之又少。
第二个是在渗透 web 系统时,还是和其他很多书藉一样只讲漏洞,而并不能很明确地指出面对一个 web 系统我怎么知道在哪我应该检测哪些漏洞。
本文一是肯定和总结现在主流的渗透测试的步骤,二是拓展渗透操作系统时从漏洞分析到渗透攻击的途径,三是指出渗透 web 系统可采用“功能--功能对应检测点”这种触发式渗透方式。
渗透流程可参考下图
二、渗透操作系统
操作系统类漏洞一般都是大神们通过代码审计/逆向分析挖掘的漏洞,这需要高深的知识储备,对于一般的渗透而言利用已知漏洞即可,不用也不要自己去挖掘这类漏洞。而查找操作系统类漏洞关键的操作就是确定端口后边的软件及软件版本,然后得用得到的软件名+软件版本到各漏洞库去查找其存在的漏洞乃至 exp。
2.1 获取正在监听端口的软件及该软件的版本号
比如假设我们探测到 8080 端口为 tomcat 监听,版本号为 8.5.14
2.2 搜索已有漏洞库,获取该软件及相应版本存在的漏洞列表
2.2.1 搜索 CVE 漏洞库,获取软件及相应版本存在的漏洞列表
http://www.cvedetails.com/version-search.php
这样我们就找到了 tomcat 8.5.14 版本存在的几个漏洞,后边以 CVE-2017-12617 为例
【一>所有资源获取<一】1、很多已经买不到的绝版电子书 2、安全大厂内部的培训资料 3、全套工具包 4、100 份 src 源码技术文档 5、网络安全基础入门、Linux、web 安全、攻防方面的视频 6、应急响应笔记 7、 网络安全学习路线 8、ctf 夺旗赛解析 9、WEB 安全入门笔记
2.3 查看 CVE 具体信息
2.3.1 在 cvedetails 查看 CVE 具体信息
2.3.2 在 mitre 查看 CVE 具体信息
http://cve.mitre.org/cve/search_cve_list.html
2.4 通过 CVE 查找 EXP
2.4.1 在上边的 cvedetails 或 mitre 结果中拉到后边的 References For CVE-xxx 参考区里边有可能有 exp 链接
在上边已经可看到 CVE-2017-12617 对应的 exploit-db 和 metasploit 中的 exp 链接
2.4.2 在上边的 cvedetails 中直接点击搜索 twitter/youtube/google
2.4.3 到 metasploit 数据库查找 exp(msfconsole 中 search 可能需要更新)
https://www.rapid7.com/db/modules/
2.4.4 到 exploit 数据库查找 exp(不爬墙验证码一般出不来,那只能 kali 中 searchsploit 了)
https://www.exploit-db.com/search/](https://www.exploit-db.com/search/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OlE2RQqa-1651670529886)(https://upload-images.jianshu.io/upload_images/26472780-a5b1f827d89de94b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
2.4.5 到 github 查找 exp
https://github.com/search](https://github.com/search
2.4.6 openvas 等系统漏洞扫描器
三、渗透 web 系统(功能触发式检测法)
web 系统也可以利用现成的漏洞,如各类 CMS 的漏洞(比如 ecshop)、各类插件的漏洞(比如 wordpress 的各类插件漏洞)、各类框架的漏洞(比如 struts 反序列化)、各类中间件漏洞(比如 weblogic 反序列化),这类漏洞在确认 web 系统使用了该 CMS、该插件、该框架、该中间件之后和操作系统类漏洞一样到各漏洞库去找利用方式即可。web 渗透更多地是自己去挖掘出其存在的漏洞。
web 漏洞我个个喜欢分为业务逻辑漏洞和技术型漏洞两类,业务逻辑漏洞的定性是每套系统都有自己实现无统一的漏洞签名无法使用通用扫描器发现的漏洞,技术型漏洞的定性是因一致的实现或使用一致的第三方组件导致有相对统一的漏洞签名可以使用通用扫描器发现的漏洞(其实看下也没分得那么清还没想得很清楚)。
很多教程都是东一榔头西一棒槌讲各类漏洞也讲得挺清楚,但要去渗透时总感觉一是给定一类漏洞不知道可以去哪些位置找二是给定一个位置又不知道可能会存在哪些漏洞。结合自己的经验我觉得可以自己构建一个“功能----功能对应检测点”的表,以后自己去渗透只要看到 web 系统有某个功能就去检测其对应检测点即可。这里暂且称之为“功能触发式检测法”。
3.1 信息收集(信收集的目地是锁定可用手段的范围)
3.2 业务漏洞检测(各项业务都可攻击)
3.3 技术型漏洞检测
四、其他类型渗透
4.1 客户端攻击
原理:利用软件的解析错误溢出执行装于文件中的 expbrowser_autopwd 模块构造网页自劝溢出攻击浏览器 ms10_087 模块配置生成畸型文件弄到靶机打开 adobe_cooltype_sing 生成畸型 pdf 攻击 adobe
4.2 社会工程学
利用 msfvenom 生成各平台的包含了 payload 的木马利用 setoolkit 制作钩鱼网站或有畸形文件的邮件 UitraISO+Hacksaw 制作木马启动盘拿着姓名/手机/邮箱等到各网站搜一圈看注册信息
4.5 无线安全
aircrack-ng 破解 wifi 密码 Airmom-ng 假冒 ap,并利用 karma 架设假冒服务
4.6 后渗透攻击
所谓后渗透就是拿到主机 shell 后,提权/清除日志/增加更稳定后门/内网渗透等工作 Meterpreter 可以理解为是 windows 的 cmd,linux 的 shell 日志--C:\Windows\System32\winevt\Logs、/var/log
评论