Como posso passar a senha automaticamente para 'su'?

2

Estou trabalhando em uma exploração para um curso de segurança. O objetivo é obter um shell raiz em uma máquina virtual linux. Até agora, posso escrever para / etc / passwd e alterar a senha do root para uma string arbitrária.

Agora, quero usar su para obter o shell de root. Como meu exploit precisa ser automatizado, ele não pode solicitar uma senha, e o vm não espera que esteja instalado. Alguém tem alguma idéia de como eu posso passar a senha para o comando su? Ou há uma maneira melhor?

    
por noobler 24.01.2012 / 21:46

2 respostas

0

As melhores maneiras de automatizar esse tipo de entrada é usar expect ou melhor pexpect . a maioria dos servidores vem com python, pelo menos com uma distribuição moderna.

Primeiramente, você disse que sua VM não tem expect instalado? Não sei por que isso importa. Existe alguma razão pela qual você não pode instalar / executar algo sob sua conta local?

Próxima consideração, por que você deve usar passwd ??? Você também pode alterar uma senha, substituindo o hash especificado em /etc/shadow . Obviamente, você precisaria gerar corretamente um hash primeiro, mas, desde que você use um suportado, ele deve funcionar como esperado. Agora, como você criaria uma ação desse tipo, é um exercício para você se exercitar.

Eu também quero mencionar, passwd não lê sua entrada de STDIN. Se não estou enganado, lê de um tty. Portanto, nenhum combo de apenas echo e sleep funcionaria. No entanto, é possível usar um HEREDOC, mas assume que o sistema é suficientemente responsivo. Você pode ser capaz de dividir e sleep entre entradas. Eu apenas testei isso, funcionou na minha estação de trabalho Ubuntu.

#!/bin/bash
passwd root <<'EOF'
newpassword
newpassword
EOF
    
por 23.05.2012 / 21:29
-2

Sua exploração também pode gravar no arquivo de grupos e tornar o usuário atual parte do grupo 'wheel' (ou qualquer grupo que possa executar sudo comandos sem uma senha). Então você poderá sudo su root (ou qualquer outro usuário) sem uma senha.

A execução de visudo deve fornecer uma orientação sobre a configuração do grupo "roda" na sua máquina.

Para esclarecer: quando um usuário se torna parte do grupo wheel, ele pode executar comandos sudo sem precisar de senha.

    
por 24.01.2012 / 22:10