sshd über Eingriff ins Root-FS starten, ohne laufenden crond

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

sshd über Eingriff ins Root-FS starten, ohne laufenden crond

Beitrag von tapferesschneiderlein » 11.06.2006 14:37:46

Hallo,

kann ich einen Rechner dazu bringen, einen SSH-Server zu starten, wenn ich nicht direkt dransitze, aber ihn per TCP/IP kontaktieren kann und auch vollen Zugriff auf sein Root-Filesystem habe?

Der Weg, ihm ein cron-Skript unterzujubeln fällt weg, weil auch kein crond läuft.

Jemand eine Idee?

ThoWaBu
Beiträge: 449
Registriert: 16.01.2003 12:48:51
Wohnort: Butzbach
Kontaktdaten:

Beitrag von ThoWaBu » 11.06.2006 14:55:03

Ich wuerde einen entsprechenden eintrag in inetd bzw. xinetd machen...

INetD lauscht nun auf einen bestimmten port.
Trifft ort ein Packet ein wird das entsprechende Programm gestartet -- der sshd.
(Du musst ja nicht port 22 nehmen...)

Wer braucht denn fr was so einen "Trojaner" ?

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 11.06.2006 21:28:44

Ah, gute Idee. Probier' ich mal.

> Wer braucht denn fr was so einen "Trojaner" ?

Ich habe einen entfernten Rechner mit Ubuntu laufen, muß da drauf und hab nicht beachtet, daß dort per default kein SSH-Server installiert ist ... :roll:

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 11.06.2006 21:43:53

Code: Alles auswählen

# find -name "*inet*"
/usr/share/doc/libgnomevfs2-common/html/gnome-vfs-20-gnome-vfs-inet-connection.html
/usr/share/man/man8/update-inetd.8.gz
/usr/sbin/update-inetd
/etc/X11/xkb/symbols/inet
/lib/modules/2.6.15-23-386/kernel/drivers/usb/serial/omninet.ko
Mmh, da gibt's wohl nix zum Bearbeiten ... Andere Idee?

nil
Beiträge: 989
Registriert: 08.06.2005 13:28:36

Beitrag von nil » 11.06.2006 22:22:46

Ich habe einen entfernten Rechner mit Ubuntu laufen, muß da drauf und hab nicht beachtet, daß dort per default kein SSH-Server installiert ist ...
Wäre ja vielleicht ganz gut, wenn du fernwarten willst, dass du auch eine entsprechende Fernwartungssoftware wie z.B. SSH installiert hast, oder?

Obwohl ich Ubuntu nicht nutze, sollte man das sehr leicht nachinstallieren können.

Schaue, dass es korrekt installiert ist (/etc/ssh/sshd_config), auch sollte es beim Bootem im richtigen Runlevel mit gestartet werden.
Ich glaube nicht, dass man heutzutage sshd über inetd oder so startet. Inetd ist in meinen Augen nur für unsichere Dienste, die man sowieso nicht braucht, also schnell weg damit.

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 11.06.2006 23:23:34

Ja, darum geht's doch: Ich will ja sshd drauf installieren und dann darüber zugreifen, nur bin ich gerade 150 km weg von der Kiste, kann aber OpenSSH per chroot installieren ... ich muß es nur noch starten (wie gesagt, eine manipulierte /etc/crontab wäre toll gewesen) ...

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 11.06.2006 23:31:47

tapferesschneiderlein hat geschrieben:nur bin ich gerade 150 km weg von der Kiste, kann aber OpenSSH per chroot installieren.
kannst du das mal in anderen worten beschreiben?
wie hast du zugriff?

herrchen

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 11.06.2006 23:53:10

Ok, ist vielleicht ein bißchen verwirrend: Die Kiste, auf die ich zugreifen will, hat ihr gesamtes Root-FS / per NFS von einem Server gemountet, auf den ich Zugriff habe. Wenn ich auf dem Server ein "chroot /root-verzeichnis/der/ubuntu/kiste" mache, kann ich dort via apt so Sachen wie OpenSSH installieren. Starten geht aber nur von der Ubuntu-Kiste selbst ...

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 12.06.2006 01:03:03

