BASH Script como serviço xinetd

3

Descobri recentemente que um servidor no qual estou trabalhando possui um serviço xinetd que é, na verdade, um script de shell que chama outro script de shell com argumentos recuperados por meio das respectivas conexões de rede.

Faz algo assim:

    /execute/another/script $WITH $A $FEW $ARGUMENTS

O que me faz temer que este seja um problema real é o fato de que as variáveis não são higienizadas de qualquer forma e, como isso é executado como root, é algo que deve ser levado a sério.

Alguém poderia, por favor, avisar? Eu também estaria curioso para descobrir como alguém pode abusar de variáveis em tais situações para ter algo mais executado, alguém pode fornecer exemplos?

    
por remote 16.10.2011 / 05:16

2 respostas

2

Eu posso ver dois tipos de ataques. Um contra o próprio script, chamando-o com dados que podem dar privilégios elevados. O outro contra o bash, usando um buffer overflow ou outros bugs bash. Um problema é que o bash não foi projetado para ter uma boa segurança para esse tipo de ataque, porque espera que a entrada seja alimentada pela mesma pessoa que a iniciou.

No mínimo, eu atualizaria o script bash para poder ser executado como um usuário normal e usar sudo ou outro mecanismo Unix para as coisas que exigem privilégios elevados.

    
por 16.10.2011 / 05:35
1

Que tal isso?

export ARGUMENTS='ValidArg&mkdir /var/tmp/hello_there'
    
por 16.10.2011 / 08:28