Um possivel esquema, seria a de "Quem chegar primeiro", ou seja,inserirmos um LKM Detector em uma rede recem-instalada visando deste modo,detectar qualquer insercao de LKMs no sistema. Abaixo nos vemos um simplesexemplo de LKM Detector:--------------------------- lkm_detector.c -----------------------------/* LKM Detector retirado do tutorial da The Hackers Choice sobre LKM. http://www.infowar.co.uk/ Atualizado para kernel 2.2.13 by SeQ Anj0!. nashleon@yahoo.com.br/*/#define MODULE#define __KERNEL__#include #include #include #include #include #include #include extern void* sys_call_table[];int (*orig_create_module)(char*, unsigned long);int hacked_create_module(char *name, unsigned long size){ char *kernel_name; int ret; kernel_name = (char*) kmalloc(256, GFP_KERNEL); copy_from_user(kernel_name, name, 255); /*here we log to syslog, but you can log where you want*/ printk("<1> SYS_CREATE_MODULE : %s\n", kernel_name); ret=orig_create_module(name, size); return ret;}int init_module(void) /*module setup*/{ orig_create_module=sys_call_table[SYS_create_module]; sys_call_table[SYS_create_module]=hacked_create_module; return 0;}void cleanup_module(void) /*module shutdown*/{ sys_call_table[SYS_create_module]=orig_create_module;}--------------------------- lkm_detector.c -----------------------------O LKM acima porem nao e a solucao, haja visto, ele apenas serve paradetectar se um LKM foi inserido no sistema. Um esquema melhor reside eminterceptar o systemcall "__NL_create_module" e nao permitir maioresinsercoes de modulos no kernel, no entanto isto deve ser feito com amaxima cautela! Alguns tipos classicos de backdoor podem ser evitados com o uso deatributos ext2fs, como no uso de comandos tais como chattr. Alguns arquivosnecessitam estar com atributos setados com maior seguranca, tais como/etc/passwd, /etc/shadow, /etc/inetd.conf e etc. Como fazer isso?Podemos usar o comando chattr(1) para atribuir atributos ext2fs em umarquivo, e o comando lsttr(1) para listar os atributos ext2fs de umarquivo ou diretorio qualquer.Abaixo nos podemos ver um exemplo de um shell script atribuindo alguns atributos ext2fs para alguns arquivos do sistema:--------------------------- lkm_detector.c -----------------------------#!/bin/bash#Simples Shell Script Criado Para#Setar Atributos Ext2FS Em Determinados#Arquivos Essenciais do Sistema.#Desenvolvido por By SeQ Anj0!#checa pela existencia do comandoif [ -x /usr/bin/chattr ]; then CHATTR="/usr/bin/chattr"else echo "Comando chattr nao encontrado no sistema!";echo exit 1fiif [ $UID != "0" ]; then echo "Necessita ser root para executar este script" exit 1fiif [ "$#" = "0" ]; then echo "Seta Atributos EXT2FS em Arquivos Essenciais do Sistema";echo echo "Uso: `basename $0` [coloca/retira]";echo exit 0fi#Lista de Arquivos que serao setados:ARQUIVO_0="/etc/profile"ARQUIVO_1="/etc/inetd.conf"ARQUIVO_2="/etc/passwd"ARQUIVO_3="/etc/shadow"#As permissoes abaixo sao "u" para indeletavel e "i" para imutavel.function coloca {$CHATTR +ui $ARQUIVO_0 $ARQUIVO_1 $ARQUIVO_2 $ARQUIVO_3}function retira {$CHATTR -ui $ARQUIVO_0 $ARQUIVO_1 $ARQUIVO_2 $ARQUIVO_3}if [ "$1" = "coloca" ]; then coloca echo "Arquivos Setados Com Sucesso!"else if [ $1 = "retira" ]; then retira else echo "Sintaxe Errada!" exit 1 fifi--------------------------- lkm_detector.c -----------------------------O exemplo acima e apenas para fornecer o conceito. Poucos sao os usuariosde Linux que conhece tais comandos e que de fato setam as permissoescorretamente. Voce pegando a ideia acima podera criar scripts e melhorarcada vez mais a seguranca do seu sistema!Agora, supondo que um pseudo-hacker(script kiddie) brasileiro alterador dehome page de um grupo qualquer conseguiu obter acesso ao seu sistema!Como ele e apenas um executor de scripts de terceiro, ele vai quererinstalar uma das melhores backdoors do momento! Uma backdoor em LKM!!Vai que ele e brasileiro e me conhece! Sabe que sou contra as atitudeslamers dele, mas mesmo assim ele usa uma backdoor minha em LKM.Fica muito dificil voce conseguir detectar, mas com o chkrootkit vcconsegue detectar esta versao, no entanto eu ja publiquei um patch!A coisa esquenta muito, mas existe um