从t0到t3 – 信息搜集
一开始,我们拥有的帐号是一个没有特权的普通账号。假设我们已经在远程或者在本地利用EXP进行了一次攻击并且获得了一个反弹回来的shell。根本上说,在时间t0,我们不知道被攻击的机器是做什么的,它和谁进行连接,我们拥有怎样的权限,甚至它的操作系统是哪个。
因此,开始的时候,我们就需要快速的搜集一些至关重要的信息,这样我们就可以了解一下我们所处环境的情况。
首先,先看看我们连接的什么类型的操作系统
注:中文环境下,”OS Name”为”OS 名称”,”OS Version”为”OS 版本”
接着,看下计算机名和我们使用的用户
现在我们有了基本的信息,接下来我们可以列出计算机上的其它用户,并且可以看一下我们当前用户的详细信息。从下面的结果可以看出,user1不是本地用户组Administrators的成员。
这是我们暂时需要了解的关于用户的所有信息。接下来我们需要从网络方面搜集信息了。
首先,看一下网络连接和路由表。
arp -A 展示了ARP缓存表.
下面可以看到活动的网络连接和防火墙规则
接下来的两个netsh命令是不能在所有操作系统都通用的命令的例子,netsh firewall命令只能在XP SP2及其以上版本的操作系统使用。
最后,我们大概的看一下计算机上的:计划任务,正在运行的进程,启动的服务,安装的驱动程序。
这条命令将详细的展示出所有的计划任务:
下面的这条命令将正在运行的进程和该进程启动的服务列了出来:
这有时是有用的,一些第三方驱动程序,即使是有信誉的公司,也可能有比瑞士奶酪上的孔还多的的漏洞。这仅仅是有可能的,因为对ring0攻击在大多数人专业技能之外。
t4 – WMIC的神秘艺术
我在这里单独的拿出WMIC(Windows Management Instrumentation Command-Line)来讲解,是因为它是Windows平台下最有用的命令行工具。
WMIC在信息搜集和后渗透测试阶段非常实用。话虽这么说,其实它是有一点笨重的,因为它有时候会输出比我们需要的信息更多的信息。
要完全讲完WMIC的使用,要耗费很长的时间。还有不得不提的是,一些输出可能会因为它的格式,很难在命令行下完美的展示出来。
在这里安利两个WMIC的教程:
[Command-Line Ninjitsu (SynJunkie)]
[Windows WMIC Command Line (ComputerHope)]
不幸的是,一些windows默认的配置是不允许使用WMIC命令的,除非你是管理员组成员。经过我的测试,在XP下低权限用户是不能使用WMIC命令,但是在Windows 7 和Windows 8下,低权限用户可以使用WMIC,且不用更改任何设置。这正是我们使用WMIC搜集目标机器信息的前提。
下面是WMIC的命令行帮助:
为了省时省力,我写了一个可以放在目标机器上,调用WMIC来提取下面信息(进程,服务,用户,用户组,网络连接,硬盘信息,网络共享信息,已安装补丁,启动项,已安装的软件,操作系统的相关信息,和时区)的脚本。
从t5到t6 – 快速攻陷
在继续之前,你需要先看一下你已经搜集到的信息,下一步就是要寻找一下能被利用的系统缺陷来提升我们的权限。
首先我们要看的是是补丁修正情况,我的WMIC脚本可以列出已安装的补丁,但是你也可以通过下面这条命令来查看:
这些输出的结果是不能直接被利用的,最好的方式是去找权限提升的EXP并且将这些编号与EXP编号进行对比。这些EXP包括,但不限于:KiTrap0D (KB979682), MS11-011 (KB2393802), MS10-059 (KB982799), MS10-021 (KB979683), MS11-080 (KB2592799)。
如果有许多机器需要被安装,通常,一个技术员不会挨个机器手动装机。有一些自动安装的解决方案。这些方案是什么以及它们是如何工作的对我们的目的不重要,重要的是他们留下的用于安装过程的配置文件,这些安装文件包含大量的敏感信息,例如操作系统的产品密钥和管理员的密码。我们最感兴趣的就是管理员密码,因为我们可以用它来提升我们的权限。
通常的,这些目录包含这些配置文件(检查整个系统的所有文件也是不错想法):
这些文件要么包含着明文密码,要么就是Base64加密后的密码。下面是一个例子:
sysprep.inf 文件中的明文密码:
sysprep.xml 文件中的Base64加密后的密文:
Unattended.xml 中同样是Base64加密后的密文:
在我们的好基友Ben Campbell的推荐下,我将获取组策略首选项(Group Policy Preferences)保存的密码也作为快速攻陷目标机器的方式之一。GPP允许域管理员在域控制端远程向域内主机添加本地账户以方便管理。当你要攻击的计算机连接到了一个域,那么去寻找储存在SYSVOL中的Groups.xml文件是非常值得做的事。任何经过授权的用户都对该文件有读的权限。在这个xml文件中,密码是用AES加密的,但令人费解的是,在MSDN上,密码的密钥和加密方式都被公布了,这样我么就可以轻松的解密这个密码。
除了Groups.xml,其他的策略选项文件也有可选的“cPassword”属性:
例如以下这几个:
这个漏洞可以手动的浏览SYSVOL文件夹,接下来我来做个示范:
然而,我们都喜欢自动的方法,这样我们可以尽可能快的完成这个操作。这里主要有两种方式,取决于我们拥有的shell类型和权限的大小。

