meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更为深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等等
介绍meterpreter功能特性之前首先攻陷一台系统并取得一个Meterpreter shell,然后再利用meterpreter作为攻击载荷,展示它在进入目标系统后的一些其他攻击方法和技术,这里展示xp,攻击过程前一篇已经写过不再赘述,直接到达取得Meterpreter shell界面
基本命令
screenshot:获取目标系统活动用户的桌面截图并保存至攻击机
sysinfo:获取系统运行的平台
ps:获取目标系统正在运行的进程
获取键盘记录
使用migrate命令将会话迁移至explorer.exe的进程空间中
启动keylog_recoder模块,一段时间后使用ctrl+v终止
可以看到记录被保存在了txt文件中,内容正是记录期间目标靶机的键盘使用记录
挖掘用户名和密码
除了上述键盘记录可以获取用户密码等敏感信息之外,Meterpreter也可以获取系统本地文件中的用户名和密码
获取密码哈希值
使用use priv
命令,意味着运行在特权账户上,使用hashdump
命令可以获取目标系统所有的用户名和密码哈希值
传递哈希值
虽然我们提取到了用户名和密码的哈希值,但如果密码设置复杂,我们就不能在可接受的时间内将明文密码破解出来。如果不知道明文密码,如何通过这个用户账号登录到更多的主机呢。
这里将用到哈希传递技术,仅仅有密码的哈希值就够了,而不需要将密码明文,Metasploit的windows/smb/psexec
模块就可以实现
1 | use exploit/windows/smb/psexec |
令牌假冒
使用ps可以看到目标靶机的进程以及运行这些应用的用户账号
使用steal_token
命令和PID参数来盗取管理员用户的令牌
现在Metasploit是以管理员用户来运行的了。
有时候ps不能列出域管理员运行的进程,我们可以使用incognito
命令列举出系统上可以利用的令牌
通过use incognito
命令加载incognito模块,然后通过list_token -u
命令列举出令牌
然后使用impersonate_token
命令扮演令牌,注意这里要用两个斜杠
现在就成功假冒为管理员并具有相应权限了。
使用Metasploit脚本
通过run [name]
命令可以在Meterpreter终端中执行扩展脚本,下面列出几个常用脚本
run vnc:将受控系统的桌面通信通过隧道方式映射过来,使得你可以访问到图形化桌面
run post/windows/manage/migrate:将Metasploit会话迁移至内存空间的其他稳定的,不会被关闭的服务进程中,以维持稳定的系统控制连接
run killav:可以关闭某些智能化防毒软件和主机入侵防御产品
run hashdump:获取密码哈希值
1 | meterpreter > run hashdump |
run packetrecorder -i 1:查看目标机的所有流量
run scraper:scraper可以列举出系统上的绝大部分信息,可以获取用户名和密码,下载全部注册表,挖掘密码哈希值,收集系统信息等等