ssh/telnet: ausgesperrt

Status
Für weitere Antworten geschlossen.

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
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
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.304
Punkte für Reaktionen
2.863
Punkte
423
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:

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
@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
 

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
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/
 

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
/bin/sh habe ich nachträglich noch mal getestet, das tut es nicht..
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.304
Punkte für Reaktionen
2.863
Punkte
423
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.
 

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
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 ;-)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@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
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.304
Punkte für Reaktionen
2.863
Punkte
423
@jahlives: Er hat es doch schon gelöst - über ein Boot-Script, das auf 777 stand.
 

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
@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 ...
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.304
Punkte für Reaktionen
2.863
Punkte
423
Da sieht man mal, wie sicherheitskritisch Bootscripts sind, die noch auf 777 stehen - aber manchmal hilft es auch ;-)
 

chrittig

Benutzer
Mitglied seit
03. Dez 2012
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
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