Onde posso “esconder” ovos de páscoa para os alunos que estão aprendendo sobre segurança no Linux? [fechadas]

7

Eu sinto que este não é o melhor lugar para fazer isso (já que não há uma única resposta correta), mas não consigo pensar em um lugar melhor. Se você tem uma recomendação melhor, poderia por favor recomendá-la e eu posso fazer a pergunta em vez de apenas fechar tudo de uma vez?

Estou ensinando uma turma de alunos do ensino médio sobre segurança geral do Linux. Em um nível alto, quero que eles consigam aceitar um determinado servidor Linux e saber como protegê-lo contra problemas comuns de segurança - por exemplo, fechando contas antigas, usando um strong algoritmo de hashing pw, certifique-se de que nenhum processo estranho esteja sendo executado ou executado na inicialização. Seu nível de habilidade é amplo e estou procurando maneiras de motivá-los a usar o que estamos discutindo (por exemplo, veja o crontab; observe os usuários e as configurações de grupo; veja as portas abertas).

Recebi $ 200 para realizar uma competição para incentivá-los, e achei que poderia comprar um monte de vales-presente da Amazon em incrementos de $ 10. A ideia seria "ocultar" os códigos de resgate em vários lugares em nosso servidor sandbox para as crianças encontrarem. Por exemplo, eu poderia armazenar as senhas em texto sem formatação e ter uma das contas de usuário de exemplo atribuídas a uma senha de um dos códigos. Ou talvez eu pudesse configurar um cron job para registrar um dos códigos em um log do sistema a cada 30 segundos.

O que eu estou procurando é lugares / métodos para esconder esses códigos, de modo que alguém procurando proteger o servidor tropeça neles.

Obrigado!

    
por loneboat 04.09.2014 / 22:14

4 respostas

6

  • Executar um listener nc que ecoa fora um dos códigos de comprovante quando você telnet ou nc . Se eles olharem para o arquivo, eles também o receberão.

    #!/bin/sh
    nc -i 2 -l -p 3128 -c "echo amazoncode"
    

    Nomeie algo útil, como squid

  • Crie algumas regras de firewall locais com nomes ou parâmetros de códigos amazon.

    iptables -N amazoncode -P ACCEPT
    iptables -I INPUT -j amazoncode
    
  • Falha em alguns ssh logins com o código como nome de usuário.

  • Execute uma instância mysql desprotegida ou mal protegida com alguns bancos de dados contendo códigos.

Você pode ter alguns caras sábios que apenas grep -r amazoncode , embora sem alguns métodos de ofuscação. O que mostra alguma engenhosidade se eles podem descobrir uma regex, mas não ajuda muito com a segurança.

    
por 04.09.2014 / 23:16
5

Não sei se esse método é algo que possa interessar aos alunos.

  1. Eu criei um arquivo como amazoncode com o código original.

    cat amazoncode
    125622234
    
  2. Agora, criptografe o arquivo usando o comando abaixo.

    openssl aes-128-cbc -salt -in amazoncode -out amazoncode.aes -k somepassword
    
    • somepassword é a senha que você definiu para o arquivo.
  3. Agora, remova o arquivo original.

    rm amazoncode
    
  4. Agora, instrua os alunos que o código de presente da Amazon é criptografado e se eles precisarem do código, eles terão que descriptografá-lo. Você também pode compartilhar o comando original usado para criptografia e senha para os alunos.

  5. Os alunos podem descobrir pelo comando original que eles deve fazer o contrário para descriptografar o arquivo que é como abaixo. Você também pode dizer a eles que a opção -d é para descriptografia e o arquivo criptografado deve ser a entrada para produzir o código como a saída. Aqui, você pode também dizer aos alunos que descubram a técnica de decriptografia na página man de openssl .

     openssl aes-128-cbc -d -salt -in amazoncode.aes -out amazoncode
    
  6. Agora, recebo o código depois de aprender alguma criptografia / descriptografia técnicas também.

    cat amazoncode
    125622234
    

Na verdade, a senha openssl pode ser colocada como um arquivo oculto dentro do diretório pessoal do usuário. Em seguida, os alunos também saberão como acessar os arquivos ocultos, obter a senha openssl e tentar a descriptografia.

    
por 04.09.2014 / 22:42
3

Algumas ideias:

  • Arquivo de texto simples no diretório pessoal de um usuário (" Amazon Code.txt " ou algo mais óbvio), legível pelo mundo
  • Arquivo de texto simples no diretório inicial de um usuário, não legível para o mundo, mas o usuário possui uma senha fácil de adivinhar
  • Processo com a chave ofuscada no código-fonte, mas chama algo diferente (digamos system("sleep 864000 $key") ) que expõe a chave em ps output
  • O mesmo, mas executado a partir de crontab e só tem seu filho dormir por alguns segundos
  • Processo com a chave ofuscada no código-fonte, mas abre um soquete TCP e imprime a chave para qualquer pessoa que se conecte
por 04.09.2014 / 23:01
3

Talvez um script 'engraçado' no ~ / bin / ou / etc / bin /. Faça algo como substituir a funcionalidade do LS, cat ou CD de se comportar de forma um pouco diferente e dê a eles uma dica de que algo está errado, (o primeiro que vem à mente é ter o ls / cd mudando listar / mover a pasta errada) e ter o código listado em um comentário do arquivo sh.

Talvez execute um processo que consome quantidades excessivas de memória RAM / abre portas estranhas; ter o nome do processo como um código amazon.

    
por 05.09.2014 / 00:05

Tags