渗透测试基本流程

Posted 啥都学的小菜鸡^_^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试基本流程相关的知识,希望对你有一定的参考价值。

1 渗透测试基本流程
  渗透测试的基本流程主要分为以下几步:
  1. 明确目标
  2. 信息收集
  3. 漏洞探测(挖掘)
  4. 漏洞验证(利用)
  5. 提升权限
  6. 清除痕迹
  7. 事后信息分析
  8. 编写渗透测试报告
1.1 明确目标
  主要是确定需要渗透资产范围; 确定规则,如怎么去渗透; 确定需求,如客户需要达到一个什么样的效果。
1.2 信息收集
  信息收集阶段主要是收集一些基础信息,系统信息,应用信息,版本信息,服务信息,人员信息以及相关防护信息。
  信息收集大多是工具加手工进行收集信息,工具如nmap,相关终端命令,浏览器插件,在线工具等。
1.3 漏洞探测(挖掘)
  主要是探测(挖掘)系统漏洞,web服务器漏洞,web应用漏洞以及其他端口服务漏洞,如telnet,ssh,vnc,远程桌面连接服务(3389)等。
1.4 漏洞验证(利用)
  漏洞验证主要是利用探测到的漏洞进行攻击,方法主要有自动化验证(msf),手工验证,业务漏洞验证,公开资源的验证等。
  总的来说就是工具加手工,为了方便,可以将自己渗透常使用的工具进行封装为工具包。
1.5 提升权限
  提升权限主要是在当前用户权限不是管理员的时候需要进行提升权限,提升权限可以是提升系统权限,web应用权限或是数据库权限等。
1.6 清除痕迹
  清楚痕迹主要是清除渗透过程中操作的一些痕迹,如添加的测试账号,上传的测试文件等。
1.7 事后信息分析
  主要是对整个渗透过程进行信息分析与整理,分析脆弱环节,技术防护情况以及管理方面的情况进行一个现状分析以及提出相关建议。
1.8 编写渗透测试报告
  根据渗透测试具体情况编写渗透测试报告,渗透测试报告必须简洁明了,说清楚渗透清单(范围),攻击路径,渗透成果,以及详细的漏洞详情(相关描述、漏洞危害等)及可行的修复建议,最后对整改渗透情况进行简单的总结和分析,说清楚目前资产的一个状况是什么样的,应该从哪些方面进行加强和提升。另外根据渗透测试报告可让第三方相对容易复现成功!
2 渗透测试相关原则
1.最小影响原则
2.非破坏性原则
3.全面深入原则
4.保密性原则
(PS:参考百度百科)

一个完整的渗透测试流程,分为那几块,每一块都有哪些内容

包含以下几个流程:

信息收集

第一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。

漏洞探测

当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:SQL注入 。

漏洞利用

探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。

内网渗透

当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。

内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。

痕迹清除

达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。

撰写渗透测试保告

在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。

参考技术A

渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵!

渗透测试的前提是我们得经过用户的授权,才可以对网站进行渗透。如果我们没有经过客户的授权而对一个网站进行渗透测试的话,这是违法的。去年的6.1日我国颁布了《网络安全法》,对网络犯罪有了法律约束,不懂的移步——>网络安全法

