[OFF-TOPIC] Ajuda com ataque de código criptografado no PHP!

2 views
Skip to first unread message

Henrique Fagundes

unread,
Jun 25, 2019, 4:12:50 PM6/25/19
to sl...@googlegroups.com
Prezado Colegas,

Recorro a ajuda dos senhores, para resolver um problema que está me tirando o sono.

Possuo o seguinte cenário:
Servidor Linux com Apache, PHP e MySQL.

VERSÕES:
- Debian Stretch 9.9
- Apache 2.4.25
- PHP 7.0.33
- MysQL 5.7.26

Possuo alumas aplicações (entre elas um Drupal) na qual estão sob ataque. Estão conseguindo injetar uma espécie de código criptografado dentro dos arquivos PHP.
Eu excluo os arquivos, instalo as aplicações do zero, com o código limpo... Mas o código criptografado sempre volta.

Existe algum ajusto específico que eu possa fazer no "/etc/php/7.0/apache2/php.ini" para resolver esse problema?

Desabilitei essas funções:

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,show_source,system,shell_exec,passthru,exec,phpinfo,popen,proc_open,system,curl_exec,curl_multi_exec,parse_ini_file

Mesmo assim o problema persiste.
A ultima coisa que tentei foi "fechar" mais as permissões do apache.

O /var/www e seus subdiretórios estão com permissão 700 e os arquivos estão com 644.
Grupo e usuário é o www-data

Aviso que tenho conhecimento de Linux, mas nenhum conhecimento de PHP.

Existe algo que eu possa fazer?

Atenciosamente,

Henrique Fagundes
Analista de Suporte Linux
sup...@aprendendolinux.com
Skype: magnata-br-rj
Linux User: 475399

https://www.aprendendolinux.com
https://www.facebook.com/AprendendoLinux
https://youtube.com/AprendendoLinux
https://twitter.com/AprendendoLinux
https://t.me/AprendendoLinux
https://t.me/GrupoAprendendoLinux
______________________________________________________________________
Participe do Grupo Aprendendo Linux
https://listas.aprendendolinux.com/listinfo/aprendendolinux

Ou envie um e-mail para:
aprendendoli...@listas.aprendendolinux.com

BRASIL acima de tudo, DEUS acima de todos!


Fernando Mercês

unread,
Jun 26, 2019, 10:20:32 PM6/26/19
to sl...@googlegroups.com
Oi Henrique!

É importante entender a falha que está permitindo isso. Bater a data/hora da modificação dos arquivos .php com o log do Apache para ver como a injeção se dá. É legal também deixar um tcpdump capturando - caso tenha espaço - assim você conseguirá acesso o payload. Eu acho que posso ajudar. Se quiser me enviar estes arquivos .php "criptografados" posso tentar ajudar a entender o que está acontecendo. Pode ser pela lista aqui mesmo, assim todos participam.

Você desabilitou funções interessantes que podem ser que ajude a inutilizar uma provável webshell injetada pelo atacante, mas isso não é, de fato, suficiente. Vale considerar o uso do ModSecurity [1] também. É um WAF (Web Application Firewall) livre, mas se essa vulnerabilidade no Drupal (ou em algum plugin) for nova, pode ser que passe batido e precisemos escrever uma regra na mão.

Como medidas mais urgentes, recomendo:

1. Não apagar nada. Se tiver que restaurar arquivos no site, fazer backup dos arquivos comprometidos mantendo seus atributos (cp -p).
2. Bloquear os IP's que achar suspeitos (iptables). Se seu site é BR por exemplo, você pode buscar por IP's gringos. Não é 100% pois pode have um brasileiro fora do país ou alguém usando VPN, mas é uma medida meio urgente que pode ajudar a conter o ataque.

Anexa uma lista de funções que desabilito, mas não sei se o Drupal ou outras aplicações suas precisam delas. É necessário testar.

Grande abraço. Fico no aguardo dos arquivos, se assim desejar. 😉


