[Frage] Telnetd deaktivieren

sharbich

Neuer User
Mitglied seit
30 Aug 2012
Beiträge
180
Punkte für Reaktionen
2
Punkte
18
Hallo Ihr Lieben,

gibt es eine Möglichkeit telnetd so zu deaktivieren, dass der Dienst auch nicht mehr über die bekannten Telefon Codes (Kurzwahl) akiviert werden kann?

Über eine kleinen Tipp würd ich mich sehr freuen. Danke

Lieben Gruß von Stefan Harbich
 
Abend

Knifflig, weil der /usr/sbin/telnetd ein Softlink auf /bin/busybox ist.
...und natürlich readonly, nicht löschbar.

Vielleicht klappt das hier: CONFIG_NOTELNETD='n'
Mit nvi in die /var/flash/featovl.cfg aber so: CONFIG_NOTELNETD=y
Wenn, dann könnte das nach einen Neustart der Box wirken.
...mach aber unbedingt vorher ein Export deiner Fritz!Boxeinstellungen.
 
Zuletzt bearbeitet:
Könnte man nicht irgendwo im FTP-Verzeichnis (oder sonstwo wo das erhalten bleibt) das /bin/false-Programm ablegen (beendet sich sofort und gibt Fehler zurück) und es dann über die telnetd-Datei mounten, wie es auch gemacht wird, wenn man read-only-Konfigurationsdateien ändern will?

Oder geht das nicht, weil /usr/sbin/telnetd selber schon ein Link ist?
 
Moin

Genau, wegen dem Link wird die busybox übermountet.
...nicht, dass das nicht auch funktionieren würde.

Aber die unverhersagbaren Aktionen der Box, daraufhin? :confused:
...weil dann funktioniert ja auch kein grep, cat u.s.w. mehr
 
Zuletzt bearbeitet:
Ich habe da ohnehin ein Verständnisproblem ... man müßte ja bei jedem Start der Box entsprechende Vorkehrungen treffen und dann braucht es bei aktueller Firmware eine Modifikation, damit diese jedesmal neu aufgerufen werden. Wenn man das aber ohnehin schon macht (also die Firmware modifiziert), kann man ja auch gleich den Link in /usr/sbin weglassen, dann ist der Telnet-Daemon auch wirksam abgeschaltet.

Oder verstehe ich da die Intentionen des TE vollkommen falsch?
 
Ich denke es geht (letztendlich) um die fehlende Machtverteilung der Telefoncodes auf die angeschlossenen Telefone.
...damit "Gäste" oder Erziehungsbedürftige nicht das WLAN ein-, und auschalten oder die Box rebooten.
Auch zum Abschied die Werkseinstellung laden. :crazy:
 
Zuletzt bearbeitet:
Ich denke es geht um fehlende Machtverteilung
Ok, das könnte die Absicht (Ziel) sein ... aber die Vorgehensweise bzw. die notwendigen Modifikationen (das mit einer PIN o.ä. absichern kann nur AVM) bleiben ja offen und da sehe ich nur den Weg über das Ausführen irgendwelcher zusätzlichen Kommandos oder eben das Entfernen des Links. Beides erfordert eine Modifikation der Firmware und dann kann man auch gleich den Link entfernen, womit man sich keinen weiteren Kopf machen muß (egal ob um bind-Mounts oder was auch immer).

Ansonsten kann man halt noch das "telefon"-Binary von AVM patchen und damit die ganzen "unerwünschten" Telefoncodes deaktivieren. Aber das ist auch keine Lösung, die ein Firmware-Update überlebt. Die wirklich saubere Lösung - eben eine PIN - zur Verriegelung und eine Auswahl der Codes nach "privilegiert" oder "normal" (dann natürlich vom Besitzer zu konfigurieren, weil das z.B. beim WLAN ja jeder anders sehen könnte) kann eben nur AVM über Änderungen an "telefon" realisieren.
 
Ansonsten kann man halt noch das "telefon"-Binary von AVM patchen und damit die ganzen "unerwünschten" Telefoncodes deaktivieren.

Sowas geht? Ist denn irgendwo schon beschrieben, wie? Oder müsste man dann erst das Programm disassemblieren und untersuchen?
Passt zwar nicht mehr ganz zum Thema, aber das deaktivieren aller Telefoncodes könnte ich prima gebrauchen, um am Asterisk auch Nummern, die mit * beginnen, nutzen zu können ...

Aber nochmal zur Problemstellung des TE: Könnte man nicht das ganze Verzeichnis /usr/sbin/ auf den Stick kopieren und dann das ganze Verzeichnis mounten? Dann müsste man auf dem Stick den Link doch löschen können ...
 
