Pode 'chmod -R 777 / bin' ser recuperado?

0

Eu sei que o chmod -R 777 / é extremamente destrutivo , e eu sei que um chmod -R 000 /bin pode ser recuperado usando um disco adicional , mas estou me perguntando sobre chmod -R 777 /bin .

Se eu tiver um shell de root, mas nenhum disco adicional montado a partir de uma VM saudável, posso recuperar esse sistema?

(Esta questão é para fins de aprendizado, pois a caixa real não é minha, nem foi o erro, e a caixa já está planejada para ser recondicionada.)

    
por Wildcard 24.06.2017 / 03:55

2 respostas

1

Como argumentado na resposta que você liga, isso depende da sua definição de "recuperar" (ou seja, você ainda confia em um binário depois que ele foi potencialmente alterado por qualquer pessoa no sistema, que pode ser "Eu acho que estou bem") para sua máquina desktop privada, mas muito menos em um sistema de empresa multiusuário).

Olhando para minha caixa, /bin tem um número gerenciável de arquivos que não são 0755 ou links simbólicos:

ls -l /bin/ | grep -v '^-rwxr-xr-x' | grep -v '^l' | wc -l
35

e isso é principalmente porque eles são setgid ou setuid. Portanto, em princípio, você poderia chmod 0755 /bin/* e corrigir manualmente as permissões nesses 30, 40 binários, se ainda tiver acesso root. ( su e sudo não funcionarão até que as permissões apropriadas sejam restauradas.)

Mas para fins práticos, isso ainda significa que você precisa de uma máquina "limpa" em algum lugar para fins de comparação, mas não precisa montar a unidade.

(Venha para pensar sobre isso, eu não acho que permissões erradas nos binários devem parar o gerenciador de pacotes de funcionar, então você poderia tentar reinstalar cada pacote que tem algo em /bin , mas provavelmente tudo tem um dependência de algo em /bin , então você pode acabar removendo e reinstalando todos os pacotes.)

    
por 24.06.2017 / 12:06
1

No meu sistema mint todos os arquivos em / bin são 0755 exceto fusermount, mount, ping, ping6 e su, que são 04755.

0755 é uma máscara de permissão razoável para um executável compartilhado. Quais executáveis são setuid dependerá muito das políticas de segurança do seu sistema.

Tentando:

chmod -R 0755 /bin && chmod  04755 /bin/{{,fuser}mount,ping{,6},su}

(como root) pode fazer pouco mal neste momento (definir setuid root em qualquer coisa é uma vulnerabilidade potencial).

    
por 24.06.2017 / 13:10