Ich glaube "updatedb" wird auch bei Ubuntu regelmäßig ausgeführt. Verschiebe das Script vorübergehend nach "updatedb.backup" und erstelle ein Script mit dem Namen, das "/etc/init.d/ssh start" ausführt. Dann mußt du nur warten bis cron ein update starten soll und kannst dich über ssh einloggen. Wenn es lokale Nutzer gibt, die sich einloggen, so kannst du auch die "/etc/bashrc" oder "~/.bashrc" entsprechend anpassen. die Crondatei dirckt zu editieren bringst nichts, da cron sie für sich immer im Speicher hält und es ihm mitgeteilt werden muß, daß sie neu geladen werden soll.
Aber ich weiß nicht, welche Cronjobs normalerweise bei Ubuntu laufen. Das austauschen der auszuführenden Programme dürfte der einzige Weg sein.

Edit: hatte überlesen, daß kein cron läuft.

Welche TCP/IP ports stehen dir denn zur verfügung? Evenzuell kann man da ein "/etc/init.d/ssh start" unterjubeln.
Zuletzt geändert von ToPeG am 12.06.2006 01:17:38, insgesamt 1-mal geändert.

ThoWaBu
Beiträge: 449
Registriert: 16.01.2003 12:48:51
Wohnort: Butzbach
Kontaktdaten:

Beitrag von ThoWaBu » 12.06.2006 01:08:22

Sorry, aber Du hast deine Frage unvollständig formuliert.

...dann chroote doch das FS und installiere einfach den SSHD.
Beim nächsten Reboot wird ssh mit gestartet.

----cut---
Du könntest unter /etc/cron.hourly
ein script einschleusen, welches den SSH oder Rechner neu startet.

Weiss nur nicht ob sich der Benutzer davor freuen wird ;)
-------------


Hatte vergessen, das Du kein Cron drauf hast.

tapferesschneiderlein
Beiträge: 189
Registriert: 11.08.2005 09:27:01

Beitrag von tapferesschneiderlein » 12.06.2006 03:42:14

ToPeG hat geschrieben:Wenn es lokale Nutzer gibt, die sich einloggen, so kannst du auch die "/etc/bashrc" oder "~/.bashrc" entsprechend anpassen
Gute Idee, gibt aber keine User ... :-(
Welche TCP/IP ports stehen dir denn zur verfügung? Evenzuell kann man da ein "/etc/init.d/ssh start" unterjubeln.
Mmh, mich trennt keine Firewall von der Kiste ... Wie meinstn das?
ThoWaBu hat geschrieben:...dann chroote doch das FS und installiere einfach den SSHD.
Beim nächsten Reboot wird ssh mit gestartet.

Installiert über chroot und apt habe ich den sshd schon. Nur gestartet bekomme ich ihn nicht. Es gibt dort keine Reboots ...

Wenn sich bei der TCP/IP-Geschichte nicht noch was ergibt, scheint's erstmal aussichtslos zu sein.

Gute Nacht.

yeti

Beitrag von yeti » 12.06.2006 04:04:32

Ist das FS mit noatime gemounted?
Falls nicht, könntest Du dank atime periodisch (von wem auch immer) aufgerufene Binaries lokalisieren...
...oder die gleiche Analyse auf einem ähnlich installierten System mit nicht abgeschalteter atime-Option des FSs machen.

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 12.06.2006 06:17:14

Allso das Problem ist ja ein Binary oder Script zu finden, welches immer wieder von anderen Prozessen auf dem entfernten Rechner aufgerufen wird.
Wenn wir nicht wissen, welche Programme auf dem Rechner laufen können wir auch nicht sagen, was dort immer wieder gestartet wird. Allso wichtig wäre folgendes:
Welche Programme Laufen auf dem Rechner?

Du könntest auch /bin/sh nach /bin/sh.origin verschieben und durch sowas wie erstezen:

Code: Alles auswählen

#!/usr/bin/bash
if[ `ps -C sshd -o "%P" --no-heading` == "" ]; then
 /etc/init.d/ssh start
fi
/bin/sh.origin $1 $2 $3 $4 $5 $6 $7 $8 $9 $10
Probier das aber besser vorher lokal mal aus...

Antworten