百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

网络安全日常学习之渗透测试思路总结

zhezhongyun 2024-12-16 17:34 53 浏览

一、说明

《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具体信息

https://www.cvedetails.com/

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 信息收集(信收集的目地是锁定可用手段的范围)



网站真实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 客户端攻击

原理:利用软件的解析错误溢出执行装于文件中的exp
browser_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

相关推荐

3 分钟!AI 从零开发五子棋全过程曝光,网友:这效率我服了

<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8...

一行代码实现display&quot;过渡动画&quot;原理

作者:Peter谭老师转发链接:https://mp.weixin.qq.com/s/XhwPOv62gypzq5MhhP-5vg写本文的起因上篇文章,提到如何让display出现过渡动画,却没有仔...

脑洞:琼恩·雪诺、蝙蝠侠和魔形女的灵魂宠物了解一下

AlekseiVinogradovisaRussianfreelancedigitalartistwhoshareshisskillsandtalentwith120k...

浏览器的渲染机制、重绘、重排

1、什么是重排和重绘网页生成过程:HTML被HTML解析器解析成DOM树css则被css解析器解析成CSSOM树结合DOM树和CSSOM树,生成一棵渲染树(RenderTree)生成布局(flo...

托福写作高频考题写作思路&amp;词汇丨考虫独家

科技话题与媒体话题是托福写作的常考话题很多考生对这两类话题里的专有词汇表达也许很不了解所以今天就跟随考虫托福写作老师刘云龙老师一起来学习在这些话题的写作里你可以使用哪些有用的表达。希望大家有收获!记得...

在优麒麟上使用 Electron 开发桌面应用

使用Web标准来创建桌面GUI,上手快、成本低、跨平台、自适应分辨率,这些都是Electron的优势。作者/来源:优麒麟Electron是由Github开发,用HTML、CSS和...

php手把手教你做网站(三十八)jquery 转轮盘抽奖,开盲盒

抽奖和开盲盒性质一样的都是通过ajax读取后台的随机数据。1、转轮盘本来是想直接绘图实现轮盘,但是没有找到怎么填充文字,只好把轮盘弄成了背景图,通常用于游戏抽道具,商城积分抽奖,公司年末员工抽奖点击抽...

用 CSS 整活!3D 轮播图手把手教学,快乐代码敲出来

兄弟们,今天咱来搞点好玩的——用CSS整一个3D轮播图!咱野生程序员就是要在代码里找乐子,技术和快乐咱都得要!代码是写不完的,但咱能自己敲出快乐来,走起!一、先整个容器,搭个舞台咋先写一个...

实现一个超酷的 3D 立体卡片效 #前端开发

今天我们来实现一个超酷的3D立体卡片效果。正常情况下就是一个普通的图片展示卡片,鼠标悬停的时候图片会跳出卡片,并将影子投射到背景卡片上,在视觉上有一个3D立体感。html主要分成3个部分:容器→背景层...

Vue 3 Teleport与Suspense:解决UI难题的两个&quot;隐藏大招&quot;

模态框的"层级噩梦"与Teleport的救赎"这个模态框怎么又被父容器截断了?"团队协作开发后台系统时,小张第N次遇到这个问题。多层嵌套的组件结构里,弹窗被overfl...

让交互更加生动!有意思的鼠标跟随 3D 旋转动效

今天,群友问了这样一个问题,如下所示的鼠标跟随交互效果,如何实现:简单分析一下,这个交互效果主要有两个核心:借助了CSS3D的能力元素的旋转需要和鼠标的移动相结合本文,就将讲述如何使用纯CSS...

填坑:transform元素导致zindex失效终极方法

今天遇到了使用css3动画的元素层级被放大置顶的问题,ios浏览器上没问题,安卓原生浏览器和安卓微信上有问题。使用了css3动画的元素z-index失效,兄弟元素设置多高的z-index都盖不住解决办...

诡异的层级错乱:一个被transform隐藏的CSS陷阱

周五下午三点十七分,设计部突然发来紧急截图——原本应该悬浮在顶部的导航菜单,此刻正诡异地被下方的轮播图遮挡。我盯着屏幕上错乱的层级关系,手指下意识地敲下z-index:9999,心里清楚这不过是程序...

动画篇--碎片动画

本文授权转载,作者:Sindri的小巢(简书)前言从最开始动笔动画篇的博客,至今已经过去了四个多月。这段时间回头看了看自己之前的动画文章,发现用来讲解动画的例子确实不那么的赏心悦目。于是这段时间总是想...

Nature:大洋转换断层处的拉张构造与两阶段地壳增生

Nature:大洋转换断层处的拉张构造与两阶段地壳增生转换断层是三种基本的板块边界之一,全球总长度超过48000km(Bird,2003),它们的发现为板块构造理论的建立奠定了重要的基础(Wil...