管理Meterpreter和Shell会话
成功利用主机后,会打开shell或Meterpreter会话。默认情况下,Metasploit尝试交付Meterpreter有效负载。Meterpreter负载被上传到远程机器,允许您运行Metasploit模块。如果Metasploit无法交付Meterpreter有效负载,那么它将打开一个shell。
根据用于创建会话的模块,将打开Shell会话或同时打开Shell和Meterpreter会话。这是因为shell有效负载是通过在远程机器上运行命令创建的,它们更容易“启动”。一些漏洞在功能上是有限的,并且shell命令需要较少的漏洞操作。
Meterpreter shell允许您访问Metasploit模块和命令shell中不可用的其他操作。
shell会话打开目标主机上的标准终端,为您提供与操作系统上的终端类似的功能。根据使用的攻击类型,功能可能有所不同。使用shell不能提供与Meterpreter shell相同的操作。
命令Shell
“命令Shell”列在Shell和Meterpreter下面。虽然名称相同,但功能不同。Meterpreter >命令Shell将打开一个Meterpreter shell,而Shell >命令Shell将打开一个标准终端。
管理Meterpreter会话
要访问顶部菜单中的会话页面,请转到“Sessions”。
Meterpreter“活动会话”页面为您提供以下信息:
- 会话—会话编号。它们按创建的顺序附加到会话中。
- 操作系统—主机操作系统。
- 宿主—主机地址和名称。
- 类型-外壳的类型。
- 年龄—会话打开的时间,以分钟或秒为单位。一旦达到60秒,时间将以分钟为单位记录。
- 描述—任何与会话如何打开相关的信息。例如,bruteforce打开的会话将包含使用的用户名和密码。
- 攻击模块-用来打开会话的漏洞。
查看可用Meterpreter操作
要查看Meterpreter shell在会话期间的所有可用操作,请执行以下操作:
- 在“活动会话”下选择一个“类型”为“Meterpreter”的会话。
- 在会话页上,查看可用的操作。从这个页面,您可以启动一个终端,查看可用的模块并运行使用后操作。
Meterpreter会话页面有以下信息:
- 会话—会话号和目标主机地址。在上图中
第2节127.0.0.1
- 会话类型—用于打开会话的有效载荷和模块的类型。
- 信息-任何关于会议如何开始的信息。如果这是一个蛮力攻击的结果,它将包括使用的身份验证类型和凭据对。
- 攻击模块-利用打开会话。
- 可用的行动-所有可以采取的行动。
- 会话历史-在公开会议期间所采取的所有行动的详细列表。
- Post-Exploitation模块—根据操作系统和负载类型可运行的模块。
启动Meterpreter命令Shell
在“可用操作”下单击命令Shell.它将打开一个空白终端。最上面是会话ID和目标主机地址。在本例中,会话ID为:Metasploit—Mdm::Session ID # 2 (127.0.0.1)
底部是壳层输入。Meterpreter >
查看可用的Meterpreter Shell命令
查看可用命令类型的列表
?
.Meterpreter > ?
它将显示一个列表可用命令每一种都有描述。从这里,您可以运行一个模块,查看目标主机文件并获取网络信息。从shell使用中关闭会话
辞职
.
Meterpreter Shell命令
1核心命令2= = = = = = = = = = = = =3.4命令的描述5------- -----------6?帮助菜单7background当前会话的背景信息8背景别名9bgkill杀死一个背景仪表脚本10bglist运行后台脚本的列表11bgrun作为后台线程执行mepreter脚本12channel显示信息或控制活动通道13关闭通道14disable_unicode_encoding禁用unicode字符串编码15enable_unicode_encoding启用unicode字符串编码16exit终止mepreter会话17get_timeouts获取当前会话超时值18guid获取会话guid19帮助帮助菜单20.info显示Post模块信息21在当前会话上打开一个交互式的Ruby shell22加载一个或多个仪表扩展23machine_id获取附加到会话的机器的MSF ID24迁移服务器到另一个进程25管理pivot监听器26在当前会话上打开pry调试器27quit终止meterpreter会话28read从通道中读取数据29resource执行文件中的命令30.run执行mepreter脚本或Post模块31secure (Re)在会话中协商TLV报文加密32sessions快速切换到其他会话33set_timeouts设置当前会话超时时间34迫使Meterpreter安静下来,然后重新启动会话。35transport修改当前的传输机制36为“load”使用弃用别名37uuid获取当前会话的uuid38write将数据写入通道394041Stdapi:文件系统命令42============================4344命令的描述45------- -----------46cat将文件的内容读到屏幕上47cd改变目录48checksum获取文件的校验和49cp拷贝源到目标50列表文件(ls的别名)51download下载文件或目录52编辑文件53打印本地工作目录54打印工作目录55lcd更改本地工作目录56ls列出本地文件57打印本地工作目录58ls列表文件59mkdir做目录60mv将源移动到目标61pwd打印工作目录62rm删除指定的文件63删除文件夹删除目录64搜索文件65show_mount列出所有挂载点/逻辑驱动器66upload上传文件或目录676869Stdapi:网络命令70===========================7172命令的描述73------- -----------74arp显示主机arp缓存75getproxy显示当前代理配置76ifconfig显示接口77ipconfig显示接口78netstat显示网络连接79portfwd将本地端口转发给远程服务80resolve在目标上解析一组主机名81route查看并修改路由表828384Stdapi:系统命令85=======================8687命令的描述88------- -----------89clearev清除事件日志90drop_token放弃任何活动模拟令牌。91执行命令92getenv获取一个或多个环境变量值93getpid获取当前进程标识符94getprivs尝试启用当前进程的所有权限95获取服务器作为用户运行的SID96getuid获取服务器作为用户运行97终止进程98localtime显示目标系统的本地日期和时间99pgrep按进程名过滤进程One hundred.pkill按名称终止进程101列表正在运行的进程102reboot重启远程计算机103reg修改远程注册表并与之交互104在远程机器上调用RevertToSelf()105Drop into系统命令106shutdown关闭远程计算机107steal_token试图从目标进程窃取一个模拟令牌108suspend挂起或恢复进程列表109sysinfo获取远端系统信息,如OS110111112Stdapi:用户界面命令113===============================114115命令的描述116------- -----------117enumdesktops列出所有可访问的桌面和窗口工作站118getdesktop获取当前meter解释器桌面119idletime返回远程用户空闲的秒数120keyboard_send发送按键121keyevent发送键事件122keyscan_dump转储击键缓冲区123keyscan_start开始捕获击键124keyscan_stop停止捕获击键125发送鼠标事件126屏幕共享实时监控远程用户的桌面127截图交互式桌面的截图128setdesktop修改仪表当前桌面129uictl控制一些用户界面组件130131132Stdapi:摄像头命令133=======================134135命令的描述136------- -----------137record_mic从默认麦克风记录音频,持续X秒138webcam_chat开启视频聊天139webcam_list列表网络摄像头140webcam_snap从指定的网络摄像头中获取快照141webcam_stream播放指定摄像头的视频流142143144Stdapi:音频输出命令145= = = = = = = = = = = = = = = = = = = = = = = = = = = = =146147命令的描述148------- -----------149播放目标系统上的音频文件,没有写入磁盘150151152我感到:提升命令153======================154155命令的描述156------- -----------157getsystem尝试将您的权限提升到本地系统的权限。158159160Priv:密码数据库命令161================================162163命令的描述164------- -----------165hashdump转储SAM数据库的内容166167168我感到:Timestomp命令169========================170171命令的描述172------- -----------173timestomp操作文件MACE属性
管理Shell会话
Shell会话页面提供了以下信息:
- **Session - **Session号和目标主机地址。在上图中
第2节127.0.0.1
- **会话类型- **用于打开会话的有效负载和模块的类型。
- 信息-任何关于会议如何开始的信息。如果这是一个蛮力攻击的结果,它将包括使用的身份验证类型和凭据对。
- 攻击模块-利用打开会话。
- **可用的行动- **所有可采取的行动。
- **会话历史- **在开放会话期间采取的所有行动的详细列表。
- **后开发模块- **模块可运行基于操作系统和有效负载类型。
查看可用的Shell操作
- 在“活动会话”下选择一个“类型”为“Shell”的会话。
- 查看shell会话页面。从这个页面,您可以启动一个shell并运行使用后操作。由于这是一个shell会话,可用的“Post-Exploitation Modules”将与Meterpreter会话不同。他们将依赖于使用的exploit。
Shell会话页面有以下信息:
- **Session - **Session号和目标主机地址。在上图中
第2节127.0.0.1
- **会话类型- **用于打开会话的有效负载和模块的类型。
- 信息-任何关于会议如何开始的信息。如果这是一个蛮力攻击的结果,它将包括使用的身份验证类型和凭据对。
- 攻击模块-利用打开会话。
- **可用的行动- **所有可采取的行动。
- **会话历史- **在开放会话期间采取的所有行动的详细列表。
- **后开发模块- **模块可运行基于操作系统和有效负载类型。
启动命令Shell
在“可用操作”下单击命令Shell.然后它将打开一个空白终端。
会话ID和目标主机地址显示在命令的顶部。在本例中,会话ID为:Metasploit—Mdm::Session ID # 1 (127.0.0.1) SSH vagrant:vagrant (127.0.0.1:22)
底部是壳层输入。壳>
shell可用的命令取决于目标主机的操作系统。