如何使用Windows域绕过防火墙获取持卡人数据的访问权限

介绍

这篇文章将为大家详细讲解有关如何使用Windows域绕过防火墙获取持卡人数据的访问权限,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>我们将介绍如何绕过防火墙系统,并获取到持卡人数据环境(CDE)的访问权。最终目标:提取目标用户的信用卡数据。

如果你需要在你的网络中存储,传输或处理信用卡数据的话,那么信用卡数据安全就必须要得到有效保障。根据PCI数据安全标准(PCI dss),持卡人数据可以直接在内部网络中传输和发送,前提是网络系统已实施了网络分割,而这种网络范围(划分持卡人数据环境跟其他网络)的定义一般都是通过防火墙来实现的。

为了保护客户的机密数据,我们需要对网络的实现细节进行修改。假设公司拥有一个非常大型的网络系统,全部的地址都在10.0.0.0/8这个范围内,持卡人数据则需要单独划分至192.168.0.0/16这个范围,并通过防火墙进行隔离。

注:CDE一般由呼叫中心(负责处理电话订单)和操作人员(负责将支付信息填写进Web表但)组成。

此次测试只是一次内部测试,因此我们直接连接至公司的内部办公网络(10.0.0.0/8地址范围)。从这个地址利用平命令和端口扫描功能来扫描CDE环境:

如何使用Windows域绕过防火墙获取持卡人数据的访问权限”> <img src=

平扫描基本上相当于直接运行平命令,但nmap可以“一键式”扫描整个IP段。“主人”是第二个命令的输出,因为我们添加了“pn”参数来判断是否是第一次平,因此nmap将会报告当前范围内所有“向上”的主机。

因此,除非部署了防火墙规则来绕过漏洞,或防火墙使用了弱密码,否则这种方式的效果是不会理想的。因此,我们第一不要做的就是如何通过获取域管理员权限来控制活动目录。

如何变成域管理员吗?

在我们的场景中,我们选择使用kerberoast来控制域。入侵活动目录的第一步,通常需要获取任意用户账号的访问权,只要我们能够通过域控制器的认证就可以了。在Windows中,所有的账号都能通过域控制器的认证,即使它们没有权限来做实际的事情。也就是说,最低权限的账户,只要登录完成之后并输入正确的密码,它就可以通过验证。

在这名用户的站点上,没有在域控制器中启用会话。因此,我们的域控制器为10.0.12.100,“彼得”。我们可以使用enum4linux之类的功能根据来枚举出用户列表,并获取到域中每一位用户的用户名:

<>之前,美元enum4linux  -R  1000 - 50000, 10.0.12.100 | tee  enum4linux。txt

如何使用Windows域绕过防火墙获取持卡人数据的访问权限”> <img src=

这个网络非常庞大,有超过25000个活动用户,不过我使用grep进行了简单的用户筛选,足以演示我们的攻击操作了。

现在,拿到包含用户列表的文本文件后,我们就可以使用CrackMapExec之类的工具来猜测用户密码了。这里我们猜测目标账号的密码是否为“Password1”:

$ cme smb 10.0.12.100 -u users.txt -pPassword1

如何使用Windows域绕过防火墙获取持卡人数据的访问权限

如果我们想要继续猜解,则需要指定“--continue-on-success”参数:

如何使用Windows域绕过防火墙获取持卡人数据的访问权限

拿到这个用户账号之后,我们就可以查询活动目录,并获取服务账号列表了。服务账号就是针对服务运行的用户账号,比如说Microsoft SQL Server等等,它们需要在特定用户账号环境中运行。活动目录的Kerberos认证系统可以用来提供访问权限,因此活动目录会提供一个“服务令牌”来运行用户进行认证。

如何使用Windows域绕过防火墙获取持卡人数据的访问权限