渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)

一、说明

《Metasploit渗透测试魔鬼训练营》等书已经对渗透测试的步骤流程划分得比较合理透彻了,但感觉在多次通读该类书藉之后仍总感觉不得要领----要对一台给定的主机进行渗透还是不懂到底该如何着手。想来主要是存在以下两个问题。

第一个是在渗透操作系统时,最为关键的是从漏洞分析到渗透攻击这一步很难跨越。因为按书中漏洞分析基本只有openvas等漏洞扫描器一条途径,漏洞利用只有metasploit搜索一条途径;而漏洞扫描器扫出漏洞Metasploit中又正好有利用模块更是少之又少。

第二个是在渗透web系统时,还是和其他很多书籍一样只讲漏洞,而并不能很明确地指出面对一个web系统我怎么知道在哪我应该检测哪些漏洞。

本文一是肯定和总结现在主流的渗透测试的步骤,二是拓展渗透操作系统时从漏洞分析到渗透攻击的途径,三是指出渗透web系统可采用“功能–功能对应检测点”这种触发式渗透方式。

渗透流程可参考下图

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(1)

二、渗透操作系统

操作系统类漏洞一般都是大神们通过代码审计/逆向分析挖掘的漏洞,这需要高深的知识储备,对于一般的渗透而言利用已知漏洞即可,不用也不要自己去挖掘这类漏洞。而查找操作系统类漏洞最关键的操作就是确定端口后边的软件及软件版本,然后得用得到的软件名 软件版本到各漏洞库去查找其存在的漏洞乃至exp。

2.1 获取正在监听端口的软件及该软件的版本号

比如假设我们探测到8080端口为tomcat监听,版本号为8.5.14

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(2)

2.2 搜索已有漏洞库,获取该软件及相应版本存在的漏洞列表2.2.1 搜索CVE漏洞库,获取软件及相应版本存在的漏洞列表

http://www.cvedetails.com/version-search.php

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(3)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(4)

就这样我们就找到了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具体信息

https://www.cvedetails.com/

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(5)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(6)

2.3.2 在mitre查看CVE具体信息

http://cve.mitre.org/cve/search_cve_list.html

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(7)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(8)

2.4 通过CVE查找EXP2.4.1 在上边的cvedetails或mitre结果中拉到后边的References For CVE-xxx参考区里边有可能有exp链接

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(9)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(10)

在上边已经可看到CVE-2017-12617对应的exploit-db和metasploit中的exp链接

2.4.2 在上边的cvedetails中直接点击搜索twitter/youtube/google

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(11)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(12)

2.4.3 到metasploit数据库查找exp(msfconsole中search可能需要更新)

https://www.rapid7.com/db/modules/

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(13)

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|imageView2/2/w/1240)]

2.4.5 到github查找exp

https://github.com/search](https://github.com/search

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(14)

渗透测试和网络安全的工作一样吗(网络安全日常学习之渗透测试思路总结)(15)

2.4.6 openvas等系统漏洞扫描器三、渗透web系统(功能触发式检测法)

web系统也可以利用现成的漏洞,如各类CMS的漏洞(比如ecshop)、各类插件的漏洞(比如wordpress的各类插件漏洞)、各类框架的漏洞(比如struts反序列化)、各类中间件漏洞(比如weblogic反序列化),这类漏洞在确认web系统使用了该CMS、该插件、该框架、该中间件之后和操作系统类漏洞一样到各漏洞库去找利用方式即可。web渗透更多地是自己去挖掘出其存在的漏洞。

web漏洞我个个喜欢分为业务逻辑漏洞和技术性漏洞两类,业务逻辑漏洞的定性是每套系统都有自己实现无统一的漏洞签名无法使用通用扫描器发现的漏洞,技术型漏洞的定性是因一致的实现或使用一致的第三方组件导致有相对统一的漏洞签名可以使用通用扫描器发现的漏洞(其实看下也没分得那么清还没想得很清楚)。

很多教程都是东一榔头西一棒槌讲各类漏洞也讲得挺清楚,但要去渗透时总感觉一是给定一类漏洞不知道可以去哪些位置找二是给定一个位置又不知道可能会存在哪些漏洞。结合自己的经验我觉得可以自己构建一个“功能----功能对应检测点”的表,以后自己去渗透只要看到web系统有某个功能就去检测其对应检测点即可。这里暂且称之为“功能触发式检测法”。

3.1 信息收集(信收集的目地是锁定可用手段的范围)

网站真实IP

站长、nslookup、dig、www.cz88.net、tcroute

操作系统

TTL、index.PHP、访问不存在页面

网站语言

index等一众页面的后缀、respone包头

服务器

访问不存在页面、respone包头、whatweb

数据库

注入报错、telnet端口

主机端口

Nmap、arp_swwep、portscan

子域名查询

subdomain.chaxun.la

网站CMS

Power By、site “CMS”;百度”xxx CMS漏洞“

攻击面解析

awvs等爬虫式发现页面、御剑/dirb等爆破式发现隐藏页面、如果是某种标准协议则查看协议查找隐藏接口或隐藏参数

3.2 业务漏洞检测(各项业务都可攻击)

阶段

功能

功能对应检测点

身份认证

用户注册

是否可以重复注册

身份认证

密码修改

修改密码逻辑是否有问题

身份认证

密码重置

重置密码逻辑是否有问题

身份认证

短信验证码

短信炸弹

身份认证

短信验证码

短信验证码是否可爆破

身份认证

图片验证码

验证码是否可以重复使用

身份认证

登录

登录逻辑是否有问题

身份认证

用户凭证存储

登录凭证是否存在localStore或sessionStore中

会话管理

登录

会话ID生成机制是否有问题

会话管理

登录

是否有自动退出机制

会话管理

退出

退出后会话ID是否真的失效

访问控制

用户信息查看

是否可以水平越权访问其他用户页面

访问控制

具有管理员界面

是否可以垂直越权访问管理员页面

访问控制

具有管理员接口

普通用户直接发包是否也会响应

业务逻辑

购买

修改价格后端是否会再次校验

业务逻辑

多步功能

能否跳过其中某些步

业务逻辑

请求次数限制

服务端如何限制是否可以绕过

业务逻辑

好友查询类

查询自己好友是否把好友的密码等都返回来

3.3 技术型漏洞检测

功能

功能对应检测点

测试基本代码

相关工具

从数据库读取数据

是否存在sql注入

and ‘1’ ='1

sqlmap

用户输入被返回前端页面

是否存在xss

awvs等

功能使用的是请求/响应模式

是否存在csrf

awvs等

文件上传

是否有文件类型、大小限制

文件下载

是否存在目录遍历

…/etc/passwd

文件浏览

是否存在目录遍历

…/etc/passwd

调用系统命令

是否存在命令注入

;cat /etc/passwd

重定向

是否存在重定向注入

参数

参数超长是否会导致溢出

01234567890123456789

参数

参数有特殊字符是否会导致程序报错

参数

参数缺失是否会导致程序报错

四、其他类型渗透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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页