from: http://seclists.org/fulldisclosure/2009/Jul/0388.html
Se eu entendi melhor com as postagens de: http://news.ycombinator.com/item?id=723798, os caras do Matasano deixaram o sshd internet acessível - alguma solução proposta para isso (do ponto de vista da programação)?
security
vulnerabilities
hacking
user14898
fonte
fonte
Respostas:
Como Matasano foi hackeado?
É impossível responder a partir das informações no post para a divulgação completa. No entanto, é sempre interessante especular, pois eles fornecem algumas informações -
Eles executam seus binários "
th3_f1n41_s01ut10n
" no servidor do Matasano, que se conecta à porta ssh. Ele encontra um usuário não raiz válido por alguns meios desconhecidos e o restante da saída é redigido.O binário é executado novamente usando o nome de usuário encontrado, que efetua login e se conecta novamente ao servidor na porta 3338 (espero que não esteja registrado em seu nome ...).
Eles podem estar implicando que eles têm um dia 0 contra esse kernel, o que é bastante antigo quando você considera o estoque da empresa.
Ops - de repente, o usuário agora é root. Eles têm uma exploração de escalação de privilégios local em / tmp que pode ser o dia 0 a que se referem.
Portanto, há pelo menos duas explorações em andamento aqui - a OpenSSH explora para obter um usuário não raiz válido no sistema, efetue login como esse usuário e, em seguida, a escalação de privilégios locais.
Considerando que o OpenSSH tem alguns problemas de segurança conhecidos desde a versão 4.5:
Na página de segurança do OpenSSH :
~/.ssh/rc
para sessões cujo comando foi substituído por uma diretiva ForceCommand sshd_config (5). Esse foi um comportamento documentado, mas não seguro (descrito nas notas de versão do OpenSSH 4.9).Eu acho que ter esse kernel Linux mais antigo e um daemon SSH mais antigo fez por eles. Além disso, ele estava sendo executado no servidor www, disponível na Internet, o que é algo bastante confiante para se fazer na minha opinião. As pessoas que invadiram obviamente queriam constrangê-los.
Como evitar esses ataques?
Isso poderia ter sido evitado pela administração proativa - garantindo que todos os serviços voltados para a Internet sejam corrigidos e limitando o número de pessoas que podem se conectar ao invés de permitir que as pessoas se conectem de qualquer lugar. Esse episódio compõe a lição de que a administração segura do sistema é difícil e requer dedicação da empresa para fornecer tempo para que a TI mantenha as coisas corrigidas - na realidade, não é algo que acontece facilmente, pelo menos em empresas menores.
É melhor usar uma abordagem de cinta e chaves - usar autenticação de chave pública, lista de permissões no daemon ssh, autenticação de dois fatores, restrições de IP e / ou colocar tudo por trás da VPN, são possíveis rotas para bloqueá-la.
Acho que sei o que farei no trabalho amanhã. :)
fonte
As pessoas adoram criar FUD sobre isso, mas parece que eles sabiam que o usuário Adam já estava lá e também sabiam sua senha (talvez por força bruta ou outros métodos). No entanto, eles querem parecer legais e criar esse barulho todo.
Outra coisa interessante a ser observada é que o usuário Adam não se registra nessa caixa há mais de um ano:
(saída do lastlog)
Então ele provavelmente manteve essa senha (talvez uma má) por um tempo.
* Se eles realmente tivessem uma ferramenta para descobrir nomes de usuários via SSH, eles poderiam ter usado todos os outros usuários para obter acesso remoto, mas usavam o nome de usuário mais comum nessa caixa (fácil de adivinhar).
fonte
Por que você tentaria resolver isso do ponto de vista da programação?
Em vez disso, você deve resolvê-lo do ponto de vista do administrador do servidor inteligente. Existem algumas ótimas sugestões nos comentários dos links que você postou, como usar uma lista de permissões.
Eu também gostaria de acrescentar que, porque você está perguntando aqui, provavelmente não é um especialista em segurança, e qualquer coisa que você pudesse escrever escrever acrescentaria mais buracos. Isso realmente não é uma questão de programação.
fonte
Proteja seu software contra ataques de 0 dias ... o que é impossível.
Talvez uma boa abordagem seja alegar que seu software é intransponível, o que levará os whitehats a testá-lo e divulgar tudo, deixando menos buracos. O Oracle 10 tinha essa afirmação e, no dia seguinte, foram encontrados 9 novos buracos. É bastante seguro agora.
Muito provavelmente, o hacker abusou da configuração de um software perfeitamente bom
fonte
me surpreende que eles tenham tantos usuários com conchas nessa máquina. foi assim que eles se tornaram donos, com certeza, tudo o mais é um arenque vermelho destinado a distrair. um deles conseguiu o backdoor do ssh em outra máquina shell, provavelmente e acabou o jogo. dar contas shell a todos e tornar o mundo sshd acessível é apenas preguiçoso e estúpido.
fonte