Busca


imprimir pdf

Maquina Semi Hackada2 do 29/09/2004


O que quer dizer semi hackada? Isto quer simplesmente dizer que a máquina não é necessária ser ser reinstala, porque o hacker não consegui se ligar em root sobre a máquina. Podemos então tomar o risco de pensar que visto que o hacker não esteve ligado em root, ele não consegui modificar o sistema.

Porquê 'do 29/09/2004'?
Simplesmente porque nesse dia, as máquinas hackadas geraram um ataque de 1Gb para um destinatário que não deve estar muito contente.


Como ver?


# ls -aul /proc/*/exe 2>/dev/null | grep deleted
lrwxrwxrwx 1 nobody nobody 0 sep 29 11:24 /proc/5910/exe -> /tmp/upxCKRKOKLAPA4 (deleted)


ou

# find /proc -name exe -ls 2>/dev/null | grep deleted


Vemos que existe um processo que foi executado em user nobody, group nobody, cujo o binário original foi apagado. Se este comando não mostra nenhum resultado, é que não foi hackado. No entanto, pode ser que já realizamos a limpeza e por conseguinte já o contactamos. Dirige-se ao grep dos logs apache para verificar.

# cat /proc/5910/cmdline
/usr/local/apache/bin/httpd


A artimanha do hacker é que ele voltou a nomear o seu processo em '/usr/local/apache/bin/httpd' para ser discreto.

O ataque do dia foi feita pelo ip:
# host 210.169.91.66
66.91.169.210.in-addr.arpa is an alias for 66.64.91.169.210.in-addr.arpa.
66.64.91.169.210.in-addr.arpa domain name pointer january.medical9.gr.jp.


Para encontrar o script que é a origem é da falha de segurança, realizar um grep deste ip nos seus logs de apache (atenção, algumas máquinas estão hackadas há muito tempo (log em .gz)).

Nota: se a limpeza já foi realizada, só o percurso dos logs lhe permitirá encontrar os vestígios do hack.


Falha original


Este hack apoia-se sobre um erro de programação em php. Um 'include' toma os parâmetros do ficheiro a incluir. 'include' vai buscar o ficheiro e executa-o sobre o servidor. A falha é que php permite de ir buscar este ficheiro sobre uma url (nota: falha não quer dizer bug). O erro de programação é que este ficheiro é em realidade uma variável. E esta variável é preenchida a partir de uma informação passada quando invocou a página. O hacker muito simplesmente preencheu esta variável com uma relação para o seu script de hack num site distante.


Limpeza


Para fazer a limpeza, consulte o guia MaquinaSemiHackada.