【网络安全知识体系】外网渗透测试 | 14个小实验

成功上岸360!0基础网络安全 入行 到 入yu、漏洞挖掘-外网渗透测试流程


目录

一、导读:

二、汇总:

三、知识导图

四、面试常见问题

五、渗透测试流程

1、简述:

2、寻找测试目标

3、信息收集

3、漏洞挖掘

4、漏洞利用获得webshell



一、导读:

“走一遍外网渗透测试流程”

我们算不算一家人



二、汇总:

工作总结 / SUMMARY

外网渗透测试流程涉及实验

确定攻击目标

实验1-7
信息收集实验8-12
漏洞挖掘实验13
漏洞利用--->获取到webshell实验14


三、知识导图



四、面试常见问题

1、外网渗透测试的基本思路?

确定攻击目标—>信息收集—>漏洞挖掘—>漏洞利用—>获取到webshell

(每一项都展开来介绍一下)

2、自己平常是如何对漏洞进行挖掘的?

供应商—>开发厂商的官网—>案例

目标—>该目标的所有可供测试站点

复现已知漏洞—>确定漏洞站点特征—>寻找相同特征站点

代码审计

(每一项具体展开说说,并讲解一些经验+案例)

3、获取到网站权限的方法有哪些?

利用文件上传漏洞上传webshell、获取到管理员权限,再通过各种后台功能,在后台写入webshell、利用xpcmd生产webshell、数据库的压缩功能、通过数据库备份或修改功能被修改后缀的webshell文件、数据库命令执行、中间件漏洞等。



五、渗透测试流程

1、简述:

中华人民共和国网络安全法_百度百科 (baidu.com)

根据《中华人民共和国网络安全法》对网站进行渗透测试需要获得客户的授权,未授权的对一个网站进行渗透测试,属于违法行为。

一张流程图,带大家了解,什么是大家常常说的挖洞—即所谓的外网渗透测试

大体的流程看起来是不是特别的简单,只有简单四步,就能拿到一个网站的webshell(即管理者权限),但是每一步,都需要我们去了解详细的操作方法。

寻找目标、信息收集、漏洞挖掘、漏洞利用获得webshell这些步骤,我们都会在后面进行详细的讲解,本结课视频,带领大家来了解一下挖洞,即所谓的外网渗透测试的一个具体流程究竟是什么样的

确定目标—>信息收集—>漏洞挖掘—>漏洞利用—>获得webshell


2、寻找测试目标

一、寻找测试目标

黑盒测试----模拟黑客攻击的场景(也就是什么都不知道)

1、从产品的供应商入手:

供应商—>案例

通过寻找提供产品、开发等服务的这些厂商,然后在他们的官网去寻找相关的使用产品的案例,然后收集这些案例,对这些案例进行测试,在某一处寻找到漏洞,则其他产品也可能存在同样的漏洞,就可以作为漏洞poc进行跑了

实验1**:**

接下来,我们找几个服务厂商,我们就单纯的进去看一下他的产品怎么样,此处不做任何未授权的非法测试与攻击,强调说明如个人进行攻击与测试与本结课无关。

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

可以在edusrc上查看有哪些开发厂商(edusrc一般教育、政府使用的产品和解决方案)

https://src.sjtu.edu.cn/rank/company/

然后去搜开发厂商的官网,就可以找到对应的产品案例

2、从单一的目标入手:

目标—>该目标的所有可供测试站点

1)同一单位

有时候,我们会对一个企业或某单位,进行一个授权的测试,此时,我们就需要收集这个企业或单位的更多资产目标(如网站、小程序、app等),为我们进行测试提供更大的测试范围

实验2**:**

确定目标—>锁定目标资产的攻击面

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

我们随机确定一个目标,然后进行深度搜索,这一个目标单位的资产、信息等。

2)不同单位

实验3**:**

确定漏洞站点特征—>寻找相同特征站点

我们可以通过Ctrl+U查看存在漏洞站点的前端的源码,然后多找几条有用的特征,比如引用的一些路径等等,此处以引用相同的路径为例

然后使用FOFA等平台进行检索有相同特征的站点(需要注意的是,搜索的特征不同,找到的站点的差别就会有很大差异,通过此方法需要大量的测试)

——————————

3、从存在漏洞中间件入手:

1)寻找是否存在已知漏洞

当我们发现一个网站使用的中间件以后,可以查看此中间件是否存在漏洞

实验4**:**

通过使用扫描器,或者插件,可以看见使用的jquery的是1.8.3版本

(注:未使用扫描器,或其他危害产品安全的测试技术)

然后我们可以在网上、漏洞平台上去查找是否存在对应版本的漏洞

https://www.cnvd.org.cn/flaw/list?flag=true

https://avd.aliyun.com/search?q=jquery1.8.3

https://www.vulhub.org.cn/vulns?search_type=t_id&keyword=jquery1.8.3&cvss_floor=&cvss_ceil=&pubtime_floor=&pubtime_ceil=