--
Você está recebendo esta mensagem porque se inscreveu no grupo "Software Livre Rio de Janeiro" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para slrj+uns...@googlegroups.com.
Para postar neste grupo, envie um e-mail para sl...@googlegroups.com.
Visite este grupo em https://groups.google.com/group/slrj.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/slrj/20190625201237.nxnx4tvrdkingln6%40echelon.aprendendolinux.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.
disable_functions.txt

Henrique Fagundes

unread,
Jun 27, 2019, 11:32:47 AM6/27/19
to slrj, slrj
Oi amigo,

Boa tarde!

Muito obrigado por responder.
Comecei a desativar algumas opções que me enviou em anexo e o site parou de funcionar.

Então, eu resolvi desabilitar (além das que já tinha desabilitado) a opção "base64_decode"

Instalei o ModSecurity no apache seguindo essas orientações:
https://www.linode.com/docs/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/

Você me recomendaria mais algum ajuste?
Infelizmente, quando vi o seu e-mail, eu já havia limpado o código, então, não tenho como enviar pra você o código invadido.

Mas, se os procedimentos que fiz não surtirem efeitos, eu vou enviar a amostra pra você.

Muito obrigado.

Atenciosamente,

Henrique Fagundes
Analista de Suporte Linux
sup...@aprendendolinux.com
Skype: magnata-br-rj
Linux User: 475399

https://www.aprendendolinux.com
https://www.facebook.com/AprendendoLinux
https://youtube.com/AprendendoLinux
https://twitter.com/AprendendoLinux
https://t.me/AprendendoLinux
https://t.me/GrupoAprendendoLinux
______________________________________________________________________
Participe do Grupo Aprendendo Linux
https://listas.aprendendolinux.com/listinfo/aprendendolinux

Ou envie um e-mail para:
aprendendoli...@listas.aprendendolinux.com


---- Ativado Qua, 26 jun 2019 23:20:14 -0300 Fernando Mercês <nan...@gmail.com> escreveu ----
> Oi Henrique!
> É importante entender a falha que está permitindo isso. Bater a data/hora da modificação dos arquivos .php com o log do Apache para ver como a injeção se dá. É legal também deixar um tcpdump capturando - caso tenha espaço - assim você conseguirá acesso o payload. Eu acho que posso ajudar. Se quiser me enviar estes arquivos .php "criptografados" posso tentar ajudar a entender o que está acontecendo. Pode ser pela lista aqui mesmo, assim todos participam.
> Você desabilitou funções interessantes que podem ser que ajude a inutilizar uma provável webshell injetada pelo atacante, mas isso não é, de fato, suficiente. Vale considerar o uso do ModSecurity [1] também. É um WAF (Web Application Firewall) livre, mas se essa vulnerabilidade no Drupal (ou em algum plugin) for nova, pode ser que passe batido e precisemos escrever uma regra na mão.
> Como medidas mais urgentes, recomendo:
> 1. Não apagar nada. Se tiver que restaurar arquivos no site, fazer backup dos arquivos comprometidos mantendo seus atributos (cp -p).2. Bloquear os IP's que achar suspeitos (iptables). Se seu site é BR por exemplo, você pode buscar por IP's gringos. Não é 100% pois pode have um brasileiro fora do país ou alguém usando VPN, mas é uma medida meio urgente que pode ajudar a conter o ataque.
> Anexa uma lista de funções que desabilito, mas não sei se o Drupal ou outras aplicações suas precisam delas. É necessário testar.
> Grande abraço. Fico no aguardo dos arquivos, se assim desejar. 😉
> [1] https://modsecurity.org
>
> Att,
>
> Fernando Mercês | menteb.in
>
>
> On Tue, Jun 25, 2019 at 5:12 PM Henrique Fagundes <sup...@aprendendolinux.com> wrote:
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Software Livre Rio de Janeiro" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para slrj+uns...@googlegroups.com.
> Para postar nesse grupo, envie um e-mail para sl...@googlegroups.com.
> Acesse esse grupo em https://groups.google.com/group/slrj.
> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/slrj/CAM7p17NkdBjSf%2BwcwrbE_LTmGVpSXNWermU9mA%3DxgtqLJStETA%40mail.gmail.com.
> Para mais opções, acesse https://groups.google.com/d/optout.

