-
-
[翻译]Metasploit 演练
-
发表于: 2017-7-15 14:08 5255
-
我们在8022端口上找到一个Apache网络服务器。我们来看下。打开firefox并输入IP地址+端口:192.168.0.205:8022。 我们知道Desktop Central 9软件在端口8022上运行。谷歌一下,立马可以知道有一个exploit可用!
第2步:利用一个服务获取一个shell
现在我们已经发现了一个易受攻击的服务和一个可用的exploit,开始exploit这个机器:
通过在终端中运行msfconsole启动Metasploit,或单击快捷方式。 您可以通过输入以下内容找到上述我们发现的漏洞的路径:
执行搜索命令后,通过谷歌发现了Manage Engine Desktop Central 9漏洞。
要开始使用漏洞,路径在上图中已标明。 您可以tab键自动填充。
现在exploit被加载了。 就我来说,我总是运行show options 来查看哪些设置可用,哪些是必需的。 我们在这里看到3个必需的设置:
要设置您自己的设置,您需要执行set SETTING value,例如:
理解vulnerability,payload和exploit之间的区别很重要。payload是您希望执行的实际代码,而exploit是提供payload的一种方式。一个vulnerability是系统中的一个弱点,允许exploit利用。如果你拿火箭的比喻,那么火箭就是exploit,而弹头是payload,造成实际的伤害。
现在我们设置了exploit,我们需要附加一个payload。通常,我们的payload为我们产生了一个反向shell,允许我们与目标系统进行交互。这意味着我们将在目标机器上执行一段特定代码,向我们返回一个shell(命令行)。在攻击Windows机器时可能会产生不同的shell,例如Windows命令行或Windows PowerShell。
一个非常有趣的payload是meterpreteter,因为它能够产生不止一个shell。 Meterpreter是一种高级多功能的payload,优于其他payload,因为与执行一个命令的其他payload(例如添加用户或产生一个shell)相反,meterpreter可以被视为一个交互式的shell,允许您下载/上传文件,dump 哈希密码,生成shell,安装后门,特权升级等等。
meterpeter另一个显著的优点是在现有流程中只使用DLL注入而完全驻留在内存中,而不会和磁盘有接触。此外,它可以从一个进程迁移到另一个进程,从而使检测变得非常困难。为了执行任务,它不会创建其他可以被Antiviruses或Itrusion Detection Systems轻松接管的进程。
要将一个 meterpreter payload附加到我们的exploit上,请使用以下命令:
如果现在再次运行 show options ,您将看到payload选项是可见的:
将我们的监听地址设置为我们自己的地址:
我们打算利用这个exploit。 只需输入:
如下面的屏幕截图所示,您可以看到这个漏洞利用工具,payload被激活,并为我们提供了一个meterpreter shell 。 要检查我们当前的权限, 键入getuid。 不幸的是,我们只有一个较低的权限shell。
因为我们只有一个较低权限的shell,有限的访问权限,我们需要提升权限为了完全控制机器。 有许多命令可用,一般先尝试简单的方法。 执行 getsystem尝试Meterpreter执行一些技巧,来尝试自动特权升级。 不幸的是,这次不行。 要产生一个本地shell(在Windows命令行下),只需输入shell即可。
Powersploit是一个功能强大的Windows权限升级框架,在Powershell中编写。 下载并解压桌面上的压缩文件Powersploit。 我们将使用PowerShell启动一个Web服务器,所以很容易就可以通过meterpreter shell调用它们。 找到到解压缩的文件夹,并通过以下命令启动Web服务器:
我们打算引发这个漏洞。 只需输入:
回到我们的Meterpreter会话。 在Meterpreter中可以产生一个Powershell shell,但是如果您立即使用 payload 会产生一个反向的PowerShell,那么加载诸如Powersploit之类的脚本要容易得多。
为此,我们将退出 meterpreter 会话,并通过输入下面的命令,向我们的exploit添加一个PowerShell的 payload而不是 换一个 payload。 快速检查 show options 以验证收听地址是否仍然正确。
我们有一个PowerShell会话! 您可以忽略Invoke-Expression错误。
这是一个更高级的地方。 我们不能只将Powersploit下载到我们的目标系统,因为这样做可能会由 反病毒系统触发警报。 为了避免这种情况,我们将直接从刚刚创建的Web服务器下载脚本,并在内存中执行PowerSploit脚本,而不用接触磁盘。我们将使用PowerUp.ps1,它是一个特制的PowerShell脚本,PowerSploit框架的一部分。
要在内存中下载脚本,请在PowerShell中执行以下命令:
接下来,我们从称为Invoke-AllChecks的脚本执行一个函数,该函数将检查目标主机的攻击向量以进行权限提升。 为了更容易阅读,我们将结果输出到一个名为allchecks.txt的文件里。
要查看结果,打开一个新的终端,并启动一个新的Metasploit实例,并再次获取meterpretershell(保存我们以前的会话而不是终止它)。 要做到这一点,请重复上次执行的步骤,但选择另一个监听端口,因为我们已经在我们的PowerShell会话中使用4444(参见下图左侧终端窗口)。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课