2)通过已知版本漏洞,测试对应的版本

实验5**:**

接下来我们拿jQuery进行举例,

jQuery是JavaScript库,JavaScript常被利用进行xss,导致XSS跨站漏洞

通过找到对应版本的poc,对对应的版本进行批量测试

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

可自行寻找到大量的对应版本进行测试

——————————

白盒测试—已知源代码及其逻辑架构的情况下进行漏洞的挖掘

3、代码审计

白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。 "白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

而网络安全中,白盒测试,其盒子内部的东西就相当于 完整代码+逻辑结构

通过对每一处代码的逻辑结构进行测试,来寻找所谓的程序缺陷、或绕过程序防护的方法等

1)前端代码

实验6**:**

我们随便找一个站点,有人说查看页面源代码是不是就是进行代码审计了,这里的源码属于客户端的源码,有的漏洞可能由客户端漏洞引起,如xss可能会传到客户端的相关函数进行弹窗。一般逻辑处理都是在后端进行,但是不排除前端会有过滤等处理。

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

F12、Ctrl+Shift+I

(是可以动态调试的)

比说搜索一些可能触发漏洞的函数

Ctrl+U

(静态代码)

实验7**:**

此处拿upload-labs靶场为例,此时界面,我们上传会提示上传失败,这是属于一种黑盒测试,显示源码后,属于白盒测试,这里的源码是逻辑处理的代码。

通过分析代码可以发现,代码会过过滤上传的相关后缀,指定的后缀是无法上传成功的。

黑盒:

白盒:

这是一个很简单明了的代码,可以看出包含对上传文件的黑名单处理(array
数组中包含的黑名单列表),上传文件的处理(如注释所示)

https://blog.csdn.net/qq_53079406/article/details/125846616

未去空格,绕过黑名单


3、信息收集

1)基础信息收集

信息收集的目的—>扩大攻击面+获取可利用条件

通过收集如图所示信息+更多其他信息,从而完成对一个测试目标的完整拼图

在确定的测试的目标以后,对目标进行信息收集,其中包括一些常见的收集方法,比如说对目标的资产等相关信息进行一个收集,从而可以扩大攻击的层面(如网站、小程序、app等各种可以进行测试的资产)。

还有域名信息的一个收集,我们可以获取到需要测试站点的一个注册信息、邮件、端口服务等更多有用的信息

还有的时候,我们需要对站点的相关组件架构、第三方插件进行收集,寻找可以利用的突破点。

在进行信息收集的过程中,我们需要借助大量的工具进行测试,获取到最大的信息量,同时我们也会使用到一些综合信息搜集工具,如灯塔、水泽、Goby等

——————————

——————————

1)特定信息收集

实验8:

在进行测试的过程中,我们还需要了解到每个参数所代表的意义+逻辑的流程,从而能够完全理解整个业务逻辑

实际情况中

接下来,我们友好的拦截一个请求数据包,观看其数据包

(注:未进行任何测试与攻击)

——————————

——————————

2)基础信息收集

1、域名信息收集:

对于域名相关信息的收集,如URL的收集:为了锁定目标范围、……(知识导图上内容)

信息收集是在整个攻击测试的流程中,不断完善获取信息的重要一步,在每一次的进一步测试中,我们会获取到更多的有利于我们对目标的一个了解。

实验9**:**

御剑目录爆破工具,收集更多的URL,从而扩大攻击面

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

找个企业src(本着为企业发展做贡献的,无直接恶意攻击与测试)

打开,并简单进行一个配置

输入目标URL

开始挖掘

——————————

——————————

2、资产信息收集:

对于资产信息的收集,如敏感信息:我们可以获取到一些可以利用的有利条件,……(如知识导图所示)。

实验10**:**

接下来,我们来举例一下代码泄露常用的平台,在Github等托管平台上,我们可以获取到很多的代码源程序,这些代码可能被网站拿被作为一部分的逻辑代码段。使用github我们也可能搜索到很多有用的信息,比如搜索很敏感的一些信息。

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

Repositories存储库

Code代码

Commits提交

Lssues问题

Discussions讨论

Package包

Marketpalce市场

Topics主题

Wikis维基

Users用户

Language语言

大家可想而知,我们不仅可以在代码托管平台上搜索到敏感代码段,我们还有搜索到相关的一些比较敏感的数据,如学号、姓名等等

——————————

——————————

3、框架组件:

对于框架组件的收集,如服务器操作系统:通过我们获取到的网站操作系统类型,从而进使用特定的命令和针对性的漏洞检测,……(如知识导图所示)。

实验11**:**

通过一些常用的浏览器插件、检测工具,对于站点的框架、语言等进行一个检测

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

Wappalyzer

Owasp penetration Testing Kit

——————————

——————————

4、综合信息收集:

在我们使用一些单一的信息收集工具、手工测试以后,我们需要使用到一些综合的信息收集工具,全方面的进行信息收集,同时可能会有一个自带的漏洞检测功能。

