PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tty in perl setzen?



403
25-05-2007, 18:45
hallo,

ich probiere grade mit einer perl backdoor herum, die mir fuer Notfaelle, Ausfall von sshd, Passwort
bei Portknocking vergessen usw. eine Notfallshell gibt (diese liesse sich dann noch mit sudo absichern und auf wechselnde Ports legen)

Leider kann das aufgegriffene Perl Beispiel, welches sh, csh brav ausfuehrt keine Commands
absetzen. Die csh meckert darueber, das die Shell keine tty hat . Wie macht man das denn in
Perl?

Problem:
if(fork()){exec { '/bin/sh'} '-tcsh' . "\0" x4; exit(0);};

jan61
28-05-2007, 21:57
hallo,

ich probiere grade mit einer perl backdoor herum, die mir fuer Notfaelle, Ausfall von sshd, Passwort
bei Portknocking vergessen usw. eine Notfallshell gibt (diese liesse sich dann noch mit sudo absichern und auf wechselnde Ports legen)

Leider kann das aufgegriffene Perl Beispiel, welches sh, csh brav ausfuehrt keine Commands
absetzen. Die csh meckert darueber, das die Shell keine tty hat . Wie macht man das denn in
Perl?

Problem:
if(fork()){exec { '/bin/sh'} '-tcsh' . "\0" x4; exit(0);};

Wie wird denn das Perl-Script gestartet? Das Problem dürfte nicht perl sein, sondern der Umstand, dass ein über einen Dämon gestartetes Programm (egal ob Perl, bash, C, ...) schlicht und einfach kein TTY zugeordnet hat - der Parent hat nämlich auch keins. Ich habe mich mit dem Backdoor-Thema noch nicht so richtig befasst, aber Du musst IMHO die Kanäle stdout, stderr und stdin auf den IP-Port mappen, mit dem Du anklopfst. Dafür gibts in perl dann die üblichen Verdächtigen close und open.

HTH
Jan

403
28-05-2007, 22:40
http://packetstormsecurity.org/UNIX/penetration/rootkits/bd.pl

PS, indent war nicht grad deren Staerke ;)

jan61
28-05-2007, 23:51
http://packetstormsecurity.org/UNIX/penetration/rootkits/bd.pl

PS, indent war nicht grad deren Staerke ;)

*g* - jepp - aber da stehts:

open(STDIN,">&CLIENT");open(STDOUT,">&CLIENT");open(STDERR,">&CLIENT");


Jan