危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2289 浏览18787900

新意获得系统权限

在以前危险漫步介绍渗透的文章中,如果服务器开了3389,提权成功后执行下面类似命令:

net user test test /add

net user localgroup administrators test /add

来添加个管理员用户登录3389,这几乎是提权成功后的标准动作,但如果现在提权成功后还那样做,你就out了。如果你问为啥,因为早就有更好的办法了。

提权成功获得系统权限后完全没有必要新添加一个管理员用户再登录3389,直接用系统原有的管理员用户比如系统默认的管理员用户Administrator登录会更好。服务器好比一个房子,你添加一个管理员用户相当于在房子上新开一个门,虽然能进去房子但很容易被房子的主人发现;而用系统原有的管理员用户登录就好比走房子本来的门进入房子,只要你趁房子的主人不在的时候进入房子,被房子主人发现的可能性会小很多。要想从房子本来的门进入房子,拿到房子主人的钥匙就行了。这把钥匙在服务器中就是管理员用户的密码。

怎样获得管理员用户的密码呢?在提权成功获得系统权限后抓取管理员用户的hash然后破解出明文密码是一种方法,而且这种方法几年前就有了,技术已经比较成熟。一开始抓系统用户的hash是用PwDump等工具,不过这些工具很可能被服务器上的杀毒软件查杀,不会自己做免杀的就比较麻烦了。

用导出注册表的方法抓系统hash的语句为:

reg save hklm\sam sam.hive

reg save hklm\system system.hive

命令执行后会在执行命令的当前目录下生成文件sam.hive和system,hive。当然执行上面的命令至少需要管理员权限,不过在提权成功后这不是问题了。还可以指定生成文件的位置,比如可以执行如下的命令:reg save hklm\sam c:\sam.hiveregsavebklm\systemc:\system.hive命令执行后会在c盘根目录下生成s am.hive和system.hive。用web shell把生成的~m.hive和system.live下载回来。打开Cain,选择“Cracker”选项卡,在左面的破解项中选择“LM& NTLMHashes”,在右面的空白处右键,在弹出的菜单中选择“Add tolist”。

在弹出的“Add NT Hashes from”窗口中选择“Import Hashes from aSAMdatabase”,也就是选择从SAM文件中导入Hashes,在“SAM”输入框右面点那个三个点的选择按钮选择下载回来的sam.hive,在“Boot Key”下面的输入框的右边点三个点的选择按钮,在弹出来的“Syskey Decoder”窗口中选择下载回来的system.hive,会得到一个32位长度的字符串,这就是我们需要的Boot Key,这里的Boot Key为ccb7eOea435dd6324f2655e76ccca140。复制Boot Key ccb7eOea435dd6324f2655e76ccca140,点“Syskey Decoder”窗口中的“Exit”按钮关闭“Syskey Decoder”窗口,把ccb7eOea43 Sdd6324f2655e76cc ca140粘贴到“BootKey”下面的输入框中,点“Next>”按钮后就可以看到的导出hash的机器中用户对应的密码hasb了。

在显示hash的地方右键,选择“Export”来导出用户名以及用户密码对应的hash。

得到管理员用户Administrator的密码对应的hash之后,下面该来破解密码了。用到的软件是ophcrack。我在虚拟机里安装了ophcrack,并且下载了免费的380M的彩虹表文件。打开ophcrack,点“Table”按钮来选择破解用的彩虹表文件,在出来的“Tables Selecti_on”窗口中选择XP free small类型的彩虹表,然后点下面的“In stall”按钮来选择具体的彩虹表文件所在的文件夹,我虚拟机中保存XPfree small彩虹表文件的文件夹为E:\tables_xp_free_small,选择好后对应的彩虹表类型XP free small前面会显示一个绿点。点“OK”按钮后破解用的彩虹表文件就安装好了,下面可以来破解了。

  

在ophcrack中点“Load”菜单,然后在下拉菜单中选择“Single hash”下拉菜单,在出来的“LoadSingle Hash”对话框中输入要破解密码的管理员用户的密码对应的hash,我要破解AdministratorjjA用户的密码,所以把Administrator用户对应的密码hashB D79F2D6A52F1F3 8DB2294261F59884C:9A6CF98535378192EBD8DE4ACIBFIDE2输入到输入框中,点“OK”按钮后就导人了要破解的hash。由于只有一条要破解的hash,软件会自动选中它,如果有多条要破解的hash的话用鼠标点一下就可以选中该条hash。点“Crack”按钮来开始破解,用了1分23秒破解出了密码test609$,速度可以让人接受。由于我机子的配置不好,又加上在虚拟机中,速度自然慢点,如果机子配置好,不在虚拟机中破解的话破解速度会快很多。如果要把破解出的结果保存到文件,可以点ophcrack中的“Save”按钮。

只要不是特别变态的密码ophcrack都能很快破解出来。破解不出来的可以换更大的彩虹表文件后再进行破解。

破解出服务器上管理员用户的密码就可以用管理员用户登录3389了,根本不用新建新的管理员用户。用原有的管理员用户进入服务器的方法进入服务器,相对来说最不容易被管理员发现。当然你要挑管理员不登录服务器的时候登录服务器,如果你在管理员登录的时候你也登录,那就悲剧了。另外,破解出的系统管理员的密码如果不是弱口令的话这个密码还可自旨是管理员的别的密码,比如邮箱的密码、他管理的其它服务器的管理员用户的密码等。具体能利用到什么程度,就看你的发挥了。

以上通过导出注册表抓系统hash的方法适用于Windows 2003 SP2系统,对于Windows 2008无效,对于Windows 2000和Windows 2003 SP1获得管理员密码有更简单的方法。好在我等接触到的大多数服务器都是Windows 2003 SP2系统,基本能满足需要了。

个人觉得,在提权成功获得系统权限需要登录3389时,破解出管理员用户的密码后用系统原有的管理员用户登录要比新建管理员用户好很多,因此获得系统权限后还在加用户,你就out了。