后渗透meterpreter简单使用
在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。
其中,攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的。
访问文件系统
Meterpreter支持的文件命令基本类似于Linux的文件命令,常用命令如下:
cd:切换目标目录;
cat:读取文件内容;
del:删除文件;
edit:使用vim编辑文件
ls:获取当前目录下的文件;
mkdir:新建目录;
rmdir:删除目录;
上传下载文件
“download”命令可以帮助我们从目标系统中下载文件,“upload”命令则能够向目标系统上传文件。
权限提升
Meterpreter会话会因为其权限而被限制,如修改注册表、安装后门或导出密码等活动都需要比较高的用户权限如Administrator和System权限,这里Meterpreter提供了一个“getsystem”命令,它可以使用多种技术在目标系统中实现提权:
“getuid”命令可以获取当前用户的信息,在上面的例子中,由于我是通过永恒之蓝漏洞打进去的,所以用户为“NT AUTHORITY\SYSTEM”,这个就是Windows本地系统账号。
获取凭证
hashdump模块(post)可以从SAM数据库中导出本地用户账号,credential_collector脚本(post/windows/gather/credentials)也可以从目标设备中收集令牌信息。
脚本和post模块都需要通过“run”命令执行,我在测试环境中运行hashdump模块后的结果如下:
数据的输出格式为:用户名:SID:LM哈希:NTLM哈希:::,所以我们得到了三个用户账号,分别为Administrator, Guest和Moriarty。
其中Guest账户的LM哈希(aad3b435b51404eeaad3b435b51404ee)跟NTLM哈希(31d6cfe0d16ae931b73c59d7e0c089c0)对应的是一个空密码。
加载Mimikatz来进行密码抓取
load mimikatz
wdigest和kerberos都可直接抓出明文密码。
运行程序
我们还可以使用“execute”命令在目标系统中执行应用程序。这个命令的使用方法如下:
execute -f<file> [Options]
运行后它将执行file参数所指定的文件。可选参数如下:
-H:创建一个隐藏进程
-a:传递给命令的参数
-i:跟进程进行交互
-m:从内存中执行
-t:使用当前伪造的线程令牌运行进程
-s:在给定会话中执行进程
后台打开cmd.exe
execute -H -i -f cmd.exe
打开cmd后 会存在因编码不一致而导致的乱码输入
chcp 65001
解决乱码问题
命令打开3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
屏幕截图
screenshot可以截图并保存在Kali中
创建账号
创建一个新的用户账号(getgui脚本,使用-u和-p参数),并给它分配管理员权限(使用),然后将其添加到"远程桌面用户"组中。
也可以尝试将这个新添加的用户Hacker在Windows登录界面中隐藏。
或者通过cmd中用net user 命令来添加用户分配权限。
启用远程桌面
可以使用getgui脚本的-e参数来确保目标设备开启了远程桌面功能。
也可通过cmd用命令打开其3389端口。
键盘记录
Meterpreter可以在目标设备上实现键盘记录功能,键盘记录主要涉及以下三种命令:
keyscan_start:开启键盘记录功能
keyscan_dump:显示捕捉到的键盘记录信息
keyscan_stop:停止键盘记录功能
绑定进程
Meterpreter可以将自己迁移到一个系统正在运行的进程下,这里要注意,迁移后meterpreter的权限即为这个运行这个进程的账户的权限。
migrate PID
通过ps查看进程
将meterpreter迁移到任意system权限或administrator权限的进程底下
清除事件日志
完成攻击操作之后,千万别忘了“打扫战场”。我们的所有操作都会被记录在目标系统的日志文件之中,因此我们需要在完成攻击之后使用命令“clearev”命令来清除事件日志: