渗透测试分为黑盒测试和白盒测试
白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析
黑盒测试就是只告诉 我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透
对于渗透测试最重要的步骤就是信息收集、漏洞探测、漏洞利用、后渗透、痕迹擦除、报告文档阶段信息收集:子域名、系统版本、架构、真实IP地址、whios查询、历史漏洞查询、指纹识别等。
漏洞发现:通过漏扫软件结合手动挖掘常规的web、系统等漏洞。
漏洞利用:由浅入深、旁敲侧推、尽可能的将漏洞的价值发挥到最大化。
后渗透:包括内网渗透、权限维持、权限提升,读取用户hash,这里一定要把握好尺度。
痕迹擦除:隐藏自身身份为主,最好的手段是在渗透前挂上代理,然后在渗透后痕迹清除。
报告文档阶段:根据之前测试获取的漏洞及企业要求去编写最终的渗透测试报告。
一、信息收集
域名信息的收集:域名对应的 ip,域名的whois信息、子域名等等一系列与域名相关的信息
公司敏感信息:网站指纹识别,整站分析(操作系统、中间件、脚本类型、数据库类型)
主机扫描:对目标主机进行扫描,而不仅仅是对网站进行扫描,扫描目标主机开放了哪些端口,扫描端口运行的服务,目标主机上有哪些漏洞
网站敏感目录和文件:扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏
旁站和C段扫描:旁站指的是同一服务器上的其他网站;C段指的是同一内网段内的其他服务器
网站漏洞扫描:网站漏洞扫描就是直接对网站进行漏洞探测了。网站漏洞扫描也有很多工具。比如 AWVS、AppScan、OWASP-ZAP、Nessus等等。
二、漏洞发现
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如SQL注入、文件上传漏洞、文件包含漏洞、XSS跨站请求漏洞、XXE(XML外部实体注入)、CSRF(客户端请求伪造)、SSRF(服务端请求伪造)、逻辑漏洞、反序列化漏洞、远程代码执行漏洞、越权访问漏洞等等,对于漏洞的发现,我们需要用到漏洞扫描器。
漏洞扫描器 一般会附带一个用于识别主机漏洞的特征库,并定期进行更新。在漏洞扫描的时候,就是利用特征库里的脚本与目标系统的反馈信息进行匹配,如果能够匹配上,就说明存在某一个漏洞。网站漏洞扫描也有很多工具。比如 AWVS、AppScan、OWASP-ZAP、Nessus等等。
三、漏洞利用
当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。常用的漏洞利用工具如下:
SQL注入:Sqlmap
XSS跨站脚本:Beef-XSS、XSS-strike
抓包改包工具:Burpsuite工具的使用 、 Fidder抓包软件的使用
文件上传漏洞,上传漏洞的话,我们一般会上传一句话木马上去,进而再获得webshell
但是,获得了webshell后,一般权限很低,所以我们需要提权,可以选择反弹一个MSF类型的shell提权:Metasploit Framework(MSF)的使用 、 Msfvenonm生成一个后门木马,也可以反弹一个CobaltStrike类型的shell:渗透测试神器Cobalt Strike的使用, 也可以MSF和CobaltStrike联动:MSF和CobaltStrike联动 也可以使用其他提权:Windows提权 、 Linux提权
四、后渗透
后渗透的内容包括了内网渗透、权限维持、权限提升,读取用户hash等等
**内网渗透:**当我们在获取了外网服务器的权限,进入该系统后,我们要想尽办法从该服务器上查找到我们想要的信息。对于windows主机,我们应该多去翻翻目录,或许能有很多意想不到的结果。对于Linux主机,我们可以查看开放的端口号,开放的服务,与其建立连接的内网主机。查看目录,查找网站数据库连接密码。总之,就是尽可能的多查找一些账号密码,这对于内网的账号爆破非常有用。
**权限维持:**在拿到目标主机的权限后,很有可能当时我们并不能获取到想要的东西,需要进行长期的潜伏,特别是在内网渗透中,需要进行长期的信息收集。这时,权限维持就很重要了。我们需要维持住获得的现有权限。
**权限提升:**系统漏洞提权(Linux、Windows)、数据库提权、系统配置错误提权、权限继承类提权、第三方软件/服务提权、WebServer漏洞提权
五、痕迹擦除
-
评估痕迹:确定渗透测试过程中可能留下的所有痕迹。
-
日志清除:删除系统日志、应用程序日志和其他审计跟踪。
-
消除工具和文件:移除用于渗透的工具、脚本和下载的文件。
-
恢复修改:恢复被改动的配置和系统设置。
-
测试验证:确保所有痕迹都被有效清除,避免留下可疑迹象。
六、报告文档阶段
在完成了渗透测试之后,我们就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!
安全评估
对于我们完成渗透测试的项目之后,我们还需要对此进行安全评估。
安全评估的内容主要涉及主机漏洞扫描、安全基线检查、渗透测试三个方面:
主机漏洞扫描
主机漏洞扫描一般是采用漏洞扫描工具,根据其内置的弱点测试方法,从网络侧对被评估对象进行一系列的检查,从而发现弱点。发现其存在的不安全漏洞后进行人工分析和确认,针对每个漏洞的整改意见完成报告的输出。被评估对象系统的管理人员根据扫描的结果以及修复建议修复网络安全漏洞,在黑客攻击前进行防范。被评估对象系统的管理人员对这些漏洞进行修复后,安服工程师会对漏洞扫描报告中每个漏洞进行漏洞复测,并输出复测报告。使用户更加全面的了解全网的安全状态,提高对安全漏洞的认识和管理能力,并通过对漏洞的修补加强应用系统抵御恶意入侵的能力。
安全基线检查
安全基线检查是通过采用安全检查设备以及人工检查两种方法从对应目标的安全合规性等方面开展对系统的全量安全基线检查,从而发现其基线的不合规项。其次在发现基线不合规项之后由安服工程师进行人工二次确认,依据工信部基线安全标准,针对性提供每个基线不合规项的整改建议,并完成基线不合规项报告输出。评估对象系统的管理人员可根据输出报告对基线不合规项进行基线整改。整改完成后,安服工程师会对按照工信部基线安全标准对所涉及不合规项进行安全基线复测,并输出复测报告。确保系统安全性得到提升,建立系统基础的安全防御体系。
渗透测试
渗透测试主要是模拟黑客的攻击手法,通过自动化漏洞扫描工具结合手工测试的方式对系统进行无害化的安全评估。渗透测试包含应用安全测试和业务安全测试两部分,应用安全测试包括但不限于如下内容:OWASP十大漏洞
对于渗透测试的流程大概如此,如果要想提升自己的话,须要清楚了解各个阶段所需要的技术及方法,内容可能不太完善,大家可以针对某个模块的知识进行搜索,这样更容易提升自我能力!