网络安全—使用Java无效的数组索引漏洞进行鱼叉式渗透测试

综合渗透测试-使用Java无效的数组索引漏洞进行鱼叉式渗透测试

第一步,打开网络拓扑,启动实验虚拟机,分别查看虚拟机IP地址:

Kali Linux

Windows 7

Windows 2008

第二步,使用命令nmap -sT 172.16.1.200对靶机域控进行tcp扫描渗透测试

根据最后扫描得到的结果我们发现,在主机172.16.1.200中开放有25、110、143、465、993、995这些常规的邮件服务端口在此情况下,我们有两个种思路,第一,继续进行信息收集,来掌握更有价值的信息,第二种思路就用户利用目前现有的信息收集到的邮件服务器信息,来发掘新的漏洞。

第三步,我们尝试从邮件服务器进行单点突破,使用命令firefox打开火狐浏览器,并访问172.16.1.200的80端口,发现了Winmail的web站点界面

因为网管经验的不足,我们假设内网用户的操作系统安全意识相对比较薄弱,又联想起之前网络管理员对内网用户推送系统更新补丁的方法,结合当前的内网环境,

决定对域内的其他成员,采用社工的方法来进行此次的渗透测试。大致的思路是:在kali服务器上挂一个嵌入了恶意代码的网页,并引诱用户去进行点击。

首先,我们来创建一个名为seucrity的用户,点击注册新邮箱

注意此处的邮箱名为seucrity,而不是security,这也是一种利用相似账号的情况来误导用户,提高邮箱的可信度。

注册成功后,使用上面的邮件名和密码来进行登录,将会看到邮箱系统的主页。

第四步,构造恶意邮件,本课程将以Java客户端漏洞为例来进行下面的渗透。在msf下使用命令use exploit/multi/browser/java_storeimagearray调用Java的 storeimagearray()无效的数组索引漏洞。使用info命令,可以查看大量有关于这个漏洞详细的描述,例如受影响的平台列表,可靠性排名,漏洞披露日期,模块作者,常见漏洞和暴露(CVE)标识符等

对于这种漏洞的利用,渗透人员需要在网站服务器上挂一个嵌入了异常代码的网页,当受害者访问该网页时,异常代码就会执行。根据查看的信息,我们需要指定TARGET目标操作系统类型即Windows,并设置一个比较隐蔽的Meterpreter回连载荷,此处我们选择reverse_http或reverse_https,在高度安全防护的环境中更好用,实验中选择reverse_http即可。具体步骤为:

设置服务器地址,构造的存放恶意代码服务器URL地址及Target ID目标系统参数为“Windows Universal”最后设置Meterpreter反弹的载荷模块reverse_http

设置我们希望受害者机器反弹连接的IP地址(LHOST)和端口(LPORT)

最后使用命令run来执行模块,并获得一个http地址

第五步,使用在邮件服务器网站上创建的邮箱账户seucrity,向局域网内的可能存在用户发送邮件,例如:admin,guest,user1,Administrator,test,manager……

实际操作中可能需要渗透测试人员依据服务器上的人员的信息及公司的其他信息来建立密码字典表。本次实验,直接通过用户名admin密码p@ssw0rd登录位于域控上的Winmail服务器软件进行查看

只有一个admin用户,那么根据思路我们通过使用社会工程学技术欺骗受害者打开链接(http://172.16.1.10:8080):例如,攻击者可能通过冒充公司的IT安全团队并邀请用户访问网址来下载重要的安全补丁的方式向目标员工发送电子邮件

 

第六步,切换至客户端的桌面,双击位于桌面的Foxmail软件打开,在收取信息之前,首先设置一下邮件账号,右键点击admin账户,在出现的下拉框选择设置选项

 

在弹出的系统设置页面中填入下图信息:Email:[email protected]

密码:p@ssw0rd,其他选项如图设置即可,若已填好设置页面的内容可跳过

然后点击服务器,进入服务器选项设置,按照实际情况填入地址,并且需手动配置邮件服务器Windows 2008上的DNS正向查询才可以正常接收到邮件,例如本此实验的邮件服务器地址为172.16.1.200

设置完成后再点击收取,就可以看到以下的邮件,具体内容如下

模拟用户点击上面生成的链接,点击链接后将弹出警告,选择接受并运行

回到渗透测试平台kali中发现有会话建立,至此社工的步骤结束

第七步,使用命令session -l查看当前存活的会话,发现有一个ID为1的会话

使用命令session -i 1切换到会话中

第八步,我们可以使用命令wmic qfe list或使用命令system info | find 3011780将目前系统安装的安全补丁枚举出来。使用命令shell进入域成员靶机的Windows命令终端

输出结果表明,在该公司中Windows系统管理员并不经常性的更新客户端,例如我们发现缺少MS14_068漏洞的KB补丁编号(KB3011780),因此我们可以利用这个漏洞。让我们可以将用户admin的权限提升为NT AUTHORITY\SYSTEM(系统最高权限)。

第九步,通过靶机Win 7来访问cnvd.org获得有关漏洞的关键信息如下

相关的披露的漏洞信息表明,该漏洞在Oracal java JRE 7 Update24及之前版本jre中存在,厂商已经发布了安全公告及相关补丁信息,修复了此漏洞。

那么针对此漏洞的修复方案:升级最新版的Java客户端。

点击上面的补丁链接,跳转到http://oracle.com/java,然后选择中文语言会自动跳转到https://www.oracle.com/cn/java,然后拉到最下面,并找到下载和试用——Java运行时环境(JRE)

检查URL跳转是否正常,然后再点击免费Java下载并安装。

 

为了便于观察实验结果,我们已经将jre-8u231-windows-i586.exe安装程序存放在了Windows桌面下,在安装新版本的Java软件之前,需要在卸载或更改程序中先卸载Java 7 Update 21才能继续。打开安装包后,如果操作遇到错误提示,需要联网解决(配置DNS、网关等信息)。直接打开桌面上的安装包进行安装

 

安装程序将自动完成。

 

直到提示“您已成功安装Java”,安装步骤到此结束,点“关闭”按钮即可。

第十步,再次点击渗透机kali生成的恶意链接,跳转后,发现此时浏览器

会出现一下的提示,直接拦截了不可信应用程序运行

回到kali中,发现攻击已经失效

猜你喜欢

转载自blog.csdn.net/qq_48609816/article/details/125922795