基于MSF平台下的内存密码破解新思路
2013-09-17姚轶崭陈利王禹田永兴
姚轶崭 陈利 王禹 田永兴
中国信息安全测评中心 北京 100085
0 前言
metasploit溢出工具包的使用对于溢出攻击内网服务器系统具有非常重要的作用,可以说在溢出工具包中总可以找到适合我们渗透攻击使用的高效溢出工具。
首先在对内网服务器系统攻击开始之前我们必须确保该服务器系统有这种溢出漏洞存在,这是我们进行溢出攻击的前提条件,所以我们需要利用一些漏洞扫描工具,如XSCAN、HSCAN、SUPERSCAN等,对内网服务器主机系统进行大面积的漏洞扫描。需要说明的是单位内部网络服务器系统由于考虑到服务器系统补丁升级会给部署于其上的应用系统的使用稳定性带来影响,再加上网络管理人员的错误网络安全思想,认为有了网络安全产品防火墙、入侵检测、入侵防御和防病毒系统等的部署对于安全防御就可以高枕无忧了,所以大量的服务器系统都不会进行或者不完全进行各种安全补丁的更新安装工作,这就为我们从内部网络入侵服务器系统带来了机会。
1 密码的破解和反破解
在渗透测试和安全研究中,最终的关卡就在密码的破解和反破解之间的博弈,所以,如何通过内存密码的破解得到想要的权限,成为一个研究课题。
首先,通过某些手段取得一个会话,先导出HASH:
导出的HASH已经保存到了数据库里面,查看一下:
最终结果如图1所示。
图1 已经成功得到密码
通过得到的密码,可以进行后续的提权和执行系统命令等操作。由于远程主机上一般都已经禁用了FTP服务,或者封闭了FTP服务端口,所以不能通过FTP服务向远程主机直接上传文件,然而,我们可以在本地建立一个FTP服务器,从被溢出的远程主机向本地的FTP服务器发起连接,从而绕过防火墙的禁止,直接下载攻击者所在的本地FTP服务器上的MIMIKATZ程序文件,接下来还可以上传一些控制木马和控制工具,为最高效获取服务器主机的管理员密码做好准备。
2 MIMIKATZ获取管理员账号和密码
此处上传的MIMIKATZ程序文件不需要包含所有文件,只需要将 win32文件夹下的内容复制,复制完毕后,进入win32路径下直接执行mimikatz.exe即可,mimikatz是法国人写的,windows下的轻量级调试器,可以直接抓取windows的口令,只要系统没有重启,登录过的账户口令都可以抓到。需要说明的是一般情况下解压 MIMIKATZ压缩文件后会生成三个目录,只须打开win32目录下的mimikatz.exe文件即可,就如我们此次的操作,弹出控制台窗口,命令提示符是mimikatz#。使用到的主要的三个命令是://提升权限privilege::debug //注入dll inject::process lsass.exe sekurlsa.dll //抓取密码 @getLogonPasswords,不过需要注意的是如果是通过远程终端(mstsc.exe)、虚拟桌面中抓取密码的时候,通常在远程终端中运行该程序会提示:存储空间不足,无法处理此命令。这是因为在终端模式下,不能插入远线程,跨会话不能注入,你需要使用如下方法执行该程序:首先提取几个文件,只抓取密码的话,只需要这几个文件:
打包后上传至目标服务器,然后解压释放,注意路径中绝对不能有中文(可以有空格)!否则加载DLL的时候会报错,找不到文件。而我们此次操作的方法是直接利用溢出权限进行类似于本地的命令执行操作,所以不需要上述几个文件,直接即可得到管理登录过的账号和密码。具体渗透执行过程如下所示:绿色标示部分为输入的命令,黄色标示部分为从内存中获取到的服务器管理员账号和密码。
获取到系统的管理员账号和密码后,继续可以用已经上传的一些控制工具打开系统的 3389端口进行远程控制,或者悄悄安装一个小巧的后门木马控制程序,实现对服务器系统的完全和长期的控制,并作为攻击其它服务器系统的一个跳板机。
3 总结
这种metasploit内存获得系统密码并结合MIMIKATZ工具的攻击方式,在实际的使用中可以发现对于内网服务器系统的攻击具有非常高的效率,因为单位内网服务器系统会由于各种原因总有个别服务器安全补丁打的有遗漏,结合强大的 metasploit攻击工具首先可以获得服务器系统的系统操作权限,再借助上传工具上传MIMIKATZ工具,并直接执行,高效从内存中获取到系统的管理员账号和密码,为进一步完全占领服务器系统快速简洁的打好了基础,所以说这确实是一种利用攻击工具结合攻击思路的新型攻击范例。
[1]David Kennedy,Jimo’Gorman, Devon Kearns,and Mati Aharoni.Metasploit_penetration_test_guider.