从RCE到涉及40000名员工的LDAP数据泄露

Track-SSG   ·   发表于 2019-03-20 11:02:36   ·   漏洞文章


22.png

几个月前,我对一家法国公司进行了一次“义务”的安全审计,收获不小。

这家公司旗下有一个主网站,你可以在上面找到公司新闻,联系方式和下载该公司的相关文件。看起来就是一个很普通的,基本上所有公司都会拥有的网站。

在我对它进行测试时,发现当网站加载某些内容,会发送Ajax请求,涉及由两个参数,如下所示,是一个获取新闻内容的请求。

33.png

具体来说,就是从后端服务器获取最新的新闻内容。

远程代码执行

从以上所示的请求可以看出,貌似涉及到后端代码中的classfunction。由此我们可以猜测,这个名为ajax的端点可以指定使用的类和方法。

于是我开始了fuzz,尝试了很多stdClass类和方法,但没有任何惊喜。

这时,我突发奇想,直接删除参数__class会怎样呢?于是,我把参数__class删除,并在__function中填入phpinfo。

44.png55.png

OK!让我们继续!

在PHP中有一个名为system的函数(https://secure.php.net/manual/fr/function.system.php),它能执行命令并返回结果。

system ( string $command [, int &$return_var ] ) : string

system函数是需要输入参数的。为此,我尝试在请求中加入函数的参数,这个参数称为__args,这是我从其他页面得到的启发。

66.png77.png

现在,我终于以执行任何UNIX命令了。接下来,我开始进一步搜索服务器,看看能不能找到更多有用的信息。

LDAP服务器

经过一番搜索,我找了配置文件,并在文件中发现了关于数据库凭证的信息,大概包含一组登录到20个数据库以及一个LDAP服务器的用户名和密码。

88.png99.png

而这个LDAP服务器吸引了我的注意。首先,让我们回忆一下什么是LDAP服务器。

LDAP(轻量级目录访问协议)是一种开放的、跨平台和行业标准的目录服务协议,可以用来实现了资源和信息的统一管理,主要通过Internet协议提供服务。

简单来说,它就是一个用户目录。用户一旦连接上去,就可以访问各种应用程序和网站。而且该目录还允许打开Windows会话。

至于为什么在网站配置文件中有LDAP的信息,应该是用来定义用户在网站的权限。

为了能在MacOS下连接到这个公司的LDAP服务器,我使用了LDAPSoft软件。

如果你能找到开源的替代方案,我会感兴趣,因为这个软件实在是不好用。

我所得到的LDAP凭证仅限于读取数据,无法修改数据。

100.png

现在,我貌似找到了40000人的敏感信息。

这些信息包括:

  • 名字和姓氏,

  • 电子邮件地址,

  • 出生日期,

  • 电话号码,

  • 明文密码(随机数…),

  • 有关RFID标签的信息,

  • 用于启动Windows会话的个人目录。

  • 这些员工的RFID标签能让我进入公司的大楼,我还可以购买空白的RFID标签,往里输入LDAP服务器中的员工信息,从而伪造身份,进入大楼。

    我知道这种标签并不昂贵,而且很容易进行编程。

    短信紧急警报

    我还在这个公司里发现了一个从未见过的系统,这个系统可以向公司的所有员工发送警报短信,以防外人侵入大楼或发生恐怖袭击。

    最重要的是,我还在这个短信报警系统的配置文件中发现一个API密钥。

    通过这个密钥,我就可以向整体公司的员工发送短信。

    结论

  • 我获取40000名前雇员或雇员的信息;

  • 我可以访问大约20个数据库;

  • 我使用RFID标签进入公司大楼(?);

  • 可以获取每个用户的密码,从而深入挖掘敏感信息(?)。

  • 随后,我通报了该公司,公司快速修补了以上安全漏洞。

    来源:https://medium.com/@thbcn/from-rce-to-ldap-access-9ce4f9d2fd78
               


    打赏我,让我更有动力~

    0 条回复   |  直到 2019-3-20 | 942 次浏览
    登录后才可发表内容
    返回顶部 投诉反馈

    © 2016 - 2024 掌控者 All Rights Reserved.