ssh/telnet: ausgesperrt

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

chrittig

Benutzer
Registriert
03. Dez. 2012
Beiträge
28
Reaktionspunkte
0
Punkte
0
Hallo zusammen!

Als ich eben meine rootshell auf der DS offen hatte, habe ich die bash aufgerufen und gesehen, dass es die gibt. also habe ich kurz die /etc/passwd geöffnet und für meinen root-user /bin/bash eingetragen.
Leider habe ich erst nach dem Logout festgestellt. das es /bin/bash nicht gibt.

ein link von /bin/ash nach bin/bash darf der admin user leider auch nicht erstellen.
der Adminuser darf die /etc/passwd leider nicht editieren. Rückgängig machen geht also leider nicht.

Ich habe die /etc/passwd in meine freigabe kopiert und dann versucht diese via scp passwd root@syno:/etc/passwd zurückzukopieren.
Geht leider nicht, weil dafür auch die bash aufgerufen werden muss.

sudo ist leider nicht installiert. (falls jemand das binärfile für sudo für eine ds212j hat, wäre ich dankbar)
su root -s /bin/ash funktioniert nicht. Angeblich falsches Passwort. aber da ist wohl eher die Fehlermeldung falsch.
su root -c vi /etc/passwd geht aus dem gleichen grund nicht.

ein mount -o bind /bin /volume1/irgendwas geht auch nicht, weil dem admin user die rechte fehlen.

Dann habe ich noch das Paket configfile editor installiert. Damit komme ich nicht an die /etc/passwd. Auch nicht wenn ich sie dort eintrage. ;-(

Ich habe noch ein Firmwareupdate offen, könnte das helfen?

So langsam gehen mir die Ideen aus, hat hier noch jemand was?

Gruß
Christian
 
Probier mal folgendes:
Log dich als admin ein, dann ein "su -s /bin/ash". Mit der -s-Option solltest du die (Default-)Shell von root überschreiben können.

Edit:
Seh grad, dass du das schon probiert hast. Mit /bin/sh auch schon probiert?

Gruß Benares
 
Zuletzt bearbeitet:
@Jo, da warte ich lieber noch auf weitere Ideen, wenn ich das richtig verstehe, sind da doch einige andere Verluste bei zu beklagen.
@benares das su -s /bin/ash gibt mir zurück "Passwort falsch" genau wie mein su root -s /bin/ash
 
Ich habs geschafft:

Unter /usr/local/etc/rc oder so lag noch mein eigener cups dämon, der ja beim Starten der Synology ausgeführt wird. Von der Einrichtung hatte der noch 777 als Rechte.
Also habe ich da das Skript erweitert mit cp /volume1/ablage/passwd nach /etc/passwd. Und siehe da, das hat funktioniert.

Gruß Christian

PS: Es lag unter /opt/etc/init.d/
 
/bin/sh habe ich nachträglich noch mal getestet, das tut es nicht..
 
Ja, hab ich grad auch probiert. Ich hatte das falsch in Erinnerung.
Der Trick funktioniert nur, wenn man von root zu einem User wechseln will, der z.B. /sbin/nologin als Shell hat.
 
ja, von root zu wem anders kannte ich das schon. Da habe ich die Option zum Debuggen schon öfter genutzt.

Ich war sehr froh, dass mein cupsdämon offensichtlich als root ausgeführt wird und nicht als cupsuser..
Habe jetzt den Link zu /bin/bash angelegt und für den admin user eingetragen...Mehr mache ich da auch nicht mehr ;-)
 
@topicstarter
wieso gibt bei dir überhaupt bash auf der DS? Hast du die mal per ipkg nach installiert?
Dann wärs wohl leider /opt/bin/bash gewesen. Ich fürchte da wirst du einen doppelten Reset machen müssen und die Firmware neu installieren. Mir wäre kein Weg bekannt wie du root werden könntest mit einer ungültigen Shell in der aktiven passwd. Zumindest nicht auf der DS direkt. Was du probieren könntest wäre an einem PC mit einem Linux die /-Partition zu mounten und dann die passwd anpassen und die Disk zurück in die DS. Allerdings wird das bei einem RAID recht mühsam
 
@jahlives: Er hat es doch schon gelöst - über ein Boot-Script, das auf 777 stand.
 
@jahlives!
Ja, die bash ist via ipkg nachinstalliert und wie oben erwähnt, ist das Problem gelöst:

ich habe mir eine korrigierte passwd in einen Ordner in /volume1/ gelegt. Und dann meinen s55cupsd editiert, dass der mir beim Aufruf stop die passwd nach /etc/passwd kopiert. Neustart des Systems und alles ist wieder gut ...
 
Da sieht man mal, wie sicherheitskritisch Bootscripts sind, die noch auf 777 stehen - aber manchmal hilft es auch ;-)
 
Ja sicherheitskritisch ist das sicherlich. Aber ich freue mich den ganzen Abend, dass ich die Idee dazu hatte..Und auch ein skript existierte, dass ich dafür verwenden konnte..
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat