Obtive um shell em um dispositivo incorporado, um /bin/sh
shell, mas é extremamente limitado; Ele apenas me permite executar alguns comandos com argumentos específicos, como ifconfig
, ou iptables
, ou cat
(mas não cat whateverIwant
, apenas cat /proc/cpuusage
por exemplo), consegui ignorar esse shell e executar qualquer comando, ou algo assim; basicamente posso tentar executar qualquer comando (digamos, ping
por exemplo), mas sh
não teria direitos para fazê-lo.
Erros: Tentando gravar em um arquivo existente
/bin/sh: cannot create /bin/ping: Text file busy
Tentando executar o ping
/bin/sh: Access Denied.
Então o cenário é que eu posso executar apenas comandos inúteis muito específicos, e também fui capaz de escrever em arquivos e ler nomes de arquivos (não ler arquivos), observe que não posso escrever certos arquivos, ou seja, em binários sendo usado, mas posso escrever novos arquivos. A única ideia que tenho que me ajudaria a executar o código é usar algum tipo de método de "sequestro de dll", como é feito no Windows, mas não sei se isso é viável.
EDIT: Informações Adicionais -> O dispositivo possui 2 portas USB e possui serviço FTP. Eu me conecto usando telnet.
Responder1
Tente executar seu código em/tmp. Você pode obter seu código aqui, torná-lo executável e executá-lo.