渗透测试分为 白盒测试 和 黑盒测试

    白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析

    黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透

    我们现在就模拟黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的URL,其他什么的信息都不知道。

    接下来,我就给大家分享下黑盒渗透测试的流程和思路!

    当我们确定好了一个目标进行渗透之后,第一步该做的是什么呢?

    信息收集

    第一步做的就是信息收集,正所谓知己知彼百战百胜,我们根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。更多的关于信息收集,我在另一篇文章中很详细的介绍了信息收集需要收集哪些信息,以及信息收集过程中需要用到的工具,传送门——> 渗透测试之信息收集

    漏洞探测

    当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:

    SQL注入    , 传送门——>SQL注入详解

    XSS跨站脚本  ,传送门——>XSS(跨站脚本)漏洞详解

    CSRF跨站请求伪造  ,  传送门——>CSRF跨站请求伪造攻击

    XXE漏洞,传送门——>XXE(XML外部实体注入)漏洞

    SSRF服务端请求伪造漏洞,传送门——>SSRF(服务端请求伪造)漏洞

    文件包含漏洞  ,  传送门——>文件包含漏洞

    文件上传漏洞 , 传送门——>文件上传漏洞

    文件解析漏洞,传送门——>文件解析漏洞

    远程代码执行漏洞 , 传送门——> 远程代码执行漏洞

    CORS跨域资源共享漏洞,传送门——>CORS跨域资源共享漏洞

    越权访问漏洞,传送门——>越权访问漏洞

    目录浏览漏洞和任意文件读取/下载漏洞,传送门——>目录浏览漏洞和任意文件读取/下载漏洞

    struts2漏洞,传送门——>Struts2漏洞

    JAVA反序列化漏洞,传送门——>JAVA反序列化漏洞

    这些是网站经常发现的一些漏洞,还有一些网站漏洞,这里我就不一一列举出来了。

    网站漏洞扫描工具也有很多,比如:

    AWVS  ,传送门——> AWVS扫描器的用法

    AppScan ,传送门——> AppScan扫描器的用法

    Owasp-Zap ,传送门——> OWASP-ZAP扫描器的使用

    Nessus ,传送门——> Nessus扫描器的使用

    网站漏洞扫描工具我就列举这几种,还有很多,最常用的是这几个!

    漏洞利用

    当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。常用的漏洞利用工具如下:

    SQL注入 , 传送门——> Sqlmap的使用

    XSS跨站脚本,传送门——> Beef-XSS的使用

    抓包改包工具,——> Burpsuite工具的使用  、  Fidder抓包软件的使用

    文件上传漏洞,上传漏洞的话,我们一般会上传一句话木马上去,进而再获得webshell,传送门——> Webshell和一句话木马

    但是,获得了webshell后,一般权限很低,所以我们需要提权,可以选择反弹一个MSF类型的shell提权,也可以使用其他提权, Windows提权 、 Linux下用SUID提权 

    内网转发

    当我们获取到了网站的Webshell之后,如果我们是想获取该主机的有关信息,我们可以将该主机的webshell换成MSF的shell。直接生成一个木马,然后在菜刀中执行该木马,我们就能接收到一个MSF类型的shell了。

    如果我们还想进一步的探测内网主机的信息的话,我们就需要进行内网转发了。我们是不能直接和内网的主机通信的,所以我们就需要借助获取到的webshell网站的服务器和内网主机进行通信。那么,我们怎么借助网站的服务器和内网通信呢,传送门——> 内网转发

    内网渗透

    当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息,传送门——> Nmap详解

    内网用户基本都是使用的windows系统,而且大多数是使用的windows7,在windows7中有很多漏洞,比如MS17_010这种漏洞,我们可以探测其windows系统是否存在这种漏洞,如果有这种漏洞,直接拿shell。传送门——> Metasploit Framework(MSF)的使用

    企业内网大多数是一个域环境。所以,我们只需要找到域控服务器,并拿下其权限,就可以登录其他所有用户的主机了。

    当然,内网中也有可能存在供内网使用的内网服务器,我们可以进一步渗透拿下其权限。

    至于怎么拿下内网中机器的权限,这要看内网环境了。我这里只是说下大概的一个思路。

    相关文章:内网渗透测试之域渗透详解!

    内网渗透中mimikatz的使用

    痕迹清除

    当我们达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马;但是大家千万不要干这些事,这些都是违法的!

    我这里只是教大家在渗透进去之后如何清除我们留下的痕迹,以免被网站管理员发现,

    撰写渗透测试保告

    在完成了渗透测试之后,我们就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!

    我们做的这一切的一切都是为了营造一个更安全更可信任的网络环境,大家切记不要利用本篇文章进行违法犯罪行为!

参考技术B

渗透测试网站和APP不太一样,以下我介绍一下APP的渗透测试过程吧!

工具

知道创宇安应用

Android(安卓)APP

方法/步骤

组件安全检测。

