Eu não tive tempo para investigar completamente como o netcat inicia um comando especificado usando a opção -e, no entanto, acredito que ele consegue isso se bifurcando, em seguida, define a saída de entrada padrão do processo forjado para o soquete conectado e, em seguida, executa o comando usando exec. Se este fosse o caso, não significaria que se eu iniciasse o cliente ftp usando um shell iniciado com nc -e / bin / sh, ele herdaria a entrada e saída padrão do shell que é atualmente a conexão do soquete tcp? Isso significaria que o ftp não deveria travar, não? Ou estou faltando alguma coisa?
EDITAR
O cliente FTP usado foi o netkit-ftp, enquanto o netcat usado era o netcat padrão instalado na Kali Rolling.