sem código de auditoria (você está usando software de armazenamento personalizado?), você não pode saber se há um bug sendo explorado (e mesmo que você não tenha encontrado nada que não signifique que não esteja lá). Você está usando código SQL personalizado, por exemplo? Com verificação de sanidade e limpeza de entrada?
Estou assumindo que todos os seus sistemas estão totalmente atualizados? Verificações de malware? Antivírus atualizado?
Uma vez que alguém quebra o sistema, eles poderiam ter rootkitted. Não importa como você insere alterações ou alterações de senha, se algo no sistema tiver sido alterado para permitir acesso de backdoor, você não o manterá fora. Além disso, pode estar registrando suas alterações de senha e pressionamentos de teclas, por isso você está apenas alimentando mais senhas para o invasor.
Você pode colocar em auditoria para ver de onde as conexões estão vindo, mas duvido que isso ajude muito.
No final, você precisa considerar uma limpeza e reinstalar do zero. É o modo único que você pode confiar na instalação novamente e saber que está limpo de código de trojan, já que a infecção pode se mascarar quando estiver no controle.
Mais assustador, se você estiver aceitando cartões de crédito, essas informações poderão ser roubadas e você será responsabilizado por ter as identidades dos clientes roubadas. Se você está nos EUA, isso tem ramificações onde é necessário notificar os clientes sobre possíveis roubos de identidade.
Se este for um servidor que lida com qualquer coisa que envolva dinheiro, talvez seja necessário considerar chamar contratados para auditar o sistema. Tire fotos do sistema para uso forense e limpe e reinstale. Quanto mais você esperar, mais responsabilidade você se abrirá.
Para responder como isso está acontecendo, se o servidor for um servidor dedicado, pode ser quebrando algo na sua vitrine (injeção de SQL, por exemplo) vulnerabilidade no Windows não corrigida qualquer coisa navegar na web com esse sistema? "Dirija por" downloaders de um website. Executar software nele que não é do sistema? Poderia ter sido infectado com alguma coisa. Senhas fracas. Auditoria-los sempre? E há a possibilidade de você não saber facilmente como eles fizeram isso. Minhas apostas estão no software da vitrine, especialmente se for um nicho, pois é fácil para os desenvolvedores não limparem a entrada da URL e abri-la para ataques de injeção. Ou se estiver usando PHP aberto para uma interface externa; você mantém isso atualizado? Você não menciona se ele usa algo como uma interface administrativa do php, mas a codificação do php desleixada também pode adicionar um vetor de ataque fácil.
Se você está com uma perda total de como lutar contra isso, a sério, contrate ajuda externa. Não é nenhuma vergonha em obter ajuda, e a regra geral é que, uma vez que você é hackeado, você NÃO PODE ter certeza de que está consertado, e se os dados do cliente fluírem nesse sistema, você estará se responsabilizando e prejudicando clientes inocentes. Além disso, se esse sistema não for particionado de outros sistemas na rede, ele poderá tentar interceptar outros dados do sistema.