Kann ich auf diesem eingeschränkten System etwas installieren?

Kann ich auf diesem eingeschränkten System etwas installieren?

Mein Modem hat einen Telnet-Port und wenn ich mich an diesem Port anmelde, erhalte ich eine Root-Shell im Gerät. Die Befehle sind sehr begrenzt, aber es gibt freien Speicherplatz im Gerät. Kann ich so etwas wie nmap auf diesem Gerät installieren? Es gibt keinen Paketmanager und ich vermute, dieses System läuft bei Init 1.

# cat /proc/partitions 
major minor  #blocks  name

  31        0        128 mtdblock0
  31        1         64 mtdblock1
  31        2         64 mtdblock2
  31        3       1152 mtdblock3
  31        4       6784 mtdblock4
  31        5       8192 mtdblock5
# uname -a
Linux Air5453 2.6.30 #1 Wed Dec 3 18:43:00 EET 2014 mips GNU/Linux
# free
              total         used         free       shared      buffers
  Mem:        59456        35008        24448            0         4048
 Swap:            0            0            0
Total:        59456        35008        24448
# busybox 
BusyBox v1.14.1 (2014-12-03 18:47:37 EET) multi-call binary
Copyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: function [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use and BusyBox
        will act like whatever it was invoked as!

Currently defined functions:
        [, [[, arp, ash, basename, blkid, cat, chmod, cp, cut, date, depmod,
        dhcprelay, dmesg, dumpleases, echo, egrep, eject, false, fgrep,
        findfs, free, ftpd, fuser, getty, grep, halt, hostname, httpd,
        ifconfig, init, inotifyd, insmod, kill, killall, klogd, ln, login,
        ls, lsmod, lzmacat, makedevs, mdev, mkdir, mkdosfs, mkfs.vfat,
        modprobe, mount, mv, pidof, ping, poweroff, ps, pwd, reboot, rm,
        rmmod, route, sh, sleep, tar, telnetd, test, tftp, top, touch,
        traceroute, true, udhcpc, udhcpd, umount, uname, unlzma, uptime,
        vconfig, wget, which

Kann ich Dropbear auch auf diesem Gerät installieren?

# clear
-sh: clear: not found
# mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
ramfs on /var type ramfs (rw,relatime)
ramfs on /dev type ramfs (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
none on /proc/bus/usb type usbfs (rw,relatime)
# cat /proc/mounts 
rootfs / rootfs rw 0 0
/dev/root / squashfs ro,relatime 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
ramfs /var ramfs rw,relatime 0 0
ramfs /dev ramfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
none /proc/bus/usb usbfs rw,relatime 0 0

Antwort1

Aus der Ausgabe der Befehle geht hervor, dass alle schreibgeschützten Dateisysteme temporär sind und nicht durch nichtflüchtigen Speicher gesichert sind. /dev/rootist wahrscheinlich ein symbolischer Link zu einem der mtdblockXGeräte, die anderen Partitionen sind wahrscheinlich für den Bootloader und die Konfiguration. Obwohl dort möglicherweise etwas freier Speicherplatz vorhanden ist, wenn Sie es schreibgeschützt erneut mounten, nmapistmehrere Megabyte großbereits vorhanden, ganz zu schweigen von den Abhängigkeiten, und würde wahrscheinlich nicht auf Ihr Gerät passen, selbst wenn freier Speicherplatz vorhanden wäre.

Es sieht so aus, als ob Ihr Gerät USB-Unterstützung hat. Abhängig von Ihrer Definition von „installieren“ wäre eine Lösung, einen USB-Stick zu mounten, den Sie bereits mit den Binärdateien bestückt haben, die Sie ausführen möchten, oder sogar die verfügbaren zu verwenden, ftpdum dessen Inhalt remote zu ändern.

Der schwierige Teil ist die Beschaffung der Software, die auf Ihrem Gerät läuft. Sie benötigen eine Version, die für den MIPS-Prozessor Ihres Geräts kompiliert ist. Daher ist möglicherweise eine Cross-Compilierung oder das Suchen einer bereits für Ihr Gerät kompilierten Binärdatei (oder ein Gerät mit kompatiblem Prozessor, Kernel, libc usw.) erforderlich.

verwandte Informationen