实验12**:**

接下来,我们来简单的演示一下(在信息收集篇章,我们会详细讲述,收集方法、工具使用等更多细节操作,此处我们就进行一个简单的模拟测试),灯塔资产收集工具,安装在kali虚拟机上,通过相关的设定后,我们就可以针对性的收集到一些资产的信息

(注:此处只对功能进行一个简单的展示,并未进一步进行实际的测试与攻击)

可以使用灯塔进行信息收集

3、漏洞挖掘

三、漏洞挖掘

在我们确定了目标的资产、并收集到了尽可能多的信息后,我们要对我们收集到的攻击面,进行漏洞的挖掘,需要可能存在的突破点

(在后面漏洞章节,我们会对每一项漏洞进行讲解,此处,我们只对外网渗透测试的一个流程进行讲解)

SQL注入漏洞

XXE漏洞漏洞

命令注入漏洞

远程代码执行漏洞

目录遍历漏洞

信息泄露漏洞

访问控制漏洞

身份认证漏洞

文件上传漏洞

文件解析漏洞

SSRF服务端请求伪造

业务逻辑漏洞

XSS跨站脚本漏洞

CSRF跨站请求伪造

CORS跨域资源共享漏洞

点击劫持漏洞

网络套接字WebSockets漏洞

在后面,我们会学习每种漏洞详细的原理、成因、适用条件、检测方法、利用手法等等

实验13**:**

此处以简单的BP练兵场的sql注入漏洞为例,来进行一个漏洞挖掘过程的讲解

Sql注入漏洞

针对性的对SQL注入漏洞,进行检测,无非就是先检测是否存在注入点

未经授权访问敏感数据

1、检索隐藏数据,在其中修改 SQL 查询以返回其他结果。

2、颠覆应用程序逻辑,在其中更改查询以干扰应用程序的逻辑。

3、UNION 攻击,在其中从不同的数据库表中检索数据。

4、检查数据库,在其中提取有关数据库版本和结构的信息。

5、盲 SQL 注入,控制的查询结果不会在应用程序的响应中返回

首先我们进入到学院—>学习路径—>sql注入漏洞—>进入实验室

这是一个根据过滤器来控制分类,然后进行数据的一个检索

筛选:

https://0a050005033f360282e6a17a00420055.web-security-academy.net/filter?category=Gifts

输入单引号报错,说明单引号被带入到了数据库语法中进行执行,所以是存在注入点的

注释后面逻辑:

把分类后面的内容注释调了,出现了新的产品,说明还有一个参数来控制产品是否是隐藏或公开

https://0a050005033f360282e6a17a00420055.web-security-academy.net/filter?category=Gifts’–

利用获取数据:

使用OR连接词,只要有一个成立,就返回所有数据,or后加上1=1是恒成立的

https://0a050005033f360282e6a17a00420055.web-security-academy.net/filter?category=Gifts’+or+1=1–


4、漏洞利用获得webshell

四、漏洞利用获得****webshell

漏洞分低危、中危、高危、严重,因为根据危害程度的不同,可能获取到信息的危害性及数量、还有权限等等的不同,会导致漏洞的危害程度有所不同。

如常见的文件上传漏洞,通过文件上传漏洞,上一句话木马文件,并被解析执行,然后通过连接,获取到网站的控制权限

还有的方法如:获取到管理员权限,然后通过后台的功能,上传或写入或解压webshell代码文件、利用xpcmd生成webshell、数据库的压缩功能、数据库的备份或修改功能,是重命名的webshell文件重新变成webshell可执行后缀、数据库命令执行来写入、利用一些中间件漏洞等

实验14**:**

文件上传漏洞,通过文件的上传功能,上传木马代码文件,然后使用工具连接到木马代码文件,从而获取到网站的管理权限(即webshell)

通过将木马后门上传到对方的服务器上,并解析执行

然后再通过后门工具进行连接,从而实现一个对站点的管理权限

获得站点的webshell的方法还有很多,可以先通过获取到管理员权限得到更多执行权限,再写入、传入webshell代码文件。

访问控制漏洞(如未授权访问到管理员的一个操作页面,或者绕过权限的鉴别,从而拥有管理员的权限)

弱口令(管理员账号存在弱口令,则可以再进行更多的更高权限的功能点的测试)

密码重置(重置管理员的密码,或重置后直接跳转获取到更多的一个接口,从而拥有更多的测试条件)

还有更多方法都可以获取到网站的webshell,这里就不一一详讲解了

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

网络安全学习资源分享:

给大家分享我自己学习的一份全套的网络安全学习资料,希望对想学习 网络安全的小伙伴们有帮助!

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

【点击免费领取】CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。【点击领取视频教程】

在这里插入图片描述

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取技术文档】

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本【点击领取书籍】

在这里插入图片描述

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

在这里插入图片描述

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

👋全套《黑客&网络安全入门&进阶学习资源包》👇👇👇

这份完整版的学习资料已经上传CSDN,也可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值