Zuletzt bearbeitet:
Ob damit Dein Ziel, also die Weiterleitung solcher Codes an "vorgelagerte Telefonanlagen", machbar ist, würde ich nicht beschwören.

Ansonsten findet man die Tastencodes in String-Form im "telefon"-Binary und wenn man dort die Ziffern gegen Zeichen austauscht, die über die Telefontasten nicht eingegeben werden können, legt man zumindest die bekannten Codes damit tot. Ich habe das mal für die Abschaltung des CAPIoTCP-Dienstes an einem "telefon"-Binary durchexerziert ... aber ich behaupte mal kühn, daß das auch für andere Codes funktionieren sollte.

Aber das ändert dann ja nicht das Verhalten des Binaries an sich ... wenn Du Codes an Asterisk weiterleiten willst, mußt Du auch bei gepatchtem Binary sicherlich weiterhin auf "*#" als Präfix zurückgreifen, denn das dürfte für "telefon" die einzige "verständliche Ansage" sein, daß die Tasten nicht weiter lokal ausgewertet werden sollen.
 
Aber wenn sich da evtl. auch der String "*#" findet und einfach nur geprüft wird, ob die gewählte Nummer mit *# beginnt, könnte das funktionieren, wenn man "*#" durch "" ersetzt. Eine gewählte Nummer beginnt immer mit "", also wird immer alles weitergeleitet. Es sei denn, die Länge von "*#" steht da irgendwo hartkodiert als "2" drin - dann würden die ersten beiden gewählten Ziffern abgeschnitten werden.
 
Nee, in einer Binary darfst du nichts kürzen.
Es muss ersetzt werden, und zwar soviele Bytes wie da vorher standen.
Sonst ist die Binary kaputt.
 
Aber wenn sich da evtl. auch der String "*#" findet
Schon daran dürfte es scheitern ... wenn da nicht irgendwelches Voodoo mit String-Pointern stattfindet (also ein weiterer Pointer auf den partiellen Inhalt am Ende einer anderen Zeichenkette zeigt), gibt es die Kombination *# in 'telefon' nicht. Das hatte ich schon vorher geprüft ...

Und außerdem ist das schon ein gewaltiger Unterschied, ob ein Vergleich mit einer tatsächlich vorhandenen Zeichenkette verwendet wird, nachdem eine Spezialbehandlung "zugeschaltet" wurde oder ob da Dein geplanter Vergleich mit einer leeren Zeichenkette stattfinden soll.

Wenn das bis zu der Entscheidung, ob die Verarbeitung lokal erfolgen soll bzw. ob es sich überhaupt um "Steuercodes" handelt, als FSM (ein "endlicher Automat" mit genau definierten Zuständen, so würde zumindest ich es machen) angelegt ist, dann schaltet der Stern erst einmal in den "Erkennungsmodus", daß da überhaupt ein Steuercode folgt oder folgen könnte.

@koy:
Na gut, in C (und telefon ist ein C-Kompilat) ist das Überschreiben von "*#\0" mit "\0\0\0" auch eine leere Zeichenkette, damit ändert sich die Gesamtlänge der Datei nicht. Und Prüfsummen über den binären Inhalt werden in der Regel nicht verwendet ... das "binäre Patchen" funktioniert ganz gut auf einer FRITZ!Box, notfalls sogar mit bsdiff/bspatch, AVM macht(e) es (ob immer noch, weiß ich gar nicht) selbst so, wenn es um ADSL- vs. VDSL-Firmware für die Chipsets geht.
 
Zuletzt bearbeitet:
AVM macht(e) es (ob immer noch, weiß ich gar nicht) selbst so, wenn es um ADSL- vs. VDSL-Firmware für die Chipsets geht.

[OT]
Auf jeden Fall bei der 7390 und somit vermutlich auch bei der 7360 (und Ablegern) bzw. vermutlich allen neueren Boxen mit NOR anstatt NAND-Speicher. Bei den ganz neuen NAND-only Modellen (3370, 7362 SL, 7460 usw.) ist das vermutlich nicht mehr notwendig, ob man es da dennoch macht weiß ich nicht (ließe sich aber schnell nachprüfen wenn du oder ich Lust dazu hätten welche uns beiden aber wahrscheinlich gerade fehlt da aktuell eigentlich auch gerade völlig irrelevant).
[/OT]
 

Neueste Beiträge

Statistik des Forums

Themen
244,695
Beiträge
2,216,688
Mitglieder
371,314
Neuestes Mitglied
Gjorstn
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.