duddits |
|
 |
 |
Anmeldedatum: 03.01.2006 |
Beiträge: 569 |
Wohnort: /proc |
|
|
 |
 |
 |
|
Hi,
beim experiementieren eines Shell-Scriptes unter Debian Sarge 3.1 ist mir was seltsames passiert.
Ich wollte eigentlich nur eine neue Instanz der Bash aufrufen, dann dachte ich mir wieso löse ich das ganze nicht so, das immer die Instanz der Shell aufgerufen wird die gerade aktiv ist.
Da ich wusste das in der Variabel $0 dies hinterlegt ist dachte ich mir folgendes:
Nach ein bischen testen ist bei folgender Konstelaltion:
Code: | root@duddits: /home/daniel # vi rs
#! /bin/bash
$0 -bash
/bin/bash -bash
root@duddits: /home/daniel # chmod 6755
root@duddits: /home/daniel # exit
daniel@duddits: ~$ ./rs |
bei mir eine Endlosschleife entstanden und das System hatte den Prozess später als Zombie-Prozess deklariert(in top). Als ich dass das letzte mal probierte ist mein System dabei eingefroren
Das eigentliche Ziel war es ein Shell-Script zu schreiben was mir eine Rootshell öffnet, doch bis jetzt sind mir dabei nur zwei Varianten gelungen, die ich hier jetzt auch einfach mal kurz nenne:
1 Variante:
Code: | root@duddits: ~ # cp /bin/bash /tmp/.sh
root@duddits: ~ # chmod 4755 /tmp/.sh
root@duddits: ~ # exit
daniel@duddits: ~ $ cd /tmp
daniel@duddits: /tmp $ ./.sh
root@duddits: /tmp # |
2.Variante:
Code: | root@duddits: /home/daniel # vi rs.c
#include <stdio.h>
int main(void) {
setuid(0);
setgid(0);
execl("/bin/bash", "-bash", NULL);
return 0;
}
root@duddits: /home/daniel # gcc -o shell rs.c
root@duddits: /home/daniel # chmod 4755 shell
root@duddits: /home/daniel # exit
daniel@duddits: /home/daniel $ ./shell
root@duddits: /home/daniel # |
Eigentlich beides sehr simple Lösungen. Aber schon lustig das so ein simples Shell-Sript ein ganzes System zum einfrieren bringen kann.
mfg duddits |
|