Vitor Mattos

unread,
Jun 27, 2019, 11:46:33 AM6/27/19
to sl...@googlegroups.com
Olá Henrique,

Recomendo o grupo da comunidade de software livre PHPRio https://t.me/phprio para dúvidas de PHP.


Para obter mais opções, acesse https://groups.google.com/d/optout.


--

Nilton Jose Rizzo

unread,
Jun 28, 2019, 11:39:59 PM6/28/19
to sl...@googlegroups.com
Provavelmente é uma furo de segurança no Drupal ou outra aplicação em PHP, principalmente se vc deixa aberto facilidades para atualização deste (drupal). Já aconteceu comigo uma vez e injetaram um programa chamado C99Shell, que permite que um usuário remoto controle o seu computador, injetando outras vulnerabilidades.
Sugestões
1) Suba uma máquina limpa e substitua esta que já foi para o saco
2) atualize todos os softwares para a última versão disponível
3) se increva nas listas de segurança dos aplicativos que vc está utilizando
4) feche tudo o que tem que ser fechado, diretórios apenas com leitura e execução, nada de escrita
5) colocar o / como read-only
6) Analisar o HD antigo sem modificar as datas de acesso ( tem que montar-lo como readonly)

O resto é paleativo


Henrique Fagundes

unread,
Jul 2, 2019, 10:00:03 AM7/2/19
to slrj, slrj
Prezado,

Uma coisa que "parece" estar dando certo é que...
Eu TRAVEI o diretório do webserver...

chattr -R +i /var/www

Ainda é muito cedo pra comemorar vitória, mas até então, não estou mais sofrendo os ataques.
Continuo analisando.

E sim... Penso em migrar esse servidor.
Mas, tem um problema. Algumas aplicações NÃO PODEM SER ATUALIZADAS, pois foram desenvolvidas por pessoas singulares nas quais não temos mais contato.
Estamos estudando extingui-las ou migrar para soluções conhecidas que tenham atualizações regulares.

Obrigado por responder!
Forte abraço!

Atenciosamente,

Henrique Fagundes
Analista de Suporte Linux
sup...@aprendendolinux.com
Skype: magnata-br-rj
Linux User: 475399

https://www.aprendendolinux.com
https://www.facebook.com/AprendendoLinux
https://youtube.com/AprendendoLinux
https://twitter.com/AprendendoLinux
https://t.me/AprendendoLinux
https://t.me/GrupoAprendendoLinux
______________________________________________________________________
Participe do Grupo Aprendendo Linux
https://listas.aprendendolinux.com/listinfo/aprendendolinux

Ou envie um e-mail para:
aprendendoli...@listas.aprendendolinux.com


---- On Sáb, 29 jun 2019 00:39:41 -0300 Nilton Jose Rizzo <ri...@i805.com.br> wrote ----
> Provavelmente é uma furo de segurança no Drupal ou outra aplicação em PHP, principalmente se vc deixa aberto facilidades para atualização deste (drupal). Já aconteceu comigo uma vez e injetaram um programa chamado C99Shell, que permite que um usuário remoto controle o seu computador, injetando outras vulnerabilidades.Sugestões 1) Suba uma máquina limpa e substitua esta que já foi para o saco2) atualize todos os softwares para a última versão disponível3) se increva nas listas de segurança dos aplicativos que vc está utilizando4) feche tudo o que tem que ser fechado, diretórios apenas com leitura e execução, nada de escrita5) colocar o / como read-only6) Analisar o HD antigo sem modificar as datas de acesso ( tem que montar-lo como readonly)
> O resto é paleativo
>
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Software Livre Rio de Janeiro" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para slrj+uns...@googlegroups.com.
> Para postar nesse grupo, envie um e-mail para sl...@googlegroups.com.
> Acesse esse grupo em https://groups.google.com/group/slrj.
> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/slrj/33a259e58be79247109e4a107b4c226e3341a698.camel%40i805.com.br.
Reply all
Reply to author
Forward
0 new messages