对Activity安全、Broadcast Receiver安全、Service安全、Content Provider安全、Intent安全和WebView的规范使用检测分析,发现因为程序中不规范使用导致的组件漏洞。

代码安全检测

对代码混淆、Dex保护、SO保护、资源文件保护以及第三方加载库的代码的安全处理进行检测分析,发现代码被反编译和破解的漏洞。

内存安全检测。

检测APP运行过程中的内存处理和保护机制进行检测分析,发现是否存在被修改和破坏的漏洞风险。

数据安全检测。

对数据输入、数据存储、存储数据类别、数据访问控制、敏感数据加密、内存数据安全、数据传输、证书验证、远程数据通信加密、数据传输完整性、本地数据通讯安全、会话安全、数据输出、调试信息、敏感信息显示等过程进行漏洞检测,发现数据存储和处理过程中被非法调用、传输和窃取漏洞。

业务安全检测。

对用户登录,密码管理,支付安全,身份认证,超时设置,异常处理等进行检测分析,发现业务处理过程中的潜在漏洞。

应用管理检测。

1)、下载安装:检测是否有安全的应用发布渠道供用户下载。检测各应用市场是否存在二次打包的恶意应用;

2)、应用卸载:检测应用卸载是否清除完全,是否残留数据;

3)、版本升级:检测是否具备在线版本检测、升级功能。检测升级过程是否会被第三方劫持、欺骗等漏洞;

渗透测试服务流程

1、确定意向。

1)、在线填写表单:企业填写测试需求;

2)、商务沟通:商务在收到表单后,会立即和意向客户取得沟通,确定测试意向,签订合作合同;

2、启动测试。

收集材料:一般包括系统帐号、稳定的测试环境、业务流程等。

3、执行测试。

1)、风险分析:熟悉系统、进行风险分析,设计测试风险点;

2)、漏洞挖掘:安全测试专家分组进行安全渗透测试,提交漏洞;

3)、报告汇总:汇总系统风险评估结果和漏洞,发送测试报告。

4、交付完成。

1)、漏洞修复:企业按照测试报告进行修复;

2)、回归测试:双方依据合同结算测试费用,企业支付费用。

本回答被提问者采纳
参考技术C 渗透测试步骤  
明确目标
· 确定范围:测试目标的范围,ip,域名,内外网。
· 确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等。
· 确定需求:web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等等。
信息收集
方式:主动扫描,开放搜索等。
开放搜索:利用搜索引擎获得,后台,未授权页面,敏感url等。
漏洞探索
利用上一步中列出的各种系统,应用等使用相应的漏洞。
方法:
1.漏扫,awvs,IBM appscan等。
2.结合漏洞去exploit-db等位置找利用。
3.在网上寻找验证poc。
内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等。
漏洞验证
将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中。
自动化验证:结合自动化扫描工具提供的结果
手工验证,根据公开资源进行验证
试验验证:自己搭建模拟环境进行验证
登陆猜解:有时可以尝试猜解一下登陆口的账号密码等信息
业务漏洞验证:如发现业务漏洞,要进行验证
公开资源的利用
信息分析
为下一步实施渗透做准备:
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
绕过防御机制:是否有防火墙等设备,如何绕过
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等
获取所需
实施攻击:根据前几步的结果,进行攻击
获取内部信息:基础设施
进一步渗透:内网入侵,敏感目标
持续性存在:一般我们对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
清理痕迹:清理相关日志,上传文件等
信息整理
整理渗透工具:整理渗透过程中用到的代码,poc,exp等
整理收集信息:整理渗透过程中收集到的一切信息
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息
形成报告
按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
补充介绍:要对漏洞成因,验证过程和带来危害进行分析
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

以上是关于渗透测试基本流程的主要内容,如果未能解决你的问题,请参考以下文章

网络安全Web安全渗透测试笔试题

Web安全第 01 讲:渗透测试方法论

安全安全测试

网络安全必学渗透测试流程

【网络安全入门教程】Web渗透测试常用工具

网络安全系统教程+渗透测试+学习路线(自学笔记)