Escolar Documentos
Profissional Documentos
Cultura Documentos
Na trilha do invasor
SYSADMIN
Pe
ter
So
re n
se
n-
ww
w.
sx
c.h
u
lhes interessava naquela máquina. Vou usar O servidor em questão era uma máquina Feb 22 12:36:27 sshd[PID]: refused connect
nomes fictícios e mascarar alguns IPs para de testes internos na empresa A, que em ➥ from IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect
resguardar a privacidade de todos. determinado momento foi deslocada para
66 http://www.linuxmagazine.com.br
Invasão | SYSADMIN
➥ from IP.IP.IP.IP administrador, e não do sistema opera- Pronto. Estava constatado que esse
Feb 22 12:36:27 sshd[PID]: refused connect
cional, seja ele qual for, e do fabricante tal comando crontabs era alienígena e
➥ from IP.IP.IP.IP
que for. O administrador precisava ago- não deveria estar ali. Foi, com certeza,
Feb 22 12:36:27 sshd[PID]: refused connect
➥ from IP.IP.IP.IP ra descobrir como o cracker invadiu a implantado pelo cracker. Mas não pa-
Feb 22 12:36:27 sshd[PID]: refused connect máquina, para, corajosamente, assumir ramos aqui. Queríamos saber o que esse
➥ from IP.IP.IP.IP a falha e não permitir que isso aconte- programa fazia. Como era um binário,
Feb 22 12:26:27 sshd[PID]: refused connect cesse novamente. tentamos extrair dele algumas cadeias
➥ from IP.IP.IP.IP
Logo na inicialização da máquina, de caracteres:
observamos consecutivas mensagens es-
Eles mostravam que o IDS (Intru- tranhas que não deveriam estar lá, e que bash$ strings /usr/bin/crontabs
sion Detection System) de B acusou que continham o texto (swap). Começamos [...]
“smbd -D”
a máquina atacada (cujo endereço IP a analisar o processo de inicialização do “(swapd)” &
está representado por IP.IP.IP.IP) ten- sistema, a partir do arquivo /etc/inittab. [...]
tou se conectar várias vezes sem sucesso Vimos que um dos primeiros scripts que
a seu serviço SSH (sshd). Reparem que são executados no sistema é o /etc/init.d/
o instante de todas as tentativas, até os functions, e fizemos os seguintes testes: Ou seja, era o binário crontabs que
segundos, é o mesmo, o que leva a crer imprimia na tela as mensagens com o
que não é um ser humano, e sim algum bash$ rpm -qf /etc/init.d/functions termo (swap). Mas descobrimos ainda que
software que muito rapidamente está tes- initscripts-7.93.20.EL o alienígena continha também a cadeia
bash$ rpm -V initscripts
tando várias combinações de usuário e S.5....T c /etc/rc.d/init.d/functions smbd -D, que se parece com o nome do
senha ao mesmo tempo. serviço do Samba. Nem perdemos tempo
Fui chamado para dar explicações, usando os comandos ps e top para verifi-
pois eu havia fornecido, informalmente Verificamos que este arquivo faz parte car se um processo chamado smbd estava
e por telefone, algumas dicas de como (rpm -qf) do pacote initscripts; em segui- em execução, pois usamos os mesmos
proteger a máquina. Primeiramente, era da, testamos sua integridade (rpm -V), e rpm -qf e rpm -V para constatar que esses
necessário dar subsídios ao provedor P descobrimos que o arquivo foi alterado. programas também foram modificados
para responder ao email de B, dando uma O número 5 significa que a soma MD5 pelo cracker. Usamos o utilitário gráfi-
satisfação formal. Isso é uma atitude de do arquivo mudou, ou, em outras pala- co ksysguard (que não foi modificado)
responsabilidade de um bom administra- vras, que o conteúdo do arquivo mudou. do KDE, e conseguimos observar um
dor de rede, e demonstra a preocupação O gerenciador de pacotes RPM obtém tal processo smbd -D sendo executado.
em manter o nível de serviço da Internet essa informação ao comparar essa soma Chamou-nos a atenção o fato de que
o mais alto possível. do arquivo atual no disco com o valor de o ksysguard mostrava todos os processos
A máquina foi colocada em quarente- MD5 registrado em seu banco de dados sendo executados sem seus parâmetros,
na, desligada da Internet e começamos no momento da instalação do pacote. e somente o smbd apresentava um parâ-
a analisá-la. Tratava-se de um Red Hat Mas o que foi alterado no script func- metro. Não tardou a acharmos um pro-
Enterprise Linux 3 Update 5. Não estou tions? grama chamado /usr/bin/smbd -D (com
dizendo que o Red Hat Linux é menos A última linha do script era: espaço e parâmetro mesmo), e o RPM
ou mais seguro. O conceito de segurança novamente nos informou que ele não fa-
de uma distribuição não é intuitivo, mas /usr/bin/crontabs -t1 -X53 -p zia parte de nenhum pacote. Tratava-se
é fato que segurança não tem quase nada de outro programa do cracker. Fomos lá
a ver com o software. Segurança não é Suspeitamos imediatamente, pois o tentar extrair mais algumas informações
um firewall, não é criptografia, nem um comando crontab não se chama crontabs. sobre este programa:
conjunto de produtos que têm proteção Confirmamos novamente com o RPM:
como objetivo. Segurança é um processo bash$ strings “/usr/bin/smbd -D”
que deve ser seguido conscientemente por bash$ rpm -qf /usr/bin/crontabs [...]
Received SIGHUP; restarting.
administradores de redes. Se um ataque o ficheiro /usr/bin/crontabs não pertence Generating new %d bit RSA key.
➥ a nenhum pacote
acontece, toda a responsabilidade é do
68 http://www.linuxmagazine.com.br
Invasão | SYSADMIN
Reinstalação
Depois de um ataque
como esse, e depois do
relatório conclusivo, a
melhor coisa é limpar
completamente o dis-
co e partir para uma
reinstalação completa.
Dessa vez acompanhei
de perto a instalação,
e seguimos algumas
simples regras de se- Figura 2: Um ataque DDoS é realizado a partir de uma sala de IRC, de onde o cracker envia comandos de ataque a toda sua
legião de bots.
gurança:
➧ Só instalamos paco- a seu dispor um exército de bots, distri-
tes que sabíamos que seriam usados. Por que o buídos geograficamente e programados
Desconsideramos totalmente uma
instalação completa. cracker ataca? para executar ações sob seu comando.
O DDoS acontece quando o cracker,
➧ Depois de instalado o sistema, de- Em todas as análises que fizemos, não através de comandos dados aos bots na
sativamos alguns serviços que sabí- encontramos nada de útil no ataque do sala de IRC, faz os computadores ataca-
amos que não seriam usados, como cracker. A máquina estava conectada dos enviarem simultaneamente grandes
NIS, Samba, Portmap e NFS, por a outras redes, mas essas não pareciam volumes de pacotes de dados para algum
exemplo. interessá-lo. A única conclusão a que site vítima, escolhido pelo cracker. Na-
➧ Criamos regras para o Iptables, fe- pudemos chegar foi que o cracker ata- quele momento, o link do site vítima
chando praticamente tudo, exceto as ca por atacar, e depois usa seu ataque fica sobrecarregado, e a sensação é de
portas 80 (HTTP) e 443 (HTTPS). para atacar mais. Simplesmente isso. que ele está fora do ar. Isso pode durar
➧ Requisitamos ao provedor do link, P, Sim, porque as ferramentas, técnicas e o tempo que o cracker desejar.
que configurasse regras semelhantes rastros deixados mostram que ele prova- Esse processo foi ricamente detalhado
em seu roteador, formando um fi- velmente usou ferramentas criadas por pelo dono de um desses site-vítima, em
rewall duplo. outros, talvez seguindo uma documen- [1], e é leitura obrigatória a qualquer
➧ Por via das dúvidas, desabilitamos o tação que mostra os comandos prontos, um que se interesse por segurança da
acesso de root por SSH, obrigando passo a passo. Ele provavelmente não informação. ■
o administrador a se logar com um sabia direito o que estava fazendo. Sem
usuário qualquer e depois ganhar objetivos “mitnickianos”, nem financei-
privilégios com o comando su. Isso ros, nem algo que o exaltasse perante Mais Informações
funciona como uma restrição dupla outros crackers.
para administrar a máquina. Nesse ponto, é interessante explicar [1] The strange tale of the Denial
of Service attacks against grc.com:
➧ Dessa vez foram usadas senhas de- o que é o bot de IRC. Ele se dedica a
http://grc.com/dos/grcdos.htm
centes, bem difíceis, com letras, nú- desferir ataques do tipo DDoS (Distri-
meros, e que não eram derivadas de buted Denial of Service), como mostra-
palavras óbvias. do na figura 2. Um bot fica constante- O autor
➧ Por último, as senhas só foram in- mente conectado a uma sala de IRC
formadas para poucas pessoas, e pré-definida. Depois de invadir várias Avi Alkalay (avix@br.ibm.com) é con-
sultor de Linux, Software Livre, Padrões
somente de forma verbal. Evitamos máquinas e ativar os respectivos bots, o
Abertos e Segurança na IBM Brasil.
passar por email. cracker entra nessa sala de IRC e tem