Jeg tester nogle indlejrede enheder, og der mangler dokumentation. Når jeg telnet til enheden, får jeg kun begrænset shell.
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
Dette er begrænset shell, det er ikke klart, hvordan man kommer ind i hele shell?
Svar
- Den kommando, du har brug for, er
chsh
(skift shell) – dette er en del afshadow
ellershadow-utils
-pakke. -
Du kan også manuelt redigere
/etc/password
for at ændre shell fra/bin/ash
til noget andet:BUT => vær meget forsigtig med at den nye skal findes, ellers låser du dig selv ud !!!
Du bliver nødt til at være root
for at gøre et af ovenstående.
Svar
BusyBox er primært fokuseret på størrelsesoptimering og kommandoer kan være exc hyldet / inkluderet i kompileringstiden. Uden yderligere information synes det at være et meget begrænset sæt af installerede komponenter .
Det skal dog være klart, at dette betyder ikke, at enhedens firmware ikke understøtter specifikke hjælpeprogrammer i sig selv. Hvis dette ikke er helt klart, bør du se på Ofte stillede spørgsmål – Hvad er Busybox sektionen. Nogle citater bør gøre dette helt klart:
“Kan jeg aktivere FTP?” – “Vi ved ikke, om Foomatic-9000 firmware leveres med Busybox binær med aktiveret ftpd-applet. (Hvis du har adgang til shell-prompt, kan du prøve at køre “busybox ftpd –help”). Hvis det gør det, vil du sandsynligvis kunne aktivere det. Desværre ved vi ikke, hvordan Foomatic-9000 firmware administrerer start og stop af forskellige tjenester (hvis de allerede har ftpd-service, og det bare er deaktiveret), eller hvordan man opretter og aktiverer en ny tjeneste på Foomatic-9000 (hvis de dont). Prøv at google efter det. “
” Kan jeg aktivere SCP? ” – “Busybox-1.23.4 har ikke scp-applet. Foomatic-9000 kan dog have scp installeret (f.eks. Hvis de har dropbear installeret), og det kan være muligt at aktivere det. Hvis ikke, er det muligvis muligt at bygge og installer dit eget scp-værktøj. Prøv at google efter det. “
Du bør nok fokusere mere på den specifikke enhed og installerede firmware end at koncentrere dig om det begrænsede sæt komponenter, der er knyttet til Busybox selv.
Kommentarer
- ok, glemte cli-kommandoen.
Svar
Desværre for dig, i dag prøver de fleste indlejrede enheder (dvs. routere, iot-enheder osv.) at forhindre brugerne i at få adgang til det indre system, så de kan “t hack eller modificer det. Dette er en foranstaltning for at forhindre arbejdet med botnets som mirai, selvom beskyttelsen ikke altid er særlig effektiv.
En begrænset optageboksskal er et meget almindeligt scenario. Heldigvis taler vi i generelt, busybox kræver en underliggende shell, hvis der ” s enhver form for brugergrænseflade (som telnet eller ssh). Dette betyder, at det kan være muligt at omgå denne shell og køre kommandoer på den underliggende shell (dvs. / bin / sh er meget almindelig).
Inden du prøver at undslippe sandkassen til optaget kasse, skal du have følgende:
- Producenten har muligvis ændret optageboksskallen for at lappe denne teknik
- Den underliggende skal kan være en (hel eller delvis) uprivilegeret skal. Dette betyder, at selvom det lykkes dig at køre kommandoer på det, fungerer de muligvis ikke eller fortæller dig, at du ikke har nok rettigheder.
- Den underliggende shell kan også være en anden begrænset shell (ikke almindelig)
Når du er klar, kan du prøve følgende “tricks”: (Alt afhænger af shelloperatører)
Prøv ting som
echo "Hello World" & <your command>
Dette udfører din kommando, hvis:
- Den binære er tilgængelig (så grundlæggende hvis den er installeret i systemet)
- Skallen har adgang til den (privilegier)
Der er andre metoder som:
echo "Hello World" `your command` echo "Hello World" || <your command>
Og andre variationer du kan finde over internettet eller prøve selv.
REDIGERING: Jeg redigerer for at tilføje et eksempel på, hvordan du kan undslippe skallen og få yderligere udførelse.
echo "Hello World" & wget yourweb.com/yourbinary echo "Hello World" & chmod yourbinary echo "Hello World" & ./yourbinary
eller direkte ./din binær
Det er ideen. Hvad angår chmod undskyld, men jeg kan ikke huske de nøjagtige argumenter for at give eksekveringstilladelser.
EDIT2: Jeg har bemærket, at din shell siger aske, så sandsynligvis er optagelsesboksen blevet udført fra et (automatisk) script, der kører fra aske. I dette tilfælde vil du gerne køre kommandoer direkte på / bin / askeskallen.