shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Shell Script + bit setuid??? Alguém me explica o porq


From: Flavio Junior
Subject: Re: [shell-script] Shell Script + bit setuid??? Alguém me explica o porque do erro!
Date: Sat, 18 Jul 2009 13:04:54 -0300

Ainda bem que isso nao funciona...
setuid, setgid sao por binarios, um shell script nao eh um binario, é soh
uma lista de instruçoes a serem executadas.
As instruçoes normalmente sao binarios ou funcoes...

Imagina nesse teu caso, se o suid funcionasse e fizessemos:

$ alias echo="cat /etc/shadow #"
$ ./teste.sh

Pronto, transformamos o teu simples echo Ola em um cat /etc/shadow. E se
isso fosse executado como root, teriamos o hash da senha de todos usuarios
locais, inclusive o root.

Ou pior, alias echo="echo root:novasenha | chpasswd", pronto, redefinimos a
senha de root.

Se quer criar um setuid, faça um simples programa em C que chame um exec*
dos comandos, mas setuid's sao sempre complicados e requerem muita atençao
no codigo.

Mesmo em um codigo em C fazendo uso do system (e se nao me engano das
exec's()), a manipulaçao do PATH (ordem de pesquisa), quando se cuida do
PATH absoluto ainda é possivel manipular o IFS (me lembra aquele desafio
chines).

Espero ter mantido "on-topic".

--

Flávio do Carmo Júnior aka waKKu

2009/7/17 andredeo <address@hidden>

>
>
> Pessoal Boa Tarde,
>
> Depois de quebrar a cabeça, googlar, ver o histórico da lista... (Enfim fiz
> a lição de casa), peço ajuda....
>
> To tentando montar um exemplo de uso do setuid. Vejam a lógica da coisa:
> * - Criei um arquivo teste.txt (touch /teste.txt)
> * - Um script tosco:
> #!/bin/bash
>
> echo "Ola" >> /teste.txt
>
> * - Como root executo o script blza;
> * - Como usuario ele diz que o teste.txt não pode ser escrito, perfeito;
> * - chmod u+s teste.sh
> * - ls -lasF teste.sh
> 4 -rwsr-xr-x 1 root root 38 Jul 17 15:10 teste.sh*
> * - Ficou a permissão perfeita;
> * - Em tese quando eu chamar este script logado com usuario, ele sera
> executado como root e eu vou conseguir escrever no arquivo; MAS:
> # su - linux
> $ cd /
> $ ./teste.sh
> ./teste.sh: line 3: /teste.txt: Permissão negada
>
> Idéias de como usar Shell Script + bit setuid???
> Algum outro exemplo para que eu possa testar???
>
> Detalhe que, imagino que tenha reproduzido o mesmo caso que consta aqui:
> http://www.dicas-l.com.br/dicas-l/19970419.php
>
> Abraço,
> Déo
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]