PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Root-Rechte holen



deki
04-02-2004, 16:32
Hallo!

Ist es möglich von einem Programm aus Root-Rechte zu bekommen?
Das Passwort ist in einem string gespeichert.

MfG
deki

PS: Ich kenne sudo und das SUID-Bit, ich will das aber anders lösen ;)

Edit: Programmiersprache: C oder C++

offe
04-02-2004, 17:35
geht mit expect (http://expect.nist.gov/)
Bsp:
#!/usr/bin/expect --
spawn /bin/su
expect "Password:"
send "D6hz6G\r"


Bei Suse gibt es unter:
file:/usr/share/doc/packages/expect/example/
viele Beispiele

Offe

deki
04-02-2004, 17:39
Danke für den Tip.
Ich versuch dann mal ein bisschen zu skripten ;)
Falls noch jemand eine C/C++ Lösung hat, würde ich mich darüber auch freuen :D

anda_skoa
04-02-2004, 18:29
Original geschrieben von deki
Hallo!

Ist es möglich von einem Programm aus Root-Rechte zu bekommen?
Das Passwort ist in einem string gespeichert.
Edit: Programmiersprache: C oder C++

Gehen tut das sicher, das su Programm kann das ja auch.

Eventuell findest du im kdesu Source einen Anhaltpunkt.

Ciao,
_

peschmae
04-02-2004, 19:19
Ich würd eher mal su selber anschauen. Kdesu ist sicher noch ne kleine weile komplizierter - schliesslich funktioniert das ja auch mit X11-Programmen. (Was bei normalem su nur nach einem xhost +localhost läuft)

MfG Peschmä

sticky bit
06-02-2004, 21:16
Ohne Set UID Bit in der Berechtigung des Programmes und logischerweise Root als Owner geht es schon mal überhaupt nicht.
Ansonsten, folgendes Bsp. gibt dir mal eben ne Root-Shell:


#include <stdio.h>
int main ()
{
setuid(0);
setgid(0);
execl("/bin/sh", "sh", 0);
return(0);
}