Como saber se uma caixa de autenticação é real ou falsa?

28

Por exemplo, alguém cria uma caixa de diálogo Authenticate falsa para obter minha senha de root. Como saber se é real ou falso?

    
por user3683331 16.07.2014 / 10:48

1 resposta

23

Então, você provavelmente está olhando para um prompt de encaminhamento do PolicyKit lá. Qualquer um sem um daqueles que quer jogar junto pode apenas executar o run pkexec echo (ou algo assim) e eles terão algo parecido.

Como podemos verificar o realmente PolicyKit, e não uma janela de phishing personalizada?

Bem, você pode obter informações sobre uma janela com xprop e obter informações de comando com ps , então vamos combiná-las! Antes de começarmos, porque estamos sendo super paranóicos aqui, estou usando caminhos completos para o caso de alguém ter adicionado uma cópia hackeada local de qualquer um desses comandos. Aqui está eu rodando na minha pkexec echo box:

$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
  PID TTY      STAT   TIME COMMAND
 3989 ?        Sl     0:00 /usr/lib/kde4/libexec/polkit-kde-authentication-agent-1

Então, até onde podemos dizer (note que eu sou um usuário do KDE), este é um prompt legítimo. Ele não está sendo executado em algum script local, desde que algo maligno não tenha enraizado o sistema (mas, por que eles precisariam da nossa senha novamente?), Provavelmente estamos seguros.

Como podemos saber o que vai fazer?

No caso de gksu , kdesu e pkexec , os prompts são bastante explícitos sobre o que eles vão executar. No caso dos dois primeiros, o comando acima informará o que eles estão planejando executar:

$ /bin/ps $(/usr/bin/xprop _NET_WM_PID | /usr/bin/awk '{print $NF}')
  PID TTY      STAT   TIME COMMAND
10395 ?        Sl     0:00 /usr/lib/kde4/libexec/kdesu -u root -c /usr/sbin/synaptic

No caso do PolicyKit, você pode clicar na aba detalhes e você verá qual permissão deseja executar. No KDE, você também verá o PID do chamador que pode ser consultado ( ps <PID> ). Aqui está o que parece no KDE:

Você pode passar o mouse sobre a ação e obter a política do PolicyKit que deseja executar. No Ubuntu, a política é mostrada por padrão. Essas políticas podem ser pesquisadas. O acima vem de /usr/share/polkit-1/actions/org.kubuntu.qaptworker2.policy e um serviço especificado em /usr/share/dbus-1/system-services/org.kubuntu.qaptworker2.service . Você pode ver o que está sendo executado e por quem. E esses serviços só podem ser adicionados pelo root novamente, a menos que você já tenha sido rooteado, provavelmente você pode confiar neles.

Mas não confie cegamente no PolicyKit!

O PolicyKit tem essas regras e serviços, portanto, ações selecionadas podem ser executadas como raiz sem ter que executar todo o processo dessa forma. Você precisa ser vigilante embora. Obviamente, se você estiver executando gnome-calculator e um org.freedesktop.policykit.exec aparece, algo é desonesto.

Pode ser apenas investigar antes de inserir sua senha. Depois é tarde demais.

E mesmo que seja tudo legítimo, quem pode dizer que você não tem um keylogger roubando todas as suas senhas? Ou algo que substitua $PATH ou que tenha descartado algo horrível no seu ~/.bashrc , fazendo com que pareça que você não foi hackeado? Tenho certeza de que, com concentração suficiente, você poderia contornar todos os procedimentos de detecção acima.

Durma bem.

    
por Oli 16.07.2014 / 11:44