Drupal web服务器从脏牛到持续后门

SoftNight Web安全 2018年12月14日发布
Favorite收藏

导语:本文,我们将讲解一种简短有效而且十分严重的攻击,攻击对象是基于Linux的系统。

本文,我们将讲解一种简短有效而且十分严重的攻击,攻击对象是基于Linux的系统。在这次攻击中,攻击者使用了一系列的漏洞,包括臭名昭著的Drupalgeddon2和脏牛漏洞,还有系统配置错误,对存在漏洞的drupal web服务器进行持久化的攻击,并最终控制用户主机。

在以前,对web服务器的远程代码执行(RCE)攻击通常都是一次性的安全事件——攻击者运行恶意代码,服务器执行代码,这样就完了。如果管理员检测到进程并且终止了进程,或者重启了web服务器,这样的攻击也就结束了。

而现在,越来越多的攻击者开始进行持续性攻击。持续性意味着如果攻击进程被终止或者服务器重启之后,他们有方法非常轻易的就重新感染web服务器,或者是执行额外的恶意代码。实现持续性攻击有多重方式,而且通常要根据操作系统类型来定。

利用用Linux中的SSH

在Linux系统中,攻击者最常用的方法就是通过ssh打开一个通信通道并且执行恶意命令。当然,这种技巧建立在目标系统安装了ssh服务的基础上。要是万一目标系统没有安装呢,怎么办?

不怕,这时候攻击者就会使用他们的奇技淫巧来在目标系统上安装该服务了。

在我们这个例子中,攻击面是web应用。这就意味着攻击者的代码只能在web应用程序用户和权限下运行。通常来说,web服务用户(比如nobody或者www-data)只有最小的权限并且无法安装新的服务。但是要是攻击者能够改变用户上下文环境获取足够的权限呢?要是攻击者能够切换到root用户呢?

这样的话就太完美了,干什么都不在话下。

首先,攻击者会通过查找所有的drupal配置文件,并提取其中包含“pass”的行来创建一个字典,如图:

1.png

这种方法非常有效,因为很多管理员都直接使用root作为默认用户从web应用程序连接到数据库,如图:

2.png

然后攻击者准备一个常用的密码字典,攻击者会尝试使用系统命令“su root”来切换到root用户,如图:

3.png

如果攻击者成功的切换到了root用户,那么他就可以继续下载辅助攻击载荷“sshdstuff”并执行。

如果管理员安全意识很强,没有在配置文件中留下root密码,那么这种技巧就失效了,那么这时候攻击者就会利用脏牛漏洞来提权。攻击者下载了3个脏牛漏洞利用脚本并逐个运行。其中一个脚本是以原始格式下载的(C源代码文件),并且在运行时进行编译。令人吃惊的是,这个两年前的老洞的利用脚本在VirusTotal上的检测率为0,竟然完全检测不出来。

4.png

最终,攻击者成功切换到了root用户,并且具有权限来安装新的服务,他们就会安装ssh服务,然后配置免密登陆,将他们的公钥添加到服务授权的公钥中,这样一来,只要目标系统存活并且在运行中,攻击者就可以以root用户身份远程执行任意命令:

5.png

修复建议

管理员应该确保修复了所有的web应用程序的漏洞和主机操作系统的漏洞。

当然,也可以使用外部的网络安全解决方案,比如waf,来拦截攻击者对服务器的攻击。

本文翻译自:https://www.imperva.com/blog/dirtycow-bug-drives-attackers-to-a-backdoor-in-vulnerable-drupal-web-servers/如若转载,请注明原文地址: https://www.4hou.com/web/15038.html
点赞 0
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论