在对目标进行渗透测试的时候,通常情况下,我们首先获得的是一台web服务器的webshell或者反弹shell,如果权限比较低,则需要进行权限提升;后续需要对系统进行全面的分析,搞清楚系统的用途;如果目标处于一个内网环境中,那么我们就需要通过它对内网的其它终端进行信息收集和渗透测试,更全面地挖掘系统中存在的安全隐患。本期安仔课堂,ISEC实验室的向老师为大家介绍如何使用MSF进行后渗透测试。
一、获取Meterpreter会话
Meterpreter 是msf的一个payload,目标执行之后,我们会得到一个会话,和常见的shell会话类似,但是它的功能更加强大,它是执行后渗透测试的实施通道。
1.直接获取
(1) 使用msfvenom生成payload
常用命令:
图1
(2)本地监听
监听需要用到msf的exploit/multi/handler模块,使用show options查看需要设置的参数。重要的参数有三个:监听使用的payload、本地ip、本地监听端口。这些参数的值跟之前msfvenom使用的参数一样。
图2
(3)获得会话
将生成的exe文件或者其它类型的payload文件在目标上执行,就可以获得一个meterpreter会话,之后就可以使用msf开展后渗透测试的相关工作。
图3
2.cmdshell升级为meterpreter
如果最开始获取的是cmdshell,后来发现这台机器非常适合作为测试其它终端的跳板,这个时候cmdshell的功能已经不能满足需要,升级成meterpreter就十分有必要。
(1)以ms17-010的利用为例,默认使用的payload返回的就是cmdshell
图4
(2)将该cmdshell升级成meterpreter
命令:sessions -u cmdshell的id
图5
图6
(3)查看是否升级成功
图7
二、提权
通常webshell的权限都比较低,能够执行的操作有限,没法查看重要文件、修改系统信息、抓取管理员密码和hash、安装特殊程序等,所以我们需要获取系统更高的权限。
1.绕过UAC
用户帐户控制(UAC)是微软在 Windows Vista 以后版本引入的一种安全机制,有助于防止对系统进行未经授权的更改。应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员专门给系统授予管理员级别的访问权限。UAC 可以阻止未经授权的应用程序进行自动安装,并防止无意中更改系统设置。
msf提供了如下几个模块帮助绕过UAC: