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

发表于:2019-3-20 10:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:NOSEC安全讯息平台    来源:今日头条

  几个月前,我对一家法国公司进行了一次“义务”的安全审计,收获不小。
  这家公司旗下有一个主网站,你可以在上面找到公司新闻,联系方式和下载该公司的相关文件。看起来就是一个很普通的,基本上所有公司都会拥有的网站。
  在我对它进行测试时,发现当网站加载某些内容,会发送Ajax请求,涉及由两个参数,如下所示,是一个获取新闻内容的请求。
  
  具体来说,就是从后端服务器获取最新的新闻内容。
  远程代码执行
  从以上所示的请求可以看出,貌似涉及到后端代码中的class和function。由此我们可以猜测,这个名为ajax的端点可以指定使用的类和方法。
  于是我开始了fuzz,尝试了很多stdClass类和方法,但没有任何惊喜。
  这时,我突发奇想,直接删除参数__class会怎样呢?于是,我把参数__class删除,并在__function中填入phpinfo。
  

  OK!让我们继续!
  在PHP中有一个名为system的函数(https://secure.php.net/manual/fr/function.system.php),它能执行命令并返回结果。
 system ( string $command [, int &$return_var ] ) : string
  system函数是需要输入参数的。为此,我尝试在请求中加入函数的参数,这个参数称为__args,这是我从其他页面得到的启发。
  
  现在,我终于以执行任何UNIX命令了。接下来,我开始进一步搜索服务器,看看能不能找到更多有用的信息。
  LDAP服务器
  经过一番搜索,我找了配置文件,并在文件中发现了关于数据库凭证的信息,大概包含一组登录到20个数据库以及一个LDAP服务器的用户名和密码。
 

  而这个LDAP服务器吸引了我的注意。首先,让我们回忆一下什么是LDAP服务器。
  LDAP(轻量级目录访问协议)是一种开放的、跨平台和行业标准的目录服务协议,可以用来实现了资源和信息的统一管理,主要通过Internet协议提供服务。
  简单来说,它就是一个用户目录。用户一旦连接上去,就可以访问各种应用程序和网站。而且该目录还允许打开Windows会话。
  至于为什么在网站配置文件中有LDAP的信息,应该是用来定义用户在网站的权限。
  为了能在MacOS下连接到这个公司的LDAP服务器,我使用了LDAPSoft软件。
  如果你能找到开源的替代方案,我会感兴趣,因为这个软件实在是不好用。
  我所得到的LDAP凭证仅限于读取数据,无法修改数据。
  
  现在,我貌似找到了40000人的敏感信息。
  这些信息包括:
  名字和姓氏,
  电子邮件地址,
  出生日期,
  电话号码,
  明文密码(随机数…),
  有关RFID标签的信息,
  用于启动Windows会话的个人目录。
  这些员工的RFID标签能让我进入公司的大楼,我还可以购买空白的RFID标签,往里输入LDAP服务器中的员工信息,从而伪造身份,进入大楼。
  我知道这种标签并不昂贵,而且很容易进行编程。
  短信紧急警报
  我还在这个公司里发现了一个从未见过的系统,这个系统可以向公司的所有员工发送警报短信,以防外人侵入大楼或发生恐怖袭击。
  最重要的是,我还在这个短信报警系统的配置文件中发现一个API密钥。
  通过这个密钥,我就可以向整体公司的员工发送短信。
  结论
  我获取40000名前雇员或雇员的信息;
  我可以访问大约20个数据库;
  我使用RFID标签进入公司大楼(?);
  可以获取每个用户的密码,从而深入挖掘敏感信息(?)。
  随后,我通报了该公司,公司快速修补了以上安全漏洞

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号