超实用!手把手教你如何用MSF进行后渗透测试!

0 Comments

在对目标进行渗透测试的时候,通常情况下,我们首先获得的是一台web服务器的webshell或者反弹shell,如果权限比较低,则需要进行权限提升;后续需要对系统进行全面的分析,搞清楚系统的用途;如果目标处于一个内网环境中,那么我们就需要通过它对内网的其它终端进行信息收集和渗透测试,更全面地挖掘系统中存在的安全隐患。

本期安仔课堂,ISEC实验室的向老师为大家介绍如何使用MSF进行后渗透测试。

Meterpreter 是msf的一个payload,目标执行之后,我们会得到一个会话,和常见的shell会话类似,但是它的功能更加强大,它是执行后渗透测试的实施通道。

监听需要用到msf的exploit/multi/handler模块,使用show options查看需要设置的参数。重要的参数有三个:监听使用的payload、本地ip、本地监听端口。这些参数的值跟之前msfvenom使用的参数一样。

将生成的exe文件或者其它类型的payload文件在目标上执行,就可以获得一个meterpreter会话,之后就可以使用msf开展后渗透测试的相关工作。

如果最开始获取的是cmdshell,后来发现这台机器非常适合作为测试其它终端的跳板,这个时候cmdshell的功能已经不能满足需要,升级成meterpreter就十分有必要。

通常webshell的权限都比较低,能够执行的操作有限,没法查看重要文件、修改系统信息、抓取管理员密码和hash、安装特殊程序等,所以我们需要获取系统更高的权限。

用户帐户控制(UAC)是微软在 Windows Vista 以后版本引入的一种安全机制,有助于防止对系统进行未经授权的更改。应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员专门给系统授予管理员级别的访问权限。UAC 可以阻止未经授权的应用程序进行自动安装,并防止无意中更改系统设置。

(2)使用sessions命令可以查看所有后台的会话,每个session对应一个id值,后面会经常用到。

(4)将参数session设置为1,直接运行exploit或者run命令,执行成功之后会返回一个新的meterpreter会线)使用getuid命令查看当前用户,此时仍然是普通用户,再使用getsystem命令就可以提升到system权限了。

无论是linux还是windows都出过很多高危的漏洞,我们可以利用它们进行权限提升,比如windows系统的ms13-081、ms15-051、ms16-032、ms17-010等,msf也集成了这些漏洞的利用模块。

(1)使用search 补丁号进行搜索,就可以找到相关模块,以ms13-081为例。

当meterpreter单独作为一个进程运行时容易被发现,如果将它和系统经常运行的进程进行绑定,就能够实现持久化。

在用户登录windows操作系统时,系统都会给用户分配一个令牌(Token),当用户访问系统资源时都会使用这个令牌进行身份验证,功能类似于网站的session或者cookie。

msf提供了一个功能模块可以让我们假冒别人的令牌,实现身份切换,如果目标环境是域环境,刚好域管理员登录过我们已经有权限的终端,那么就可以假冒成域管理员的角色。

在内网环境中,一个管理员可能管理多台服务器,他使用的密码有可能相同或者有规律,如果能够得到密码或者hash,再尝试登录内网其它服务器,可能取得意想不到的效果。

edit:编辑或者创建文件。和Linux系统的vm命令类似,同样适用于目标系统是windows的情况。

上面命令执行之后,会将10.1.1.3的3389端口转发到本地的2222端口。

pivot是msf最常用的代理,可以让我们使用msf提供的扫描模块对内网进行探测。

Meterpreter的shell运行在内存中,目标重启就会失效,如果管理员给系统打上补丁,那么就没办法再次使用exploit获取权限,所以需要持久的后门对目标进行控制。

Msf提供了两种后门,一种是metsvc(通过服务启动),一种是persistence(支持多种方式启动)。

同时会新建一个服务,显示名称为Meterpreter,服务名称为metsvc,启动类型为”自动”,绑定在31337端口。

发表评论

电子邮件地址不会被公开。 必填项已用*标注