(1)metaSPLoit的一个模块(post/windows/gather/credentials/gpp
(2)你可以使用PowerSploit的Get-GPPPassword功能。PowerSploit是一个强大的powershell框架,作者是Matt Graeber。
接下来的事情,我们要找一个奇怪的注册表设置“AlwaysInstallElevated”,如果这个设置被启用,它允许任何权限的用户暂时使用NT AUTHORITY\SYSTEM权限来安装*.msi文件。对我来说,你创建了一个低权限的用户(限制它们的操作系统的使用)但是给了它们使用SYSTEM权限来安装软件的能力是很奇怪的。想要进一步了解,请[戳我]
为了能够使用这种方式,我们首先要执行以下语句:
仅仅当存在键名:AlwaysInstallElevated且它的DWORD值是1才有效。
在这种情况下,我们可以获取一个SYSTEM权限的shell了。
为了完成这部分,我们将在操作系统上做一些快速的搜索,并且希望我们可以打动老天爷。
接下来的这条命令可以搜索system32下的所有名字包含以下几个关键字的文件,当然你可以手动指定关键字。
搜索某些特定的文件类型,这可能搜索到大量的结果:
相似的,接下来的两条命令都是用来搜索注册表的,keyword是password,你可以替换成任何你想要的。
windows 2000 SP4 提权
打开任务管理器进程页,您的电脑是公司电脑,那应该有软件的服务在运行,也就是SYSTEM权限的进程(非系统关键的进程即可);如果您的电脑不会重启自动还原,那么用替换其中一个文件,下次登陆时,快速点击记事本的帮助→关于→用户许可(如果操作慢了记事本会自动关闭);打开任务管理器,关掉进程,从在运行的记事本中打开资源管理器,点击开始按钮,您会发现用户名变成了SYSTEM,那么接下来您可以做自己想做的。
win7中常用切换窗口的4种快捷键是什么?
1、Ait+Tab这个是大家都知道的切换的快捷方式,按照你使用的顺序切换。 2、Win+Tab效果更佳,有3D效果的切换。 在不知道那个窗口是你想要的,用这个查找效果很好。 3、先按住Ctrl键,在你想要切换的程序上点下,然后再按Ait+Tab键切换。 效果是比如你要在几个QQ窗口里面切换,这个效果很好。 试用于你打开多个游戏而只想在这几个游戏窗口里面切换。 4、Ait+Esc键,按照任务栏里面的顺序切换,适用于你想要打开某个窗口但是你很久没使用过这个窗口了,用这个可以快速打开。
怎样用guest用户提权
一、 创建一个批处理文件,内容如下:net user admin /addnet localgroup administrators admin /add将上述的批处理文件保存为 .注:上述批处理文件作用是创建一个名为 admin 的管理员帐户(密码为)。 二、将此批处理文件作为Windows 的开机启动脚本。 1、在 运行 对话框中输入 2、定位到 计算机配置一>Windows设置一>脚本 (启动/关机), 双击右边窗口的 启动,在其中添加先前创建的 。 3、重新启动计算机,进入GUEST用户后,再次重启计算机,系统便有了一个名为admin 的管理员上述操作在Windows 2000/XP中可行,但要保证帐户可以访问注册表,组策略(创建帐户的操作实际上也就是在注册表中添加相应的项和值),而Windows中的缺省的Guest/受限帐户并无此限制。 或许,我们并不需要用Guest帐户去创建一个管理员,但设想如果某个程序只有管理员可执行或是有人恶搞(故意把你管理员的密码改掉),是否也就可用上述的方法来实现权限突破呢?小结:Windows系统默认对Guest/受限帐户的限制只是表面上的,作为一个有经验的系统管理员,要做的事情还很多,起码应该禁止受限用户访问/修改注册表,组策略等。
发表评论