この制限されたシステムに何かをインストールできますか?

この制限されたシステムに何かをインストールできますか?

私のモデムには Telnet ポートがあり、そのポートにログインするとデバイスにルート シェルができます。コマンドは非常に限られていますが、デバイスには空き領域があります。このデバイスに nmap のようなものをインストールできますか? パッケージ マネージャーはなく、このシステムは 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

このデバイスにdropbearもインストールできますか?

# 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

答え1

コマンドの出力から、読み書き可能でマウントされているすべてのファイルシステムは一時的なものであり、不揮発性メモリによってバックアップされていないことがわかります。 は/dev/rootおそらくデバイスの 1 つへのシンボリック リンクでありmtdblockX、他のパーティションはブートローダと構成用である可能性があります。 読み書き可能で再マウントすると、空き領域がいくらかある可能性がありますが、nmap数メガバイトの大きさ依存関係は言うまでもなく、すでにインストールされており、空き容量があったとしてもデバイスに収まらない可能性があります。

お使いのデバイスは USB をサポートしているようです。「インストール」の定義に応じて、実行したいバイナリがあらかじめ入力されている USB フラッシュ ドライブをマウントするか、または、利用可能なものを使用してftpdその内容をリモートで変更することが解決策になります。

難しいのは、デバイスで実行するソフトウェアを入手することです。デバイスの MIPS プロセッサ用にコンパイルされたビルドが必要なので、クロスコンパイルが必要になるか、デバイス (または互換性のあるプロセッサ、カーネル、libc などを備えたデバイス) 用に既にコンパイルされているバイナリを見つける必要がある場合があります。

関連情報