Como acessar um arquivo pertencente a algum outro grupo?

1

Eu vi esse problema em uma competição de hackers on-line. A questão nos pediu para imprimir o conteúdo do arquivo "secret"

bruce@ip-10-144-4-86:/home/hacker-weekly$ ll
total 20
drwxr-xr-x   2 hacker-weekly hacker-weekly  4096 Nov 12 19:19 ./
drwxr-xr-x 222 root          root          12288 Dec 27 06:27 ../
-r--r-----   1 root          secret          373 Nov 12 19:19 secret

bruce@ip-10-144-4-86:/home/hacker-weekly$ stat secret
  File: 'secret'
  Size: 373             Blocks: 8          IO Block: 4096   regular file
Device: ca01h/51713d    Inode: 141569      Links: 1
Access: (0440/-r--r-----)  Uid: (    0/    root)   Gid: ( 1004/  secret)
Access: 2012-11-24 13:14:40.942961879 +0000
Modify: 2012-11-12 19:19:51.079654457 +0000
Change: 2012-11-12 19:19:51.079654344 +0000
 Birth: -

bruce@ip-10-144-4-86:/home/hacker-weekly$ getent group secret
secret:x:1004:guest

bruce@ip-10-144-4-86:/home/hacker-weekly$ cat /etc/issue
Ubuntu 12.04.1 LTS \n \l

bruce@ip-10-144-4-86:/home/hacker-weekly$ groups
bruce

bruce@ip-10-144-4-86:/home$ netstat -tulen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          7287
tcp6       0      0 :::22                   :::*                    LISTEN      0          7289
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          6522

PS - Eu posso reunir outras informações também se você me disser qual comando executar no shell

    
por Bruce 28.12.2012 / 00:33

1 resposta

4

Não há nenhuma maneira oficial para acessar um arquivo se suas permissões não permitirem isso. Qualquer tal possibilidade seria um bug (grave) no sistema operacional. Portanto, não há nenhum comando mágico que leia esses arquivos ou, digamos, um interruptor mágico para algum comando:

cat --ignore-permissions /home/hacker-weekly/secret

É por isso que é chamado de concorrência - você precisa contornar a máquina de segurança do sistema operacional ou encontrar uma configuração incorreta da máquina que permita acessar o arquivo.

Nesse caso, acho que o dado é o guest user que está no grupo secret - acho que você precisa se tornar guest .

Se você tivesse acesso físico à máquina, também poderia reinicializar em um modo de usuário único ou desconectar o disco rígido e colocá-lo em outra máquina.

    
por Sergey 28.12.2012 / 00:49